On Fri, Dec 7, 2012 at 12:12 PM, Yunbo Wang <[email protected]> wrote:
> Hi there, > > I want to conduct a simple calculation for a circular structure at > equilibrium by using level set method with lsmlib. The circular structure > is shrinking at a normal velocity of Constant1*(1+kappa), where kappa is > the curvature (1/radius), against a resistance, Constant2 > > > v_n = C3*(Constant2 - Constant1*(1+kappa)) > > Constant1 and Constant2 are selected to ensure the whole structure is > under equilibrium analytically. > > Since it's a circular structure with a uniform radius, the curvature > should be isotropic and the structure should always keep the circular shape. > > Please run the test scripts anisotropy_test1.py. From the results, it can > be seen some parts of the structure is shrinking and other are growing as > shown in the plot attached. This indicate an anisotropy behavior in > curvature calculation, which is done by phi.faceGrad.divergence. > > Hi Yunbo, I would imagine that you need higher order accuracy for the curvature field in this case. Of course, your results will always reflect this order of accuracy. Here are a few thoughts: * "phi.faceGrad.divergence" isn't actually the curvature as you probably know. Maybe it is worth calculating the full expression. * How close to a distance function is phi after some iterations? How frequently does the field need to be renormalized? * LSMLIB has some higher order curvature calculations. Maybe use those. * Also implement your own curvature calculation, by mapping the grid to a 2D numpy array and calculate has higher order as you need. This is definitely worth doing to make sure that the inaccuracies that you are seeing are down to the order of the curvature calculation as opposed to the advection, time stepping, re-normalization frequency or distance function accuracy. It is always good to be sure. > > I re-ran the same simulation with a higher mesh resolution as shown in > anisotropy_test2.py. However, similar results were observed. > Can you plot the L2 Norm of your solution against the analytical for different grid densities? This is the first place to start. Make sure you at least have first order accuracy. If you don't have first order accuracy, then it could be another problem other than the curvature. > > > My question is how this anisotropy effect can be eliminated? As I am > studying the effect of anisotropy at this moment, my results suffer from > this error anisotropy. > You can never completely eliminate it. If you only have first order accuracy right now, then getting second order will really help. Cheers -- Daniel Wheeler
_______________________________________________ fipy mailing list [email protected] http://www.ctcms.nist.gov/fipy [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ]
