Sprachen

DeViSoR - WS 2002/2003, SS 2003

Thema: 
DeViSoR - Entwurf und Implementierung einer graphisch-interaktiven Steuerungs- und Visualisierungsumgebung für numerische Simulationssysteme
Zeitraum: 
WS 2002/2003, SS 2003
Umfang: 
8 SWS pro Semester
Veranstalter: 

Dipl.-Inform. Jörg Ayasse, Informatik VII (Graphische Systeme),
OH16, R.116, Tel.:6134, E-Mail: ayasse@ls7.cs.uni-dortmund.de
Dipl.-Inform. Claus-Peter Alberts, Informatik VII (Graphische Systeme),
OH16, R.116, Tel.: 6134, E-Mail: alberts@ls7.cs.uni-dortmund.de
Dipl.-Inform. Christian Becker, Mathematik III
Vogelpothsweg 87, R 519, Tel.: 5934, E-Mail: hristian.Becker@mathematik.uni-dortmund.de

Thematik: 

Um Naturvorgänge verstehen zu können, gibt es zwei grundlegende Ansätze dies zu tun: das Experiment und die Simulation. Während man beim Experiment versucht, die Wirklichkeit in verkleinertem Maßstab vereinfacht nachzubilden, z.B. in einem Windkanal, und damit Erkenntnisse zu gewinnen, geht die Simulation von einem abstrakten Ansatz aus. Man versucht, aus Naturvorgängen eine mathematische Beschreibung zu gewinnen, das sogenannte Modell. Dieses Modell kann z.B. aus einer Reihe von Differentialgleichungen bestehen, so beschreiben die sogenannten Navier-Stokes-Gleichungen Strömungsvorgänge. Um nun aus dem Modell Vorhersagen für die Wirklichkeit ableiten zu können, ist es notwendig, das mathematische Modellproblem zu lösen. Während es möglich ist, für einfache Probleme die Lösung noch geschlossen, d.h. exakt, zu bestimmen, ist dies für komplexe realistische Probleme nicht mehr möglich. In diesem Fall werden Verfahren der numerischen Simulation eingesetzt. Dabei wird die Lösung nicht exakt ermittelt, sondern man nähert sich der tatsächlichen Lösung in mehreren Schritten immer genauer an. Ein wesentlicher Ansatz der numerischen Simulation sind Finite-Elemente-Methoden (FEM, zur Einführung s. [1] Kap. 1-4).
Ein typischer Arbeitszyklus beim Einsatz eines numerischen Simulationssystems sieht folgendermaßen aus:

  1. Definition des Rechengebietes, über dem die Berechnung ausgeführt wird (Abb. 1a).
  2. Editierung diverser Konfigurationsdateien, um die Simulationsparameter festzulegen.
  3. Starten der Simulation.
  4. Kontrolle der Simulation und Abschätzung, ob die Simulation erfolgreich verläuft.
  5. Interpretation und Visualisierung der Ergebnisse (Abb. 1b).

Die genannten Schritte werden solange wiederholt, bis das Ergebnis zufriedenstellend ist oder der Anwender aufgibt.

Abbildung 1: Beispielgitter für eine zweidimensionale Fahrzeugkonfiguration, die das Fahrzeug und einen Ausschnitt des umgebenden Raums umfasst. Die Fahrzeugkontur ist unten links erkennbar.Abbildung 1: Beispielgitter für eine zweidimensionale Fahrzeugkonfiguration, die das Fahrzeug und einen Ausschnitt des umgebenden Raums umfasst. Die Fahrzeugkontur ist unten links erkennbar.

Abbildung 2: Visualisierung einer Fahrzeugumströmung, wie sie auf Grundlage der Konfiguration aus Abbildung 1 berechnet werden kann. Die Strömung ist per Shaded-Plot-Verfahren visualisiert. Erkennbar ist die Temperatur, je dunkler eine Stelle, desto wärmer ist sie. AmAbbildung 2: Visualisierung einer Fahrzeugumströmung, wie sie auf Grundlage der Konfiguration aus Abbildung 1 berechnet werden kann. Die Strömung ist per Shaded-Plot-Verfahren visualisiert. Erkennbar ist die Temperatur, je dunkler eine Stelle, desto wärmer ist sie. Am Anfang der Simulation ist nur die Fahrzeugkontur beheizt. Am Verlauf der Temperatur ist das Strömungsverhalten erkennbar.

Diese Trial- and Error-Suche kann zahlreiche Simulationsläufe mit unterschiedlichen Parametern zur Folge haben, die dementsprechend zeit- und kostenaufwendig sind. Hinzu kommt, daß der Datenaustausch zwischen den leistungsfähigen Software-Werkzeugen, die heute für die einzelnen Schritte zur Verfügung stehen, wie Gittereditoren für Schritt 1, Simulationsprogramme für Schritt 2, und Visualisierungssoftware für Schritt 4, häufig nicht eng gekoppelt ist, da diese Werkzeuge unterschiedlichen Ursprung haben. Ein weiteres Problem besteht darin, daß aufgrund der benötigten Rechenleistung unterschiedliche Rechner zum Einsatz kommen, beispielsweise große Parallelrechner für die Simulation und leistungsfähige Graphik-Workstations für die Visualisierung, deren Kommunikation häufig nicht transparent ist.
Die Aufgabe der Projektgruppe ist, im Rahmen einer konzipierten integrierten graphisch-interaktiven Visualisierungsumgebung namens DeViSoR ein online-Steuerungsmodul (DeViSoR Control) und ein online-Visualisierungsmodul (DeViSoR Vision) zu entwerfen und zu implementieren, mit denen die genannten Schwierigkeiten gemindert werden sollen. DeViSoR verfolgt dazu den Ansatz, daß abhängig vom Fortschritt des Berechnungsvorgangs in der laufenden Berechnung eine interaktive Parameteranpassung durchgeführt werden kann. Für diese sogenannte Online-Steuerung, die heute noch nicht weit verbreitet ist, ist es notwendig, den Benutzer in effizienter Weise laufend über den Zustand der Simulation zu informieren.
DeViSoR Control soll die Steuerung des gesamten Berechnungsvorgangs leisten. Neben dem Preprocessing (Schritt 1 im obigen Ablauf) und dem Postprocessing (Schritt 4) betrifft dies vor allem die online-Beobachtung und die online-Steuerung der laufenden Simulation. Durch online-Beeinflussung der Simulation mit möglichem Zurücksetzen der Rechnung kann die Anzahl der Durchläufe der Simulationsschritte reduziert werden. DeViSoR Control interagiert dabei über ein zu spezifizierendes Kommunikationsprotokoll mit den anderen DeViSoR-Modulen und dem eigentlichen Simulationsprogramm. Für die Interaktion mit dem Benutzer stellt es eine zu entwickelnde, erweiterbare, graphisch-interaktive Benutzungsschnittstelle (GUI) zur Verfügung.
Da für realistische Simulationen der Zugriff auf entfernte Supercomputer benötigt wird, ist zu berücksichtigen, daß das gesamte DeViSoR-Programmpaket verteilt arbeiten kann. So kann die Visualisierung und die Simulation auf unterschiedlichen Rechnern stattfinden. Das Kommunikationsprotokoll und die Kommunikationsschnittstelle soll so allgemein gehalten werden, daß praktisch beliebige Simulationstools angebunden werden können. Für die PG soll die Anbindung an die Tools FeatFlow [2] und FEAST [3,4,5] geschehen, die am Lehrstuhl Mathematik 3 eingesetzt werden.
DeViSoR Vision soll es ermöglichen, Berechnungszustand und Berechnungsergebnisse, die zunächst einmal aus einer häufig sehr großen Menge von Zahlen bestehen, zu visualisieren. Hierzu sollen eine Reihe von Verfahren berücksichtigt werden, die in der Wissenschaftlichen Visualisierung in den letzten Jahren Verbreitung gefunden haben [6,7,9,8]: Iso-Volumes, Cut-Surfaces, Shaded-Plots und andere. Für die online-Visualisierung ist die Kommunikation von DeViSoR Vision mit dem Simulationsprozess notwendig. Aufgrund der möglicherweise anfallenden großen Datenmengen könnten hier Aspekte der Datenkompression und adaptiven Visualisierung eine Rolle spielen, die eine Weiterentwicklung der genannten Visualisierungsverfahren notwendig macht. DeViSoR soll das interaktive Explorieren der Daten anhand der Visualisierung erlauben, wozu eine erweiterbare, intuitive, graphische Benutzungsschnittstelle angeboten werden soll. Zur Dokumentation von Berechnungen und Ergebnissen soll eine automatische Dokumentengenerierung in Form von Texten (z.B. pdf), Bildern (z.B. jpeg) und Animationen (z.B. mpeg) möglich sein.
Das System soll mit objektorientierten Software-Entwurfsmethoden entwickelt werden [10]. Dabei sollen entsprechende Software-Entwurfswerkzeuge eingesetzt werden, beispielsweise TOGETHER. Beim Entwurf beider Module ist auf Erweiterbarkeit zu achten. Die Implementierung soll in der Programmiersprache Java unter Berücksichtigung hilfreicher Java-Klassenbibliotheken erfolgen [11,12], um eine möglichst große Plattformunabhängigkeit zu gewährleisten. Die Implementierung ist in einer Linux/Unix-Umgebung vorgesehen.
Zur Bearbeitung der PG-Aufgabe genügt es, sich mit der Schnittstelle zur numerischen Simulation vertraut zu machen. Diese wird im wesentlichen von geometrischen Datenstrukturen geprägt, wie sie auch in der Computergraphik verwendet und in der Vorlesung ''Graphische Systeme'' vorgestellt werden. Eine Einarbeitung in die Verfahren der numerischen Simulation ist nicht erforderlich. Das Umfeld der PG bietet jedoch daran interessierten Teilnehmern auch diese Möglichkeit.
Die in dieser PG erstellten Programme und Dokumentationen sollen unter die GPL (GNU Public License) gestellt werden.

