On Thu, Feb 9, 2012 at 4:56 PM, wang yunbo <[email protected]> wrote:
> Hi, > > 1. when I look at the 'data' file and checked some point which suppose to > be at the surface e.g (50, 25), (62, 71), the results are like 0.0 or 0.7 > (not 0.04 as expected). That's where I get confused. How can I reach my > expectation? > I don't think you can with the current implementation in FiPy. The calcDistanceFunction method is only first order accurate I believe and hence the difficulties calculating the curvature accurately. The applications in FiPy don't use higher derivatives so get away with first order accuracy. The curvature calculation is second order accurate, but the underlying calculation of the distance function is not. Hence the issues. Basically, FiPy as it stands is not accurate enough for this. > 2. The shape of my plot is quite wavy with many wiggles, not concentric > rings as expected. > I'm moving towards using lsmlib < http://ktchu.serendipityresearch.org/software/lsmlib/index.html>, which I believe has second order accuracy for the distance function calculation and is also way faster than FiPy. At the moment I have cython wrappers for calcDistanceFunction2d, calcEikonalEquation2d and calcExtensionFields2d, which seem to work though I haven't tested extensively. My hope is to replace all the level set functionality in FiPy with the cython lsmlib calls. I'm happy to share the cython wrappers with you if you wish. In short I recommend that you give lsmlib a shot and then use the my cython wrappers to integrate with python. Cheers. -- Daniel Wheeler
_______________________________________________ fipy mailing list [email protected] http://www.ctcms.nist.gov/fipy [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ]
