[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [ff3d-users] a question about improving accuracy in ff3d

From: Wei Huang
Subject: Re: [ff3d-users] a question about improving accuracy in ff3d
Date: Fri, 19 Jan 2007 11:09:30 -0500

Thank you Stephane! This does work!
I am curious on how to choose the right mesh size (for example, why use (9,9,5),(17,17,5),(33,33,5), not others?) I tried a few others such as (34,34,5), and saw relatively big deviation from the exact result.


--On Thursday, January 18, 2007 11:26 PM +0100 Stephane Del Pino <address@hidden> wrote:

Hello !

The problem you are facing is due to a bad approximation
of the diffusion  coefficient 'fk' due to your mesh
definition: you should have a mesh that  follows the
conductivity discontinuities.

In fact, if your geometry is always this, you can use
your strategy using a  structured mesh that fits the
vector n = (33,33,5);
vector a = (-0.01,-0.01,0);
vector b = (0.01,0.01,0.0005);
mesh M = structured(n,a,b);

solve(u) in M
    int(fk*grad(u)*grad(w))   =   int[M zmin](w*q); //
    u = 0 on M zmax;

if you change 'n' using (9,9,5),(17,17,5),(33,33,5) you
will notice the  convergence. These values represent the
number of *vertices* for each  direction.

If you *need* unstructured meshes, you must define a
better mesh and set  different references for elements of
each zone.

Then, in ff3d, you can use these references using the
'reference' instruction:        function fk =
reference(elements,M,ref1:f1[,ref2:f2[,...]]); for
instance if you want the conductivity to be 1E-3 for
element of reference  1 and g for elements of references
2, write:
        function fk = reference(elements, M, 1:1E-3, 2:g);
Beware that if you do not define the function of an
existing reference, fk  will be 0 on those elements...

Did you try to solve the problem with ANSYS using the
gmsh mesh?

Best regards,

ff3d-users mailing list

reply via email to

[Prev in Thread] Current Thread [Next in Thread]