460 likes | 898 Views
Gliederung. EinleitungDifferentialgleichungenPartielle DifferentialgleichungenDiskretisierungNumerische LsungsverfahrenDirekte VerfahrenGau-EliminationIterative VerfahrenJacobi-VerfahrenGau-Seidel-VerfahrenZusammenfassung. . Gliederung. EinleitungDifferentialgleichungenPartielle Diff
E N D
1. Nummerisches Lösen partieller Differentialgleichungen Im Rahmen des Seminars „Verteilte und parallele Systeme“ Ziel des numerisches Lösens: rechnergestützt umfangreiche Modelle zu lösen
Ziel des Vortrags: Vorstellen von verschiedenen Modellen, sowie deren parallele Umsetzung
Ziel des numerisches Lösens: rechnergestützt umfangreiche Modelle zu lösen
Ziel des Vortrags: Vorstellen von verschiedenen Modellen, sowie deren parallele Umsetzung
2. Gliederung Einleitung
Differentialgleichungen
Partielle Differentialgleichungen
Diskretisierung
Numerische Lösungsverfahren
Direkte Verfahren
Gauß-Elimination
Iterative Verfahren
Jacobi-Verfahren
Gauß-Seidel-Verfahren
Zusammenfassung
3. Gliederung Einleitung
Differentialgleichungen
Partielle Differentialgleichungen
Diskretisierung
Numerische Lösungsverfahren
Direkte Verfahren
Gauß-Elimination
Iterative Verfahren
Jacobi-Verfahren
Gauß-Seidel-Verfahren
Zusammenfassung
4. Einleitung Viele Problemstellungen in FuE lassen mit Hilfe von Simulationen lösen
Beschreibung realer Systeme durch mathematische Modelle
Mathematischen Modelle ermöglichen Simulationen von Zuständen / Ergebnissen
Beispiele:
Klimasimulation
Crashtest Simulation
3D-CAD Modellierungen
Problemstellungen in Technik/Forschung/Entwicklung:
Klimasimulartion
Verformungen von Werkstoffen (Automobilindustrie)
Temperaturverläufe
Strömungsverhahlten – nach und vor z.B. Instalation einer Brücke
Simulationen:
Echte Messungen zu teuer/dauern zu lange
zerstörendProblemstellungen in Technik/Forschung/Entwicklung:
Klimasimulartion
Verformungen von Werkstoffen (Automobilindustrie)
Temperaturverläufe
Strömungsverhahlten – nach und vor z.B. Instalation einer Brücke
Simulationen:
Echte Messungen zu teuer/dauern zu lange
zerstörend
5. Einleitung Partielle Differentialgleichungen zur werden oft zur Modellierung herangezogen
Modelle sind recht komplex
Benötigen Unterstützung durch Rechner
Um zeitnah Ergebnisse Simulieren zu können brauchen rechnergestützte AlgorithmenUm zeitnah Ergebnisse Simulieren zu können brauchen rechnergestützte Algorithmen
6. Gliederung Einleitung
Differentialgleichungen
Partielle Differentialgleichungen
Diskretisierung
Numerische Lösungsverfahren
Direkte Verfahren
Gauß-Elimination
Iterative Verfahren
Jacobi-Verfahren
Gauß-Seidel-Verfahren
Zusammenfassung
7. Partielle Differentialgleichungen Differentialgleichungen:
Beschreiben Verhalten realer Systeme
Gesucht: Funktion y, die die Funktion
für x = (x1,…,xn) , wobei G Rn
erfüllt, dabei sei Dky die k-te Ableitung der Funktion y
y ist stetig und differenzierbar
Bsp.:
Beschreibung einer
Flugkurve durch
eine Parabel
8. Partielle Differentialgleichungen Partielle Differentialgleichungen
Mehrdimensional
Von mehreren Variablen abhängig
Komplexe Berechnungen erforderlich
Unterstützung durch Rechner
wünschenswert
Bsp.:
Modellierung eines Trampolintuchs beim Einsprung
9. Gliederung Einleitung
Differentialgleichungen
Partielle Differentialgleichungen
Diskretisierung
Numerische Lösungsverfahren
Direkte Verfahren
Gauß-Elimination
Iterative Verfahren
Jacobi-Verfahren
Gauß-Seidel-Verfahren
Zusammenfassung
10. Diskretisierung Bsp.: Temperaturverlauf in einem Metallstab
stetiges Modell:
diskretes Modell:
11. Diskretisierung Diskretisierung:
Temperaturen T1 und T2 bekannt
Gesucht sind die Temperaturen x1,…,x4
Temperaturen x1,…,x4 ergeben sich aus dem Durchschnitt der umgebenden Temperaturen
12. Gliederung Einleitung
Differentialgleichungen
Partielle Differentialgleichungen
Diskretisierung
Numerische Lösungsverfahren
Direkte Verfahren
Gauß-Elimination
Iterative Verfahren
Jacobi-Verfahren
Gauß-Seidel-Verfahren
Zusammenfassung
13. Numerische Lösungsverfahren Bezeichnet Verfahren, die Lösungen ‚zahlenmäßig‘ herbeiführen
Durch Algorithmen automatisierbar
14. Gliederung Einleitung
Differentialgleichungen
Partielle Differentialgleichungen
Diskretisierung
Numerische Lösungsverfahren
Direkte Verfahren
Gauß-Elimination
Iterative Verfahren
Jacobi-Verfahren
Gauß-Seidel-Verfahren
Zusammenfassung
15. Gauß-Elimination Vorgehen ausgehend von dem LGS der Form Ax = b:
16. Gauß-Elimination Transformation benötigt n-1 Schritte
In jedem Schritt k:
und aus und errechnen:
Eliminationsfaktoren l berechnen:
Matrix A(k+1) und Vektor b(k+1) neu berechnen:
17. Gauß-Elimination Schritt 2: Durch Rückwärtseinsetzen LGS lösen
18. Gauß-Elimination Problem:
Sollte ein Element der Hauptdiagonalen der Matrix A Null sein bricht der Algorithmus ab (Division durch Null )
Partielle Pivotisierung
Erfordert mehr Kommunikation/Rechenaufwand
19. Gauß-Elimination
20. Gauß-Elimination
Vorteile:
Vorhersagbarkeit der Laufzeit
Vorhersagbarkeit des Speicherbedarfs
exakte Lösung (sofern vorhanden)
Auf jedes LGS anwendbar
21. Gliederung Einleitung
Differentialgleichungen
Partielle Differentialgleichungen
Diskretisierung
Numerische Lösungsverfahren
Direkte Verfahren
Gauß-Elimination
Iterative Verfahren
Jacobi-Verfahren
Gauß-Seidel-Verfahren
Zusammenfassung
22. Iterative Verfahren Liefern nur Näherungen
Aufbauend auf bereits errechnete Näherungen werden weitere Approximationen errechnet
Verfahren erzeugen Folgen von Vektoren {x(k)}k=1,2,…die gegen die gesuchte Lösung x* konvergieren.
Aufwand der Algorithmen nicht ausschließlich abhängig von der Größe des Systems
Für dünnbesetzte Matrizen gut geeignet
23. Gliederung Einleitung
Differentialgleichungen
Partielle Differentialgleichungen
Diskretisierung
Numerische Lösungsverfahren
Direkte Verfahren
Gauß-Elimination
Iterative Verfahren
Jacobi-Verfahren
Gauß-Seidel-Verfahren
Zusammenfassung
24. Jacobi-Verfahren Idee:
Sind alle bekannt, kann durch Einsetzen der errechnet werden
, i = 1,…,n , j = 1,…,n
25. Jacobi-Verfahren Abbruchkriterium:
Anzahl an Iterationen - Abbruch ohne Ergebnis
Lösung ist hinreichend genau:
Abbruchkriterium: relativer Fehler
||.|| Vektornorm, z.B. ||x||? = max i=1,...,n|xi| oder ||x||2=(?n i=1|x|2)½ .
26. Jacobi-Verfahren Parallel Implementierung:
Prozessor Pi mit i = 1,…,p speichert n/p Zeilen von A und die dazu gehörigen Werte von b
Möglichkeit Vektor x entweder lokal als auch global gespeichert
Iterationsablauf:
27. Jacobi-Verfahren 1. Schritt:
Jeder Prozessor Pi hat alle benötigten Daten aus der Approximation x(k) vorliegen und errechnet der Iterationsvorschrift die nächste Aproximation x(k+1) seiner n/p Elemente.
28. Jacobi-Verfahren 2. Schritt:
Jeder Prozessor sendet seine n/p lokal gespeicherten Elemente des Vektors x(k+1) z.B. mit einer Multibroadcastoperation an die übrigen Prozessoren
29. Jacobi-Verfahren 3. Schritt:
Abbruchkriterien überprüfen, ggf. Ergebnis ausgeben
30. Jacobi-Verfahren Aufwand einer Iteration:
Schritt 1:
n/p Werte werden in quadratischer Zeit errechnet ? T(n2 * (n/p))
Schritt 2:
n/p Werte an p-1 Prozessoren verschicken ? T((p-1) * (n/p))
Schritt 3:
Ist abhängig vom Abbruchkriterium, z.B. T(n), wenn das globale Maximum verglichen wird
31. Jacobi-Verfahren Aufwand des Algorithmus:
(Aufwand einer Iteration) * (Iterationsdurchläufe)
Anzahl der Iterationsdurchläufe abhängig vom Gleichungssystem und der Konvergenzrate
Jacobi-Verfahren hat relativ schlechte Konvergenzrate
32. Gliederung Einleitung
Differentialgleichungen
Partielle Differentialgleichungen
Diskretisierung
Numerische Lösungsverfahren
Direkte Verfahren
Gauß-Elimination
Iterative Verfahren
Jacobi-Verfahren
Gauß-Seidel-Verfahren
Zusammenfassung
33. Gauß-Seidel-Verfahren Iteratives Verfahren
Gleicher Ansatz wie Jacobi, jedoch:
Innerhalb einer Iteration wird auf die bereits errechneten Werte zurückgegriffen
Dadurch entsteht folgende Iterationsvorschrift
34. Gauß-Seidel-Verfahren Datenabhängigkeiten
35. Gute Anwendbarkeit bei dünnbesetzten Matrizen
Oft bei Modellen die einer Gitterstruktur entsprechen Gauß-Seidel-Verfahren
36. Gauß-Seidel-Verfahren Bei einem 4x4 Gitter ergibt sich folgendes Bild:
Relative viele Datenabhängigkeiten
Durch Rot-Schwarz-Schema in der Berechnung reduzierbar
37. Gauß-Seidel-Verfahren Rot-Schwarz-Schema:
1. 16 Punkte in rote und schwarze Punkte aufteilen
2. Punkte so im Gitter angeordnet, dass alle roten Punkte nur schwarze Nachbarn haben und umgekehrt
38. Nach der Umordnung:
Damit ergibt sich der Iterationsschritt: Gauß-Seidel-Verfahren
39. Gauß-Seidel-Verfahren Algorithmus:
Schritt: Berechne auf parallelen Prozessoren
Schritt: Mit Multibroadcast-Operation Ergebnisse kommunizieren
Schritt: Berechne auf parallelen Prozessoren
Schritt: Mit Multibroadcast-Operation Ergebnisse kommunizieren
Schritt: Abbruchkriterium überprüfen
Schritt: Vektor und zu gemeinsamen Ergebnisvektor zusammenführen
40. Gliederung Einleitung
Differentialgleichungen
Partielle Differentialgleichungen
Diskretisierung
Numerische Lösungsverfahren
Direkte Verfahren
Gauß-Elimination
Iterative Verfahren
Jacobi-Verfahren
Gauß-Seidel-Verfahren
Zusammenfassung
41. Zusammenfassung Differentialgleichungen
Können oft zur mathematischen Modellierung herangezogen werden
Sind stetig
Müssen diskretisiert werden, um numerisch gelöst zu werden
42. Zusammenfassung Numerische Lösungsverfahren:
Gaus-Eliminations-Verfahren:
Direktes Verfahren
Exakte Lösung wird errechnet
Vorhersagbare Rechenzeit
Vorhersagbarer Speicherbedarf
Auf alle linearen Gleichungssystemen anwendbar
Fill-in kann auftreten
Schlechte Parallelisierbarkeit
43. Zusammenfassung Numerische Lösungsverfahren:
Jacobi-Verfahren:
Iteratives Verfahren
Kein fill-in
Für dünnbesetzte Matrizen gut geeignet
Rechenzeit nicht vorhersagbar
Laufzeit abhängig von der Komplexität des Gleichungssystem
Schlechte Konvergenzrate
44. Zusammenfassung Numerische Lösungsverfahren:
Gauß-Seidel-Verfahren:
Iteratives Verfahren
Kein fill-in
Datenabhängigkeiten innerhalb einer Iteration
Nicht so gut parallelisierbar
Für dünnbesetzte Matrizen in Bandstruktur gut geeignet
Rechenzeit nicht vorhersagbar
Laufzeit abhängig von der Komplexität des Gleichungssystem
bessere Konvergenzrate als Jacobi-Verfahren
45. Literatur Michael J. Quinn: Parallel Computing, Theory and Practice, 2nd ed., McGraw-Hill, 1994
Thomas Rauber, Gudula Rünger: Parallele Programmierung, 2. Aufl., Springer, 2007.
Hartmut Schwandt: Parallele Numerik, Eine Einführung, 1. Aufl., Teubner 2003
46. Vielen dank für Ihre Aufmerksamkeit und ein erholsames Wochenende!