[Dune] 2D-in-3D non-affine quadrilaterals have incorrect volume

Martin Nolte nolte at mathematik.uni-freiburg.de
Fri Feb 4 18:26:46 CET 2011


Hi Jö,

this is actually a known issue with the generic implementation. As far as I
understand, the integral for the volume cannot be computed exactly but has to be
approximated. Currently, we use the midpoint rule for this purpose.

Of course, a higher order approximation would be very desirable. On the other
hand, no quadrature rule will be exact. So, in my opionion, the question really
is about the semantics of the method volume:
a) Should it deliver the volume up to some epsilon, using an expensive adaptive
quadrature rule, if required.
b) Should it simply deliver the volume, approximated by a first order quadrature?
c) Should we add an argument (or template argument) specifying the required
approximation order of the error?

In any case, this problem is related to the question of the correct quadrature
order for a transformed polynomial (in this case the constant 1) over such a
surface, i.e., what quadrature order to use for the integration element. Notice
that in the described case, no quadrature can integrate the integration element
exactly. If I remember correctly, this issue has been briefly discussed on the
Berlin developer meeting in February 2008. The result was, as far as I remember,
that this is a complicated problem and needs further investigation.

So, for the time being I suggest to simply note this as a known issue and
describe the exact behavior of the generic geometries (I think ALUGrid does the
same, though).

Notice further, that your example is really extreme (the distortion from the
plane is of the same size as the quadrilateral itself) and should not happen in
a "real world" grid. If the distortion is reasonably small, the approximation
should be ok for most purposes. The reason for my saying so is that you usually
also have some kind of integral to approximate and you currently cannot take the
distortion into account there, either.

Finally, it might be a good idea to put this problem into a FlySpray task, to
keep the discussion going.

I hope this gives some insight into the reasons for the current implementation.

Best,

Martin

On 02/04/2011 05:40 PM, Jö Fahlke wrote:
> Am Fri,  4. Feb 2011, 17:27:38 +0100 schrieb joe at dune-project.org:
>> Modified:
>>    trunk/dune/grid/genericgeometry/test/testbasicgeometry.cc
>> Log:
>> [testbasicgeometry.cc] Extend to test all GeometryTypes up and includeing
>> dim=3, in affine and non-affine versions.
> 
> The test now checks the volume of the basicgeometry-objects (as far as I have
> been able to calculate a reference value for the volume, i.e. feel free to
> supply values for the 3D non-affine geometries).  The volume check currently
> fails for non-affine quadrilaterals in a 3D space, yielding
> 
>   Volume: 1.22474, but 1.28079 was expected!
> 
> I am not 100% sure that I calculated the area correctly though; if someone
> else wants to have a go, the corners of the quadrilateral are (x,y,z):
> 
>   (0,0,0), (1,0,0), (0,1,0), (1,1,1)
> 
> Bye,
> Jö.
> 
> 
> 
> 
> _______________________________________________
> Dune mailing list
> Dune at dune-project.org
> http://lists.dune-project.org/mailman/listinfo/dune

-- 
Martin Nolte <nolte at mathematik.uni-freiburg.de>

Universität Freiburg                                   phone: +49-761-203-5642
Abteilung für angewandte Mathematik                    fax:   +49-761-203-5632
Hermann-Herder-Straße 10
79104 Freiburg, Germany




More information about the Dune mailing list