[Dune] isi entscheidung?

Andreas Dedner dedner at mathematik.uni-freiburg.de
Thu Jun 1 14:39:15 CEST 2006



Oliver Sander wrote:
> Ich habe folgende Anmerkungen:
> 
> Die Methode hasBoundaryIntersection() halte ich für einen faulen
> Kompromiß.  Wofür würde man sie verwenden?  Doch wohl meistens, um einen
> Iterator über die Randsegmente zu bekommen.  Der wird durch diese
> Methode zwar schneller, aber man muß immer noch über alle Elemente.
> Da wäre es doch besser, gleich einen {Level|Leaf}RandIterator
> einzuführen, der dann z.B. bei uniformen Gittern nochmal deutlich
> schneller sein kann.

1) Wir brauchen dann also noch BoundaryLevelIntersectionIterator und
   BoundaryLeafIntersectionIterator?
   D.h. wir haben wir IntersectionIterator. Wobei die nicht Boundary...
   Teile trotzdem den Rand erfassen sollten.
2) Wir sollten auf jeden Fall eine DefaultImpl. anbieten - d.h.
   DefaultBoundaryLevelIntersectionIterator als Wrapper
   des LevelIntersectionIterators...
Wenn das so geht, ist mir das auch recht.

> 
> Zweiter Punkt:  Genau wie die IndexSets jetzt schon die zu ihnen
> gehörigen Level- bzw. Leaf-Iteratoren kennen und bereitstellen
> müssen sie das in Zukunft auch für die IntersectionIteratoren.

das hatten wir uns auch schon ueberlegt...

> Viele Grüße,
> Oliver
> 
> ************************************************************************
> * Oliver Sander                ** email: sander at mi.fu-berlin.de        *
> * Freie Universität Berlin     ** phone: + 49 (30) 838 75217           *
> * Institut für Mathematik II   ** URL  : page.mi.fu-berlin.de/~sander  *
> * Arnimallee 6                 ** -------------------------------------*
> * 14195 Berlin, Germany        ** Member of MATHEON (www.matheon.de)   *
> ************************************************************************
> 
> On Thu, 1 Jun 2006, Andreas Dedner wrote:
> 
>> Ist jetzt die folgende Aenderung im Entity Interface
>> Konsens (fuer 1.0)?
>>
>> IntersectionIterators:
>>
>>  IntersectionIterator ibegin () const DUNE_DEPRECATED
>>    {
>>      return realEntity.ibegin();
>>    }
>>  IntersectionIterator iend () const DUNE_DEPRECATED
>>    {
>>      return realEntity.iend();
>>    }
>>  LevelIntersectionIterator libegin () const
>>    {
>>      return realEntity.libegin();
>>    }
>>  LevelIntersectionIterator liend () const
>>    {
>>      return realEntity.liend();
>>    }
>>  LeafIntersectionIterator leafibegin () const
>>    {
>>      return realEntity.leafibegin();
>>    }
>>  LeafIntersectionIterator leafiend () const
>>    {
>>      return realEntity.leafiend();
>>    }
>>
>> Boundary Info
>>  bool hasBoundaryIntersection() const
>>    {
>>      return realEntity.hasBoundaryIntersection();
>>    }
>>
>> Etwa so was in class
>> EntityDefaultImplementation
>>
>>  bool hasBoundaryIntersection() const
>>    {
>>      bool ret = false;
>>      LevelIntersectionIterator end = liend();
>>      for (LevelIntersectionIterator iter = libegin();
>>           iter != end; ++iter) {
>>        if (iter.boundary()) {
>>          ret = true;
>>          break;
>>        }
>>      }
>>      return ret;
>>    }
>>
>> _______________________________________________
>> Dune mailing list
>> Dune at hal.iwr.uni-heidelberg.de
>> http://hal.iwr.uni-heidelberg.de/cgi-bin/mailman/listinfo/dune
>>
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Dune mailing list
> Dune at hal.iwr.uni-heidelberg.de
> http://hal.iwr.uni-heidelberg.de/cgi-bin/mailman/listinfo/dune




More information about the Dune mailing list