[Dune] Re: NewGeometryType --> GeometryType.

Christian Engwer christi at uni-hd.de
Fri Feb 3 12:09:49 CET 2006


On Fri, Feb 03, 2006 at 10:12:06AM +0100, Robert Kloefkorn wrote:
> Peter Bastian wrote:
> > Robert Kloefkorn schrieb:
> > 
> >>> 3) Sonderfälle bei dim=0 und dim=1 sollten schon im Konstruktor
> >>>  berücksichtigt werden und wir legen fest, 
> > dass intern alle
> > dim=0/dim=1 GeometryTypes vom Typ cube sind.
> > Also mathematisch fallen die Definitionen von Cube und Simplex für d=1
> > zusammen, also ist es sowohl asl auch :-)
> Und genau deswegen sollten wir das nicht festlegen.
> Letztlich würde mit der Festlegung ein Implementierungsdetail auf
> Schnittstellen Ebene hochgezogen werden. Das finde ich nicht gut.

Doch, wir sollten es festlegen.
Es würde wiefolgt funktionieren:

NewGeometryType(simplex,1) würde intern feststellen, dass wir ein 1D
Objekt anlegen und würde deshalb den Typ auf cube setzen. Von Aussen
würde sich bis hierher nichts ändern. Intern natürlich schon und das
ist auch genau der Vorteil, denn durch die Fallunterscheidung im
Konstruktor wissen wir, dass alle 1D NewGeometryType Objekte auch
intern gleich aussehen. Deswegen können wir jetzt den
Vergleichsoperator einfacher schreiben, was insbesondere bei den
Mappern sich positiv auf die Geschwindigkeit auswirken sollte, da wir
weniger Conditionals haben und uns dadurch seltener die Pipeline
zersemmeln.
 
> > Ein Vorteil wäre, dass dann die Quadarturformeln von Cube genommen
> > werden, die bis Ordnung 19 verfügbar sind. Hängt aber auch von der
> > Implementierung der Quadraturen ab. 
> Genau. Ich bin mir sicher, dass das auch ohne die interne Festlegung
> line == cube aber nicht simplex auskommt. Es soll ja vielmehr so sein,
> dass bei Anforderung Quadrature<simplex,1> (ord =17) man eben eine cube
> Quadrature mit ord = 17 bekommt.

Das stimmt, dafür ist es föllig unerheblich.

Tschüß Christian




More information about the Dune mailing list