[Dune] Non-unique coordinate mappings of Codim(1) entities?

Christian Waluga waluga at aices.rwth-aachen.de
Mon Jun 14 16:53:55 CEST 2010


Hi Jö,

Thanks for your answer!

Am 14.06.2010 um 16:06 schrieb Jö Fahlke:
> OK, with hanging nodes like this
> 
>            v
>  +---------+----+----+
>  |         |    |    |
>  |  is->   |    |    |
>  |outside()+----+----+
>  |         |<=  |    |
>  |         |    |    |
>  +---------+----+----+
>            ^
> 
> lets say *is is the intersection marked by the arrow, is->inside() is the
> small element with the arrow inside and is->outside() is the big element.  You
> have xq, which is a coordinate local to *is.  You then go and aquire the codim
> 1 subentity of the big element where the intersection *is is on.  That
> subentity is the big one between the "v" and the "^"; in particular it is
> bigger then the intersection *is itself.  If you then interpret xq as local to
> that subentity it (although it is only local to *is) the result will be
> rubbish.
In the case you described, there would be outside.level < inside.level, thus in my code from the last post, 'flip' would be false and my coordinate mapping would just evaluate as " is->geometryInInside().global(xq);". But my workaround in case flip==true doesn't work in the hanging node case, so there must be something wrong there.

> What you probably want is
> 
>  xinside = is->geometryInOutside().global(xq);
If I understand correctly, this gives me the coordinate from the intersection (which has the wrong orientation) in local 'outside-coordinates', right? If yes, then this is not exactly what I want.
The problem that I have is, that I have discontinuous polynomials on each element, that couple via functions on the intersections, which are defined by intersection DOFs. However, the geometries of the intersections seem to have a different orientation on the inside and outside element. When I assemble for a single element, I iterate over the intersections and I always need unique 'inside-coordinates' to compute integrals like "(U-u, V-v)_F" over an intersection F. Here U and V live on the element and u and v live on the intersections with other elements, so for mixed integrals the orientation is crucial. As I understood Andreas' suggestions, earlier in this thread, I have to always aquire get the smaller codim 1 entity and try to map the coordinates to my inside element. But everything I tried till now did not seem to work as expected in the hanging node case.

Best, Christian





More information about the Dune mailing list