Minimalziele: 
  • Dokumentierter Systementwurf.
  • Dokumentierte Implementierung des Systems.
  • Demonstration der Funktionalität anhand einer vollständig durchgeführten Simulation.
Erweiterungen: 
Es könnten zusätzliche Visualisierungs- und Output-Plugins realisiert werden, die über die zu erreichende Grundfunktionalität hinausgehen. Auch die Stereodarstellung könnte eine nützliche und interessante Erweiterung darstellen.
Realisierung: 

Die Teilnehmer erhalten in der letzten Vorlesungswoche des SS 2002 Themen für die Seminarvorträge. Während der Projektarbeit wird großer Wert auf projektbegleitende Dokumentation gelegt.
 

Tabelle 1: WS 2002/2003

Woche

 
1 Kompaktseminar (Architektur von numerischen Simulationsumgebungen, Visualisierungsverfahren, objektorientierter Enwurf)
2-3 Praktisches Kennenlernen und Erproben von Simulations- und Visualisierungswerkzeugen, der Implementierungsumgebung unter Einschluss der verwendeten Software-Entwicklungswerkzeuge
4-11 Systementwurf, Spezifikation der Protokolle, Spezifikation der Benutzungsschnittstellen
12 Präsentation und Diskussion des Entwurfs
13-14 Durchführen von eventuell notwendigen Änderungen des Entwurfs und seiner schriftlichen Ausarbeitung.
15-16 Vorbereitung der Implementierung.
Tabelle 2: SS 2003
Woche  
1-7 Implementierung und Test der Teilsysteme
8-10 Integration der Einzelmodule in das Gesamtsystem. Erprobung des Systems anhand einer Beispielanwendung.
11-13 Erstellen des Abschlußberichtes
Ressourcen: 
Die Implementierung soll in Java 1.4, Java3D und Swing erfolgen. Als Entwicklungsrechner sollen Linux-PCs mit 3D-Grafikkarten bzw. Sun Workstations eingesetzt werden. Für die Dokumentation des Entwurfs und der Spezifikation soll das Werkzeug TogetherJ verwendet werden. Auf Wunsch können die Teilnehmer eine geeignete Java-Entwicklungsumgebung benutzen. Zur Koordination der erstellten Programme soll das Sourcenkontrollprogramm CVS eingesetzt werden.
Die aufgeführte Ausstattung wird von den beiden beteiligten Lehrstühlen zur Verfügung gestellt. Darüber hinaus sollen entsprechend ausgestattete Rechner in der PG-Pools des Fachbereichs Informatik, sofern verfügbar, genutzt werden.
Teilnahmevorraussetzungen: 
  • Eine der Stammvorlesungen Graphische Systeme, Rechnernetze und verteilte Systeme und Betriebssysteme. [V]
  • gute Kenntnisse in objektorientierter Modellierung, gute Java-Kenntnisse. [W]
  • Linux/Unix-Grundkenntnisse. [W]

Legende: [V] vorausgesetzt, [W] wünschenswert

Literatur: 

H.R. Schwarz: Methode der finiten Elemente, B.G. Teubner Verlag, 3.Auflage, 1991
VirtualAlbum, http://www.featflow.de/album/index.html.
Consequences of modern hardware design for numerical simulation and their realization in FEAST (Becker, Kilian, Turek), http://www.mathematik.uni-dortmund.de/paperlsiii1/beckerkilianturek1999.pdf
Experiences with the High Performance FEM package FEAST (Becker, Kilian, Turek), http://www.mathematik.uni-dortmund.de/preslsiii1/prbecker01.pdf
DeViSoR Grid, http://www.featflow.de/feast_hp/devisormain.html
H. Hagen, H. Müller, G.M. Nielson, Focus on Scientific Visualization, Springer-Verlag, Berlin, 1993
G.M. Nielson, H. Hagen, H. Müller, Scientific Visualization: Overviews, Methodologies, Techniques, IEEE Computer Society Press, Los Alamitos, 1997
Proc. IEEE Conferences on Visualization (Visualization 'XX). Eine Reihe von Tagungsbänden dieser jährlichen Konferenz befindet sich in der Bereichsbibliothek Informatik.
AVS center: Introduction to AVS, http://www.iavsc.org/training/express/index.html#introxp
H. Balzert, Lehrbuch der Software-Technik, Spektrum akad. Verlag, 2000
Java allgemein, http://java.sun.com/docs/books/tutorial

Rechtliche Hinweise: 
Die im Rahmen dieser PG erstellten Programme und Dokumentationen sollen unter die GPL (GNU Public License) gestellt werden.