[Dune] Adaption in Dune.
Robert Kloefkorn
robertk at mathematik.uni-freiburg.de
Tue Jun 22 14:53:23 CEST 2004
Hi Leutz,
hier ein paar Worte zum Adaptionskonzept in Dune:
Wie schon mal am Rande bemerkt, es gibt inder GitterSchnittstelle
folgende neue Methoden:
auf der Klasse Entity<codim=0>
- bool mark (int refCount) refCount =-1 oder 1 (z.B.)
markiert eine Entity zum vergröbern oder verfeinern.
return true if markiert
- AdaptionState state () return {NONE, COARSEN, REFINED }
NONE = nichts passiert, wird nicht vergröbert
COARSEN = könnte im Adaptionsschritt vergröbert werden.
REFINED = wurde im Adaptionsschritt verfeinert
auf der Klasse Grid:
- bool preAdapt() notwendige Vorbereitungen für das Gitter (kann auch
leer sein), gibt true zurück, wenn wenigstens ein Element zum vergröbern
markiert wurde. (Hier können auch die COARSEN Marker im Grid gesetzt
werden, wenn nötig)
- bool adapt () , adaptiert das Gitter nach der dem Gitter zugrunde
liegenden Adaptionsregel. Gibt true zurück, falls wenigstens ein Element
verfeinert wurde.
- void postAdapt() , gegebenenfalls löschen von Markierungen usw. (kann
auch leer sein )
Damit lässt sich nun ein Adaptions Operator formulieren (siehe
adaptoperator.cc ind duneapps/examples/transport)
der die Gitteradaption anstösst und die Restriction und Prolongation
koordiniert.
Die Markierung des Gitters muss natürlich während der Ausführung des
Lösungsalgorithmus stattfinden.
Das Ganze ist mit der Implementation der DiscreteFunction in dfadapt.hh
(dune/fem) einsetzbar.
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