[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