[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