On Fri, Jul 8, 2011 at 10:53 AM, Marc Saudreau <marc.saudr...@clermont.inra.fr> wrote: > Dear all, > > I'm trying to impose Bcs conditions on a 3D Gmsh mesh. I'm doing something > wrong since when I'm trying to solve my transient diffusion equation by > using sweeping, I can not reach convergence ... but I do not understand why > !!
Hi Marc, The diffusion term has correction terms for non-orthogonal meshes. Unfortunately, these don't always converge very well with highly skewed cells. Try turning them off (see below). > eqn = ImplicitDiffusionTerm(coeff=kmat) == > TransientTerm(coeff=rhomat*Cpmat) > print "... Equation to solve defined ..." Replace "ImplicitDiffusionTerm" with "DiffusionTermNoCorrection". On trunk this is in the "fipy.terms.diffusionTermNoCorrection" <http://matforge.org/fipy/browser/trunk/fipy/terms/diffusionTermNoCorrection.py> and in the latest release, it's in"fipy.terms.diffusionTerm" <http://matforge.org/fipy/browser/tags/version-2_1_2/fipy/terms/diffusionTerm.py>. I believe you need to import this directly (not auto-imported with "from fipy import *"). Hope this helps. Cheers -- Daniel Wheeler