[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