[Dune] IndexSets (Vorschlag).
Robert Kloefkorn
robertk at mathematik.uni-freiburg.de
Tue Mar 8 11:06:43 CET 2005
Hallöchen zusammen,
ich habe mal ein Beispiel eines LevelIndexSets, welcher aus einem
Hierarchischen IndexSet generiert wird, in
grid/common/defaultindexset.hh eingecheckt.
Ein IndexSet hat im Momment drei Methoden,
-- index ( const Entity & ) liefert den Index einer Entity.
-- subIndex<codim> ( const Entity<0> & , int i ) liefert index der i-ten
Entity mit entsprechender codim.
-- size (int level, int codim ) wie bisher die Grösse des IndexSets.
-- eine Methode setup oder update oder so was fehlt noch.
Auf AlbertaGrid habe ich den HierarchicIndexSet implementiert, welcher
den bisherigen globalIndex liefert. Damit kann unter Verwendung des
DefaultLevelIndexSet ganz leicht ein LevelIndex für das AlbertaGrid
gerneriert werden. AlbertaGrid unterstützt also diese beiden IndexSets
nun. Ein weiterer Vorteil ist, das der LevelIndex nun nur generiert
wird, wenn er über das Gitter mit der Zugriffsmethode levelIndexSet()
auch angefortdert wird.
ein Index Abfrage sieht dann also so aus:
const Grid::LevelIndexSet & indexSet = grid.levelIndexSet();
int index = indexSet.index( *it ); // wobei it eine Iterator ist.
Oder so ähnlich.
Grüssle
R
--
Robert Klöfkorn <robertk at mathematik.uni-freiburg.de>
Mathematisches Institut Tel: +49 (0) 761 203 5631
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