MoSim - Modellierung und Simulation I (WiSe 2017/2018)
Zweiter Teil: MoSim II
Dozent
Jun.-Prof. Dr. Christian Mendl, WIL B211
Email:
OPAL
Die entsprechende OPAL-Seite zur Vorlesung (für Einschreibung etc) findet sich hier.
Zeit und Ort
- Di. 11:10 – 12:40 Uhr (3. DS)
WIL A120 ungerade Woche (insbesondere erste Vorlesung)
WIL B221/P gerade Woche - Do. 14:50 – 16:20 Uhr (5. DS)
WIL C133
Übung integriert.
Inhalt
- Modellbildung (Erhaltungsgleichungen, ...)
- Modellanalyse (Einheiten und Dimension, asymptotisches Verhalten, ...)
- Die Lattice-Boltzmann-Methode
- Informationssuche im Web, Google's PageRank
- Diskretisierung partieller Differentialgleichungen
Gliederung
Skript
Mitschrift angefertigt von Jonas Hippold: PDF
Python
Eine frei verfügbare Python-Distribution, die wissenschaftliche Pakete wie NumPy und SciPy bereits beinhaltet, ist z.B. Anaconda (aktuell Python 3.6). "Spyder" stellt eine integrierte Entwicklungsumgebung (ähnlich zu Matlab) zur Verfügung. Unter Linux ist Python meist schon vorinstalliert, gegebenenfalls müssten dann nur noch NumPy und SciPy installiert werden.
Interaktives Jupyter Notebook (ohne Installation): Jupyter online
Übungsblätter
Blatt01.pdf (Abgabe: 24. Oktober 2017)
Blatt02.pdf (Abgabe: 7. November 2017); Lösungsvorschläge: plot_objective_func_mod.py, trajectory_ode.py, spiral_pattern_arm.py
Blatt03.pdf (Abgabe: 21. November 2017)
- Die bei Aufgabe 9a angegebene Python-Funktion verwendet eine Variante von np.roll, die unter Python 2.7 leider noch nicht zur Verfügung steht. Ersetzen Sie für Python 2.7 daher den inneren Teil der for-Schleife durch neighs += np.roll(np.roll(P, shift[0], axis=0), shift[1], axis=1)
- Lösungsvorschläge:
- A7: A7b_force_integral.cdf (Mathematica CDF-Notebook zum Berechnen des Integrals in A7b)
- A9: game_of_life.py, glider.py, pulsar.py, highlife.py
Blatt04.pdf (Abgabe: 5. Dezember 2017) ; Lösungsvorschläge: van_der_pol_trajectory.py, van_der_pol_limit_cycle.py, van_der_pol_period.py
Blatt05.pdf (Abgabe: 19. Dezember 2017)
- Source-Code erforderlich für A14 (LBM): Vorlage lbm2D.py, lbm_demo_periodic.py, lbm_demo_noslip.py
- Lösungsvorschläge:
- A14a: lbm2D.py
- A15b: mandelbrot_color.py, mandelbrot_custom.py
- A15c: mandelbrot_vortex.py
Blatt06.pdf (Abgabe: 16. Januar 2018)
Blatt07.pdf (Abgabe: 30. Januar 2018)
- Code erforderlich für A19c: web_crawler.py
- Lösungsvorschläge:
- A19a: google_matrix.py
- A19b: page_rank_iteration.py
- A19c: link_structure_tu_dresden.py
- Tutoraufgabe: five_point_stencil.py, poisson_solution.py, poisson_convergence.py
Abgabe in Gruppen (bis zu 3 Personen) erlaubt.
Zulassung zur Prüfung erfordert mindestens die Hälfte der maximal erreichbaren Hausaufgabenpunkte.
Vorlesungsmaterial
- Folien Einführung Modellierung und Simulation: PDF
- Folien Image Inpainting: PDF
- Einführung in Python: python_intro.ipynb (Jupyter Notebook); alternativ als Webpage: python_intro.zip
- Basketball-Freiwurf:
- allgemein: parameters.py admissible_trajectory.py
- Erstes Modell (nur Winkeloptimierung):
- plot_trajectory_center.py (generiert trajectory_center.pdf)
- plot_trajectory_deviation_angle.py (generiert trajectory_deviation_angle.pdf)
- angle_interval.py (berechnet zulässigen Winkelbereich)
- plot_objective_func.py (generiert objective_func.pdf)
- plot_angle_intervals.py (generiert angle_intervals.pdf)
- optimal_angle.py (berechnet optimalen Abwurfwinkel für erstes Modell)
- Zweites Modell (Optimierung von Abwurfwinkel und -geschwindigkeit)
- admissible_region.py (berechnet zulässigen Geschwindigkeitsbereich gegeben eine Liste von Abwurfwinkeln)
- plot_admissible_region.py (generiert admissible_region.pdf)
- angle_velocity_interval.py (berechnet zulässigen Winkel- und Geschwindigkeitsbereich)
- optimal_angle_velocity.py (berechnet optimalen Abwurfwinkel und -geschwindigkeit für zweites Modell)
Literatur
- Frank Haußer, Yury Luchko: Mathematische Modellierung mit MATLAB. Springer (2011)
- Sauro Succi: The Lattice Boltzmann Equation for Fluid Dynamics and Beyond. Oxford University Press (2013)
- Carlo Cercignani: Theory and Application of the Boltzmann Equation. Scottish Academic Press (1975)
- Nils Thuerey: Physically based animation of free surface flows with the lattice Boltzmann method. PhD thesis (2007) PDF
- Folkmar Bornemann, Tom März: Fast image inpainting based on coherence transport. J. Math. Imaging Vis. 28, 259-278 (2007) PDF