DUNE Hütten-Workshop 5.-7.11.2005 ============ 0) Sprüche "Wir promovieren ja nicht in UNIX." -- Robert 1) Schnittstelle fixieren und dokumentieren ------------------------------------------- - Utilityklassen für alle Gitter, Spezialisierungen ==> Klassen werden angelegt, Spezialisierungen für die Gitter können jeweils angelegt werden, Dokumentation in extra Modul. - Prozedure zur Schnittstellenerweiterung ==> Feature request Kategorie in Flyspray. Ist ja schon mal ein Anfang. Alle Leute sollen eine Meinung abgeben, auch wenn es weiss nicht ist. - Prozedere zum Versionswechsel ist trivial, da durch CVS vorgegeben (abbranchen, superwichtige bugfixes). - communicate & loadbalance ==> communicate.hh - periodische Ränder & BoundaryEntity ==> boundary.html geklärt und umgebaut, was nötig ist. - Weitere Namespaces einführen ? ==> schön, aber nicht jetzt - Minimalset an Funktionalität, die jedes Gitter bieten muss. ==> ergibt sich aus den Paper Beispielen - AdaptionState und Parameter für mark/globalRefine ==> dokumentieren, mark Parameter steht zur Diskussion Parameter von mark() und Rückgabewert von state() (-> adaptationState()) sollen Klassen AdaptationState und AdaptationRule werden, in denen die Strategie beschrieben wird. Diese beiden Klassen können dann entsprechend einfach erweitert werden. AdaptationRule -> liste von Adaptionsarten - Schnittstelle um Makrogitter portabel einzulesen ==> AmiraMesh wäre OK, wenn gut verfügbar. Allerdings sollte sowas bei DUNE dabei sein ohne runterladen zu müssen. Ist unabdingbar für Version 1.0! 1b) Implementierungsdetails --------------------------- - Prozessorränder ==> keine extra methode ==> boundary.html erledigt mit boundary - Lebensdauer von IdSet/IndexSet, Copyconstructor private ==> Objekte werden vom Gitter mitgeändert, copy cons machen wir private damit niemand Objekte kopieren kann. - Copyconstructor/Assignment von Iteratoren<-> problem in ALUGrid ==> Scheint mit machbarem Aufwand möglich, jetzt hat ALUGrid in jedem Fall nicht die übliche Funktionalität eines Iterators. - ISTL: reserve ==> ist implementiert. Im Gegensatz zur STL kann mit reserve auch Speicher freigegeben werden: Falls die verlangte Kapazität kleiner als die momentane aber größer als die size ist, wird Speicher freigegeben. Mittels eines false als Parameter kann umkopieren verhindert werden. Parameter gibt es auch bei resize - ISTL: gleiche Namen beseitigen ==> andere Namen verwenden gemacht für IndexSet->ParallelIndexSet. Abstrakte Oberklasse Operator gelöscht, da momentan eh nur LinearOperator benutzt wird. - return type von positionInOwnersFather -> const ==> const referenz zurückgeben. Aber wir sollten eine generelle Strategie entwickeln! Und: Generelle Benutzungsregeln erlassen?. - Status der Methoden positionInOwnersFather etc. ==> Sind in Aberta und ALU implementiert (evtl nicht besonders effizient), Überlegen ob man das als default implementieren kann. - IdSet::subid() in IdSet::subId() ändern ! ==> Ja! ==> flyspray task schreiben, sobald eine Verletzung der Nameskonvention auffällt. Möglichst alle Fehler bis 1.0 entfernen. - jacobianInverse() : Transponierte !! ==> jacobianInverseTransposed() - Rekursionen bei Barton-Nackman erkennen und blockieren ==> ja versucht, aber nicht machbar in überschaubarer Zeit 1c) Buildsystem --------------- - autogen.sh soll nur noch generieren und nicht automatisch configure aufrufen. - Buildsystem von Applikationen sollte alle Abhängigkeiten von Dune erfahren. - Geht es die Abhängigkeiten einer Applikation bis in Dune hinein zu verfolgen und dann automatisch libdune neu bauen zu lassen? 2) Beispielanwendungen auf allen Gittern ---------------------------------------- Hierarchie von Testbeispielen * Tutorial (Heranführen von neuen Benutzern) * Testen * Dune-Paper - Euler-Gleichung, explizit, first order, lokal adaptiv a) Einheitswürfel b) forward facing step - Elliptisches Modelproblem, P1 FE, lokal adaptiv a) Einheitswürfel - Oliver's Beispiele? 3) Dokumentation ---------------- - Einstiegseite, "Informationszentrum" - Gitterschnittstelle ausführlich dokumentieren - Installation Anleitung => erledigt: installation-notes.html 4) Paper ------- 5) Version 1.0 -------------- 6) Lizenzfragen --------------- 7) Zukunft, wie geht es weiter ------------------------------