[Dune] Re: Frage zum NeighborIterator.

Peter Bastian Peter.Bastian at iwr.uni-heidelberg.de
Tue Apr 8 15:09:08 CEST 2003


Robert Kloefkorn schrieb:
> 
> Hi Peter,
> 
> ich habe eine Frage zum NeighborIterator. Dieser enthält eine Methode
> unit_outer_normal. Das macht Sinn. Man iteriert also über Elemente und
> kann sich die Normalen der Flächen des Elements anschauen.
> 
> Den NeighborIterator gibt es aber nur auch Elementen. Was macht man
> also, wenn man über Flächen iteriert und sich da die äussere Normale
> anschauen möchte (FV Verfahren)? Mein Vorschlag wäre der folgende:
> 
> man baut auf der Elementklasse, für Flächen und Kanten, eine Methode
> outer_normal und unit_outer_normal ein. Dann kann man nämlich per
> intersection_self_... die Fläche erhalten, eine Instanz der
> Elementklasse und diese hat dann die Methode outer_normal.
> 
> Auf jeden Fall sollte die Möglichkeit geschaffen werden, auch beim
> iterieren über Flächen Normalen auszurechnen, denn sonst würde man für
> ein FV Verfahren ja wieder über Elemente laufen.
> 
Tja, eigentlich dachte ich tatsächlich bei FV-Verfahren über die
Elemente zu laufen
und von dort aus über die Nachbarn (Kodim 1), dann hat man alles. Dazu
ein
paar Bemerkungen:

1) Bei DG (höhere Ordnung) geht es nicht anders, da man die FE Funktion
nur auf Kodim 0, nicht aber auf Kodim 1 entities auswerten kann.
(Man integriert zwar über ein Objekt der KOdim 1, aber die FE Funktion
lebt
immer auf Kodim 0 Objekten, daher reicht meiner Ansicht nach das
Iterieren über
Kodim 0 Objekte für alle FE/FV-Verfahren aus).  Ausserdem
gibt es bei DG auch Integrale über ELemente (Kodim 0) und die erledigt
man in einer Schleife gleich mit. 

2) Will man eine (innere) Kodim 1 entity nur einmal bearbeiten, dann
frägt man einfach
nach dem Index des Nachbars (Element) und arbeitet nur dann, wenn
eigene id > Nachbarid

3) Bei nonmatching Grids liefert der NeighborIterator genau
den Durchschnitt zweier Elemente, das entspricht KEINER codim 1
entity, sondern man kriegt nur ein Element der Kodim 1. Das liese
sich also nicht mittels einer Iteration über Kodim 1 Entities machen.

4) Es war eben die Idee, nur die Schnittstelle für Kodim 0 und dim
etwas fetter zu machen und Kodim 1 ... dim-1 enthält im wesentlichen
nur den index und die Geometrie.

5) Der Normalenvektor macht auf beliebigen Element<dim,dimworld> nur
begrenzt
sinn, oder übersehe ich da was?

Was meinst Du?

-- Peter
------------------------------------------------------------------
Peter Bastian, IWR,Uni Heidelberg, INF 348,R 020, 69120 Heidelberg
email: Peter.Bastian at iwr.uni-heidelberg.de   Tel: +49 6221 54 4984
WWW: http://www.iwr.uni-heidelberg.de/~Peter.Bastian Fax: ... 8860




More information about the Dune mailing list