[CIG-MC] Exchanger: "Sink(warning) size of meshNode" or "elem interpolation functions are wrong"

Eh Tan tan2 at geodynamics.org
Fri Dec 4 13:43:31 PST 2009


Hi Robert,


Robert Moucha wrote:
>>> lib/Sink.cc:135:<unknown>
>>>       
>  -- Sink(warning)
>  -- size of meshNode (0) is less than numMeshNodes (1073)
> .......
>   

Hi Robert,

The warning message said that the esolver has 1073 nodes, but only 0
node is found to be within the domain of csolver. This is a bug. I
suspect that the Exchanger code cannot deal with negative phi
(longitude). I will try to fix it. In the mean time, can you put the
esolver to positive phi to avoid the bug?




> I get a different error message (this time a fatal one):
>
>  >> CitcomInterpolator.cc:433:<unknown>
>  -- CitcomS-CitcomInterpolator(firewall)
>  -- node #0 tshape = 1
>  -- 1.42058 1.421 0.250665 0.25 0.999 0.999  norm = 6.20531e-07
>  -- elem interpolation functions are wrong
>   

It seems the default accuracy for the interpolation routine is not
accurate enough. The target value of theta is 1.421, but the result is
1.42058. The error is 4e-4. The desired accuracy is sqrt(1e-10)==1e-5.

At line 204, module/Exchanger/CitcomInterpolator.cc, you can change it from:

            double accuracy = E->control.accuracy * E->control.accuracy
                * E->eco[mm][el+1].area;

to:

            double accuracy = E->control.accuracy * E->control.accuracy
                * E->eco[mm][el+1].area * 1e-4;

Note the additional factor of 1e-4. The error should go away after
recompile.



-- 
Eh Tan
Staff Scientist
Computational Infrastructure for Geodynamics
California Institute of Technology, 158-79
Pasadena, CA 91125
(626) 395-1693
http://www.geodynamics.org



More information about the CIG-MC mailing list