[Dune] LeafIterator / HirachicIterator

Robert Kloefkorn robertk at mathematik.uni-freiburg.de
Mon Nov 15 17:36:40 CET 2004


Christian Engwer wrote:
> Hallo,
> 
> durch die Tests ist aufgefallen, dass nicht alle Gitter einen
> LeafIterator haben.
> 
> Jetzt ist die Situtaion folgende:
> * der LeafIterator ist din GridDefault
> * leafbegin & leafend sind auskommentiert (in GridDefault)
> 
> Welche Iteratoren muessen jetzt vom Gitter bereitgestellt werden und
> welche sind optional? Ich dachte bisher, dass der LeafIterator default
> aus Hirachic und LevelIterator kombiniert wird?!
> 
> Oder muessen alle 3 Iteratoren implementiert werden?
> Dann sollte der LeafIterator aber aus default ins normale interface
> wandern.

Die eigentlich Idee ist folgende:

Die GitterImplementierer stellen Hierarchic und LevelIterator bereit.
Damit lässt und einer noch zu verbessernden Methode entity lässt sich 
jeder beliebige LeafIterator generieren. Das sollte auch so sein.
Falls sich für ein Gitter ein LeafIterator besonders schnell 
implementieren lässt sollte man ihn auch überladen können. Also ein 
klasssicher Default Fall. Es gibt allerdings ein Problem. Was macht der 
IntersectionIterator im Leaf Fall. Der muss nun plötzlich Nachbarn auf 
unterschiedlichen Leveln kennen, was vorher nicht der Fall war.
Hier wäre also bei den Gittern, bei denen so etwas möglich ist, 
sicherzustellen, dass der IntersectionIterator genau das macht, was 
zumindest im Falls von Albert und BSGrid der Fall ist.
Weiterhin sollte man den LeafIterator ausserhalb von GridDefault 
definieren und den LeafIteratorType als Type in die Traits aufnehmen. 
Bei Gittern wie SGrid usw. bietet es sich dann natürlich an den 
LeafIterator mit dem LevelIterator gleichzusetzen, da dort ja nichts 
gemacht wird.

Ich hatte die Methoden in GridDefault auskommentiert, damit keine 
komischen Fehler auftauchen.

Gruss

R

-- 

   Robert Klöfkorn           <robertk at mathematik.uni-freiburg.de>

   Mathematisches Institut              Tel: +49 (0) 761 203 5642
   Abt. für Angewandte Mathematik       Fax: +49 (0) 761 203 5632
   Universität Freiburg
   Hermann-Herder-Str. 10
   79104 Freiburg

   http://www.mathematik.uni-freiburg.de/IAM/homepages/robertk




More information about the Dune mailing list