[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