Tsunami Simulation: Difference between revisions

From Sccswiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(21 intermediate revisions by the same user not shown)
Line 1: Line 1:
Die Ausbreitung von Ozeanwellen nach Erdbeben oder vergleichbar großen Erschütterungen (sog. Tsunamis) kann man als zweidimensionales Transportproblem auf einem Diskretisierungsgitter modellieren. Eine Herausforderung stellt dabei dar, dass das Gitter entlang der Wellenfronten stark adaptiv verfeinert werden muss, wie man an dem folgenden, einfachen Beispiel (Ausbreitung einer Welle in einem Kanal) sieht:  
Die Ausbreitung von Ozeanwellen nach Erdbeben oder vergleichbar großen Erschütterungen (sog. Tsunamis) kann man als zweidimensionales Transportproblem auf einem Diskretisierungsgitter modellieren. Eine Herausforderung stellt dabei dar, dass das Gitter entlang der Wellenfronten stark adaptiv verfeinert werden muss, wie man an dem folgenden, "einfachen" Beispiel sieht:  
[[image:tsunami_channel.gif]]
[[File:Output_wireframe_clusters.gif]]
 
 
<!--
 
'''Website with Sierpi Framework + Videos: [http://www5.in.tum.de/sierpi/ Sierpi]'''
 
-->


Zur effizienten Speicherung und Verarbeitung solcher adaptiver Gitter soll
der im folgenden Beschriebene Ansatz untersucht werden. Effiziente Speicherung und


=== Verarbeitung adaptiver Dreiecks- und Tetraedergitter mit Hilfe raumfüllender Kurven ===
=== Verarbeitung adaptiver Dreiecks- und Tetraedergitter mit Hilfe raumfüllender Kurven ===
Line 17: Line 22:
[[image:gridgen.png]]
[[image:gridgen.png]]


=== Zu vergebende Themen: ===
 
=== Available topics (Simulation): ===


* Weiterentwicklung/Parallelisierung des 2D-Codes (ab sofort): Einbau blockstrukturierter Gitter, Untersuchung und Steigerung der (parallelen) Performance an einem einfachen Ausbreitungsmodell für Tsunamis. [[Michael Bader]]
* Weiterentwicklung/Parallelisierung des 2D-Codes (ab sofort): Einbau blockstrukturierter Gitter, Untersuchung und Steigerung der (parallelen) Performance an einem einfachen Ausbreitungsmodell für Tsunamis. [[Michael Bader]]
* Diskretisierung und Implementierung der vollen Flachwassergleichungen (inkl. Coriolis-Kraefte, etc.) mit Hilfe des Discontinuous-Galerkin-Verfahrens auf komplizierten Gebieten (ab sofort) [[Michael Bader]]
 
* Entwicklung von Code-Generatoren fuer die Erzeugung flexibler und optimierter Traversierungscodes [[Martin Schreiber]]
<!--
* MPI Parallelization of full-adaptive grids using splitting methods: Several problems have to be solved with the currently existing version of the C++ based [http://www5.in.tum.de/sierpi Sierpi Framework] to maintain a novel approach for MPI parallelization. [[Martin Schreiber]]
* Diskretisierung und Implementierung der vollen Flachwassergleichungen (inkl. Coriolis-Kraefte, etc.) mit Hilfe des Discontinuous-Galerkin-Verfahrens auf komplizierten Gebieten [[Michael Bader]], [[Martin Schreiber]]
* Development of an automatic kernel generator for higher order Discontinuous-Galerkin-methods: Setting up kernels is quite time consuming as well as error prone, especially for higher order basis functions. To reduce both factors, setting up the kernel functions automatically is desirable and should be achieved in this topic. [[Martin Schreiber]]
 
 
=== Available topics (Using GPU for acceleration): ===
* Using GPUs to enhance computation time as well as energy efficiency is currently used in many areas of scientific computing. However for full-adaptive grids several problems have to be solved in order to use GPUs as an accelerator for Tsunami Simulations. [[Martin Schreiber]], [[Dipl.-Inf. Christoph Riesinger]]
 
 
=== Available topics (General Optimization): ===
* Optimization of numerical kernels: Since C++ has several restrictions about automatic code optimization, kernels usually have to be hand-optimized to reach the maximum performance. This optimization can be achieved by implementing element-wise operations and edge based operations by using SIMD instructions. [[Martin Schreiber]]
* Regular pattern detection: Running a simulation on full-adaptive grids forces a detection of regular patterns to improve SIMD instruction usage and to decrease pipeline stalls. Your work would be the detection and processing of such regular structures to speed-up algorithms for a Tsunami Simulation. [[Martin Schreiber]]
 
 
=== Available topics (Interactivity/Visualization): ===
* Vertex based parallelization [[Martin Schreiber]]
* Visualization of Triangle based Sierpinski curves (Water with refractions/reflections, environment, HDR, ...) [[Martin Schreiber]]
* Visualization of Triangle based Sierpinski curves (Water with refractions/reflections, environment, HDR, ...) [[Martin Schreiber]]
* Interactive Steering of 2D-Fluid Simulations (OpenGL, Kinect/Wii, ...) [[Martin Schreiber]]
* Parallelization of the visualization of full-adaptive grids on the [http://www.mac.tum.de/wiki/index.php/FRAVE FRAVE] [[Martin Schreiber]], [[Daniel Butnaru, M.Sc.|Daniel Butnaru]], [[Atanas Atanasov]]
* Improving the accuracy of Shallow Water equations (Implementing Ground frictions, borders, ...) [[Martin Schreiber]]
* Speeding up the Visualization of adaptive Grids: Several techniques can be used to achieve an improvement of the visualization by applying Level-Of-Detail features to adaptive Grids. [[Martin Schreiber]]
* ... uvm. [[Michael Bader]] [[Martin Schreiber]]
* Interactive Steering of 2D-Fluid Simulations (Kinect, Wii Remote, ...) - e. g. using the [http://www.mac.tum.de/wiki/index.php/FRAVE FRAVE] [[Martin Schreiber]], [[Daniel Butnaru, M.Sc.|Daniel Butnaru]], [[Atanas Atanasov]]
 
 
 
=== Available topics (Benchmarks): ===
* Validation of Tsunami Simulation is one of the crucial components for testing the accuracy of the simulation. Your task would be to implement further test scenarios and to evaluate several parameters which are beneficial for the accuracy of the simulation. [[Martin Schreiber]]
 
-->


=== Bereits bearbeitete Themen: ===
=== Finished topics: ===


* ''Traversierung adaptiver Dreiecksgitter im Gittergenerator amatos'' (Diplomarbeit, Stefanie Schraufstetter)
* ''Traversierung adaptiver Dreiecksgitter im Gittergenerator amatos'' (Diplomarbeit, Stefanie Schraufstetter)
Line 35: Line 64:
* ''Discontinuous-Galerkin-Verfahren zum Lösen der Flachwassergleichungen auf adaptiven Dreiecksgittern'' (Diplomarbeit, Christian Böck)
* ''Discontinuous-Galerkin-Verfahren zum Lösen der Flachwassergleichungen auf adaptiven Dreiecksgittern'' (Diplomarbeit, Christian Böck)
* ''Adaptive Discontinuous-Galerkin-Verfahren zum Lösen der Flachwassergleichungen mit verschiedenen Randbedingungen'' (Diplomarbeit, Johannes Schwaiger)
* ''Adaptive Discontinuous-Galerkin-Verfahren zum Lösen der Flachwassergleichungen mit verschiedenen Randbedingungen'' (Diplomarbeit, Johannes Schwaiger)
* ''[http://www5.in.tum.de/sierpi/ Optimization of Numerical Simulations for Regular Subpatches on Adaptive Meshes''] (Bachelorthesis, Florian Klein)

Latest revision as of 18:50, 12 December 2012

Die Ausbreitung von Ozeanwellen nach Erdbeben oder vergleichbar großen Erschütterungen (sog. Tsunamis) kann man als zweidimensionales Transportproblem auf einem Diskretisierungsgitter modellieren. Eine Herausforderung stellt dabei dar, dass das Gitter entlang der Wellenfronten stark adaptiv verfeinert werden muss, wie man an dem folgenden, "einfachen" Beispiel sieht: Error creating thumbnail: Unable to save thumbnail to destination



Verarbeitung adaptiver Dreiecks- und Tetraedergitter mit Hilfe raumfüllender Kurven

Error creating thumbnail: Unable to save thumbnail to destination

Dreiecks- und Tetraedergitter werden häufig und gerne zur Diskretisierung partieller Differentialgleichungen mit Finite-Elemente- oder auch Finite-Voumen-Methoden eingesetzt. Speichereffiziente Datenstrukturen sowie schnelle Algorithmen für das Arbeiten auf solchen Gittern, insbesondere wenn diese lokal verfeinert sein können, sind dabei eine wesentliche Voraussetzung für ihren Einsatz.

Werden adaptive Gitter über eine schrittweise Zerlegung von Ausgangselementen - Dreiecke in 2D, Tetraeder in 3D - erzeugt, so bieten sich im Prinzip Baumstrukturen als Datenstruktur an. Mit Hilfe von sogenannten Raumfüllenden Kurven (insbes. Sierpinski-Kurven) lassen sich diese mit Hilfe einer Depth-First-Lineariserung des Baumes im Speicher ablegen. Zur Speicherung der Gitterstruktur sind dann nur wenige Bits pro Zelle erforderlich.

Das Arbeiten mit und auf diesen adaptiven Gittern erfordert üblicherweise das Austauschen von Information zwischen benachbarten Zellen - die Nachbarschaftsbeziehungen sollen aber, um Speicherplatz zu sparen, gerade nicht gespeichert werden. Hier können bestimmte Eigenschaften der raumfüllenden Kurven eingestetz werden - über ein System von Hilfsstapeln.

Error creating thumbnail: Unable to save thumbnail to destination


Available topics (Simulation):

  • Weiterentwicklung/Parallelisierung des 2D-Codes (ab sofort): Einbau blockstrukturierter Gitter, Untersuchung und Steigerung der (parallelen) Performance an einem einfachen Ausbreitungsmodell für Tsunamis. Michael Bader


Finished topics:

  • Traversierung adaptiver Dreiecksgitter im Gittergenerator amatos (Diplomarbeit, Stefanie Schraufstetter)
  • Integration der speichereffizienten Datenstruktur in amatos (Masterarbeit, Csaba Vigh)
  • Speichereffiziente numerische Simulation auf adaptiven Tetraedergittern mit Hilfe von Sierpinski-Kurven (Diplomarbeit, Andreas Haug)
  • Numerische Simulation der Ausbreitung von Ozeanwellen auf dynamisch-adaptiven Gittern (Diplomarbeit, Christine Radzieowski)
  • Discontinuous-Galerkin-Verfahren zum Lösen der Flachwassergleichungen auf adaptiven Dreiecksgittern (Diplomarbeit, Christian Böck)
  • Adaptive Discontinuous-Galerkin-Verfahren zum Lösen der Flachwassergleichungen mit verschiedenen Randbedingungen (Diplomarbeit, Johannes Schwaiger)
  • Optimization of Numerical Simulations for Regular Subpatches on Adaptive Meshes (Bachelorthesis, Florian Klein)