[Dune] parametrized AMR and cell divergence

Martin Nolte nolte at mathematik.uni-freiburg.de
Tue Feb 24 22:05:02 CET 2015


Hi Marco,

if I understand you correctly, you are "summing up" the normals on one element 
and require the "sum" to be zero. If you read "summing up" as integrating, this 
is, of course, true for any element as long as dimworld = dimgrid.

On the other hand, I gather you are "integrating" by taking the 
centerUnitOuterNormal of each intersection, multiplying it by the volume of the 
intersection geometry. As the intersection geometry (and hence its normal) is 
bilinear, this should give the correct result.

Unfortunately, there is a slight flaw in the implementation of the method 
"volume" in this case. The volume of the MultiLinearGeometry (which is used, 
here) is computed as the volume of the reference element (the unit square) 
multiplied by the integration element evaluated in the barycenter. If we were 
using the real barycenter of the "curved quadrilateral", this would still be 
true. For simplicity (and performance), however, we simple evaluate 
integrationElement( 0.5, 0.5 ) instead. In this case, the true volume would be 
an elliptic integral.

To find out whether this is the source of your problem, you can try a better 
approximation of the volume: Use a high order quadrature rule to integrate the 
constant function (i.e., sum up more integration elements with corresponding 
quadrature weights).

In case this is not the source of your problem, could you provide a small test 
program and file a bug report?

Best,

Martin

On 02/24/2015 06:17 PM, Marco Cisternino wrote:
> This is exactly what I mean, but I was talking about 3D.
> Anyway, from what you're saying I cannot understand the use of GeometryGrid.
> If I can move nodes using a deformation function and I can refine locally (in
> Dune style), the "moved" situation is quite common.
> Moreover, in this case I'd sum over the 5 intersections of the right element
> asking for normals and intersections length, what is the relevance of being a
> cube for the element? Intersections are "cube".
> I can agree if you speak about the volume of the right element.
> Who's Z?? You meant Y?
> Thanks,
>
> Marco
>
>
> --
> -----------------------------------------------
> Marco Cisternino, PhD
> Software Developer
> OPTIMAD Engineering s.r.l.
> Via Giacinto Collegno 18
> 10143 Torino - Italy
> www.optimad.it
> marco.cisternino at optimad.it
> +39 011 19719782
> -----------------------------------------------
>
> --------------------------------------------------------------------------------
> *Da: *"Andreas Dedner" <a.s.dedner at warwick.ac.uk>
> *A: *"Marco Cisternino" <marco.cisternino at optimad.it>
> *Cc: *dune at dune-project.org
> *Inviato: *Martedì, 24 febbraio 2015 18:00:30
> *Oggetto: *Re: [Dune] parametrized AMR and cell divergence
>
> So you have the following situation
>    Original                                           Moved
>     X-----------A----------------X X--------A------------------X
>     |              |                    | |           \                      |
>     |              |                    | |            \                     |
>     |------------Y                    | |-----------Y                   |
>     |              |                    | |            /                     |
>     |              |                    |                  |
> /                       |
>     X-----------B----------------X X-------B-------------------X
> Perhaps somebody else can add his thoughts but the right element after
> movement is not a cube any more so it still will have the straight edge
> between AB and your grid elements would not be non overlapping. That
> is not allowed in DUNE.
>
> The right element does have 5 intersections and I guess two of those could be
> between AZ and ZB... But the main problem is the non DUNE style grid.
>
> Andreas
>
> On 24/02/15 16:35, Marco Cisternino wrote:
>
>     Absolutely non conforming.
>     I know I have a hanging node, but I cannot understand what you say: why do
>     you talk about coarse and fine intersections??
>     If I move a hanging node I'm moving 4 intersections, isn't it? And my coarse
>     element has 9 intersections, right?
>     Through its intersections the coarse element knows about the hanging node or
>     not?
>     If not I cannot imagine the use of intersections.
>
>     Thanks again.
>     Marco
>
>     --------------------------------------------------------------------------------
>     *Da: *"Andreas Dedner" <a.s.dedner at warwick.ac.uk>
>     *A: *"Marco Cisternino" <marco.cisternino at optimad.it>, dune at dune-project.org
>     *Inviato: *Martedì, 24 febbraio 2015 16:55:38
>     *Oggetto: *Re: [Dune] parametrized AMR and cell divergence
>
>     Hi.
>     Conforming or non conforming? If non conforming you have a hanging
>     node and if you move coarse and fine intersections will not match (the
>     coarse grid element does not know about the hanging nor where it
>     is). Could that be your problem?
>     Best
>     Andreas
>
>
>     On 24/02/15 15:39, Marco Cisternino wrote:
>
>         Hi Andreas, thank you for your reply.
>         I'm using GeometryGrid and ALU together. I provide ALU with a
>         DiscreteDeformationFunction (my coarse element parametrization). Any
>         time a new point appears in the mesh after a refinement I move that
>         point using the DiscreteDeformationFunction.
>         The problem appears for local refinement. On the other hand, if I
>         globally refine the mesh I have no problem about the divergence of the
>         cells: it is zero everywhere.
>         However, if I refine only a bunch of cells, then the coarse ones,
>         sharing intersection with the fine ones, have non-zero divergence.
>         I'm doing all this using the following methods:
>         intersection centerOuterUnitNormal
>         and codimension 1 volume method (choosing the element face corresponding
>         to the intersection)
>         I hope it is clearer.
>         Thanks,
>
>         Marco
>
>
>         --------------------------------------------------------------------------------
>         *Da: *"Andreas Dedner" <a.s.dedner at warwick.ac.uk>
>         *A: *dune at dune-project.org
>         *Inviato: *Martedì, 24 febbraio 2015 12:14:33
>         *Oggetto: *Re: [Dune] parametrized AMR and cell divergence
>
>         I'm not quite sure I understand the question. Are you seeing problems
>         when refining the grid using ALU's standard globalRefine method or do
>         the problems
>         only appear when you use your local parametrization and after moving
>         nodes around
>         (I'm not quite clear how you do that with ALU....).
>         Andreas
>
>
>         On 24/02/15 11:00, Marco Cisternino wrote:
>
>             Good morning,
>             I would like to ask duners about deformed AMR.
>             I'm working with body fitted mesh and ALUGrid.
>
>             In order to refine my mesh I compute a local parametrization for
>             every coarse element, then I refine the mesh moving new nodes using
>             my parametrization.
>             Therefore I compute the cell divergence summing over the cell
>             intersection
>             normal . flux * area
>             where intersection normals and areas are computed by Dune methods
>             centerUnitNormal and volume(this for a face), while flux is (1,1,1)
>             everywhere.
>             I expect 0 over the entire mesh and this is true on the coarse grid,
>             but for a refined grid this is not true for coarse cells sharing
>             intersections with finer cells.
>             Does anyone see something like this? And is there a cure? Am I doing
>             something wrong?
>
>             Thanks for any hint.
>             Bests,
>
>             Marco
>
>
>
>             _______________________________________________
>             Dune mailing list
>             Dune at dune-project.org
>             http://lists.dune-project.org/mailman/listinfo/dune
>
>
>
>
>
>
>
>
>
> _______________________________________________
> Dune mailing list
> Dune at dune-project.org
> http://lists.dune-project.org/mailman/listinfo/dune
>

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

Universität Freiburg                                   phone: +49-761-203-5630
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