Seminar zur Rechnerprogrammentwicklung in der numerischen Strömungsmechanik
Aus Numerik
Inhaltsverzeichnis |
Inhalt
Im Rahmen dieser Lehrveranstaltung wird von den Studierenden ein unstrukturiertes Finite-Volumen-Verfahren zur Lösung der kompressiblen Eulergleichungen in 2D programmiert.
Die Inhalte, die vermittelt und umgesetzt werden, sind:
- Grundprinzipien von Finite-Volumen-Verfahren
- Grundlagen der Generierung von unstrukturierten Gittern
- Grundlagen der Visualisierung
- Flussberechnung auf unstrukturierten Gittern
- Riemannlöser für die Eulergleichungen
- Rekonstruktion und Limitierung auf unstrukturierten Gittern
- Zeitdiskretisierung
Im Rahmen der Lehrveranstaltung werden mehrere Vorträge von den Studierenden über die Umsetzung und Ergebnisse der Verfahrenselemente gehalten.
Für die Dauer der Lehrveranstaltung werden den Studierenden Laptops zur Verfügung gestellt. Angesichts knapper Kapazitäten wird jedoch empfohlen, einen eigenen Laptop für die Lehrveranstalltung zu benutzen.
Dozenten
- Prof. Dr. Claus-Dieter Munz
- Dipl.-Ing. Muhammed Atak
- Dipl.-Ing. Stefan Fechter
- Dipl.-Math. Matthias Sonntag
Termine
Sprechstunde: Donnerstags von 14:00 - 15:00 Uhr bei Stefan Fechter in Raum 0.032 (Erdgeschoß)
Erste Veranstaltung: Mo 08.04.2013, 9:45-13:00 Uhr, V21.01
Die freien Programmier-Sprechstunden finden allesamt im Seminarraum des IAGs statt.
Eine Anmeldung zum Kurs über die ILIAS-Lernplattform wird empfohlen, da dort immer aktuelle Informationen und Termine bekannt gegeben werden.
Vorläufiger Terminplan für das SS 2013:
| Vorlesung und Vorträge | ||
|---|---|---|
| 1 | 08.04.13 | Einführungsveranstaltung |
| 2 | 22.04.13 | Vortrag: Riemannlöser, Übung: Keilprofilaufgabe (im Seminarraum!) |
| 3 | 29.04.13 | FORTRAN-Programmierung, freie Programmier-Sprechstunde |
| 4 | 06.05.13 | Studentenvortrag: Riemannlöser; Vortrag: Code-Strukturen, Raumoperator |
| 5 | 13.05.13 | Vortrag: Zeitdiskretisierung & CFL-Bedingung, Randbedingungen; Freie Programmier-Sprechstunde (im Hörsaal) |
| Pfingsten | ||
| 6 | 27.05.13 | fällt aus |
| 7 | 03.06.13 | Studentenvortrag: Raumoperator; Freie Programmier-Sprechstunde |
| 8 | 10.06.13 | Studentenvorträge: Zeitdiskretisierung, Randbedingungen; Vortrag: Rekonstruktion, Limiter |
| 9 | 17.06.13 | Freie Programmier-Sprechstunde |
| 10 | 24.06.13 | Studentenvorträge: Rekonstruktion, Limiter; Vortrag: CK-Prozedur, Parallelisierung & Vergabe von Abschluss-Vorträgen |
| 11 | 01.07.13 | Freie Programmier-Sprechstunde |
| 12 | 08.07.13 | Studentenvorträge: CK-Prozedur, RK2; Vortrag: Navier-Stokes |
| 13 | 15.07.13 | Abschluss-Vorträge |
Materialien
Dokumentationen
Aufgabenstellungen
- Übung 1: Keilprofil
- Aufgabe 1: Riemannlöser
- Aufgabe 2: Raumoperator
- Aufgabe 3: Zeitdiskretisierung-Randbedingungen
Vorlesungsfolien
- 08.04.2013: Einführungs-Veranstaltung
- 22.04.2013: FV Übersicht
- 22.04.2013: Godunov
- 22.04.2013: Riemannlöser
- 06.05.2013: Pointer Einführung
- 06.05.2013: Datenstrukturen
- 06.05.2013: Diskretisierung und Fluss
- 13.05.2013: Zeitdiskretisierung
- 13.05.2013: CFL-Stabilitätsbedingung
- 13.05.2013: Randbedingungen-Zustandsgleichung
Literatur (nur im Uni-Netz verfügbar)
- F. Toro - Riemann Solvers and Numerical Methods for Fluid Dynamics
- B. van Leer - Flux-vector splitting for the Euler equations
- M.-S. Liou and C. J. Steffen, Jr. - A New Flux Splitting Scheme (Erstes Paper über AUSM Flux Splitting)
- Y. Wada, M.-S. Liou - AN ACCURATE AND ROBUST FLUX SPLITTING SCHEME FOR SHOCK AND CONTACT DISCONTINUITIES* (AUSMD)
- C. Hirsch - Numerical computation of internal and external flows
Installation Visit
Unter Visit-Download können Sie eine aktuelle Visit-Version downloaden. Folgen sie nicht dem Installations-Script. Entpacken sie lediglich den Code:
tar -xzf *.tar.gz
und starten Sie das Programm unter 'bin/visit':
./visit
Um das Programm von überall aus ausführen zu können, empfiehlt es sich ein sogenanntes "Alias" in folgender Form:
alias visit="*PFAD_ZU_VISIT*/bin/visit"
in der Konfigurationsdatei .bashrc (befindet sich im Home-Verzeichnis) zu definieren. Damit die Änderungen übernommen werden, muss die .bashrc erneut eingelesen werden:
. .bashrc
Zum Programmaufruf genügt es nun
visit
in der Kommandozeile einzugeben.
Installation des Gerüstcodes
Updaten auf eigenem Laptop
ACHTUNG: Diese Variante funktioniert NICHT auf den IAG-Laptops!
Laden Sie Sich die zu Ihrer Architektur (i386 oder amd64) passende Installationsdatei herunter:
Installieren Sie die Datei, indem Sie einen Doppelklick auf die herunter geladene Datei machen und in dem sich öffnenden Fenster auf "installieren" klicken. Alternativ dazu kann die Datei auch in der Konsole installiert werden:
cd ~/Desktop sudo dpkg -i cfdfv_1.4.201210_i386.deb
Auf diese Art und Weise wird die Installationsversion des Codes auf Ihrem Rechner erzeugt. Sie können den Code nun jederzeit mit dem Befehl
instCFDFV
in das Verzeichnis, in dem Sie Sich gerade befinden, installieren. Die vorherige Version des Verzeichnisses CFDFV wird dabei automatisch in ein Verzeichnis mit dem Namensschema CFDFV_TT.MM.JJ_HH:MM gesichert.
Pointer Examples
Hier können Sie die Beispiele samt ausführlicher Dokumenation herunterladen:
Entpacken Sie hierzu die Code-Beispiele mit:
tar -xjvf Pointer_Examples.tar.bz2
und kompilieren Sie die Programme mit dem Befehl:
gfortran ProgrammName.f90 -o ProgrammName
Gittergenerator GMSH
Die Installation erfolgt über:
sudo apt-get install gmsh
und das Ausführen des Programms durch Eingabe des Befehls:
gmsh
im Terminal.
Wir haben ein kurzes Tutorial vorbereitet, das Sie mit der Bedienung des Programms vertraut machen wird: