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 ]

Reply via email to