PVK Numerische Methoden Tag 1

Ähnliche Dokumente
PVK Probeprüfung FS 2017

D-MATH Numerische Methoden FS 2018 Dr. Vasile Gradinaru Kjetil Olsen Lye. Serie 6

1. Anfangswertprobleme 1. Ordnung

1. Anfangswertprobleme 1. Ordnung

Dr. R. Käppeli D-ITET, D-MATL Winter Numerische Methoden Punkte

Dr. S. May D-ITET, D-MATL Sommer Numerische Methoden Bonuspunkte Punkte

Numerik gewöhnlicher Differentialgleichungen (MA2304) Modulprüfung F. Bornemann, C. Ludwig 14. August 2017

4. Runge-Kutta-Verfahren 4.1 Konstruktion und Beispiele

D-MATH Numerische Methoden FS 2016 Dr. Vasile Gradinaru Alexander Dabrowski. Serie 1

- Numerik in der Physik - Simulationen, DGL und Co. Max Menzel

ETHZ, D-MATH. Numerische Methoden D-PHYS, WS 2015/16 Dr. V. Gradinaru

Differenzialgleichungen

h n = (t t 0 )/n Bevor wir diesen Satz beweisen, geben wir noch einen Hilfssatz an, der eine wichtige Abschätzung liefert.

Explizite gewöhnliche Differentialgleichung 1. Ordnung mit Anfangsbedingung

Numerische Verfahren für gewöhnliche Differentialgleichungen. Literaturliste. P.Deuflhard, F.Bornemann: Numerische Mathematik II, De Gruyter, 1994.

10 Stabilität und steife Systeme

Numerische Verfahren für gewöhnliche Differentialgleichungen

Serie 2. D-MATH Numerische Methoden FS 2016 Dr. Vasile Gradinaru Luc Grosheintz

2.3.1 Explizite Runge-Kutta-Verfahren

2. Anfangswertprobleme 2. Ordnung

Rheinisch-Westfälische Technische Hochschule. Gegeben seien eine gewöhnliche Dierentialgleichung (DGL) und ein Anfangswert. γ l K l.

ODE-Solver. Inhalt. Einleitung. grundlegende Algorithmen. weiterführende Algorithmen

Aufgabenstellung: Explizite gewöhnliche Differentialgleichung 1. Ordnung mit Anfangsbedingung Gesucht ist eine Funktion y = y(x).

Parareal. Ein paralleler Lösungsalgorithmus für gewöhnliche Differentialgleichungen. Johannes Reinhardt. Parareal 1 Johannes Reinhardt

D-MATH Numerische Methoden FS 2017 Dr. Vasile Gradinaru Luc Grosheintz. Serie 10

Aufgabenstellung: Explizite gewöhnliche Differentialgleichung 1. Ordnung mit Anfangsbedingung Gesucht ist eine Funktion y = y(x).

Dr. R. Käppeli D-ITET, D-MATL Sommer Numerische Methoden Punkte

Lösung Semesterendprüfung

Einführung und Beispiele

8 Gewöhnliche Differentialgleichungen

Einführung in numerische Methoden für Ingenieure (nach A. Quarteroni, F. Saleri: Wissenschaftliches Rechnen mit MATLAB)

Differentialgleichungen

Differentialgleichungen

D-MAVT NUMERISCHE MATHEMATIK FS 14 K. Nipp, A. Hiltebrand Lösung vom Test 1

ZWEITE KLAUSUR zur Numerik I mit Lösungen. Bitte folgende Angaben ergänzen und DEUTLICH LESBAR in Druckbuchstaben schreiben:

Numerik gewöhnlicher Differentialgleichungen

D-ITET, D-MATL. Prüfung Numerische Methoden, Sommer 2012 Dr. Lars Kielhorn

5 Steife Differentialgleichungen

KLAUSUR zur Numerik I mit Lösungen. Aufgabe 1: (10 Punkte) [ wahr falsch ] 1. Die maximale Ordnung einer s-stufigen Quadraturformel ist s 2.

5. Steife Differentialgleichungen 5.1 Was sind steife Differentialgleichungen?

Einführung in die Numerik strukturerhaltender Zeitintegratoren. Leonard Schlag 6. Dezember 2010

Computersimulationen in der Astronomie

Lösungsvorschlag zur Modulprüfung Numerische Methoden Sommersemester 2016

Wir untersuchen die Bewegungsleichung des mathematischen (gedämpften) Fadenpendels in einer Dimension. = 0, ϕ (0)

Öffnen Sie den Klausurbogen erst nach Aufforderung! Mathematische Grundlagen III (CES) SS 2017 Klausur

Simulationstechnik V

Kommentierte Musterlösung zur Klausur HM II für Naturwissenschaftler

D-MATH Numerische Methoden FS 2017 Dr. Vasile Gradinaru Luc Grosheintz. Serie 3

Computerphysik. Übungsblatt 6

Übungen zur Theoretischen Physik 2 Lösungen zu Blatt 13

Extrapolationsverfahren

u(x, 0) = g(x) : 0 x 1 u(0, t) = u(1, t) = 0 : 0 t T

Öffnen Sie den Klausurbogen erst nach Aufforderung! Mathematische Grundlagen III (CES) WS 2017/2018 Klausur 23. März 2018

Numerik gewöhnlicher Differentialgleichungen

D-MAVT/D-MATL Analysis II FS 2017 Dr. Andreas Steiger. Lösung - Serie 26. ẋ 1 = x 1 + 2x ẋ 2 = 2x 1 + x 2

TU Ilmenau Institut für Mathematik Übungsaufgaben zum Lehrgebiet Numerische Mathematik III Numerik gewöhnlicher Differentialgleichungen

2. Numerische Verfahren für AWPe 2.1 Das Euler-Verfahren

Simulationstechnik V

Simulationstechnik V

Übungsblatt 13 Ausgabe: 11. Juli 2018

H. Achte Übungseinheit

Abschnitt 1.7: Schrittweitensteuerung 27

J Zehnte Übungseinheit

Lösungsvorschlag zur Modulprüfung Numerische Methoden - Wintersemester 2016/17

Strukturerhaltende Integratoren für Hamiltonsysteme

Numerische Verfahren

Numerische Verfahren

Numerisches Programmieren (IN0019)

Übung zur Numerik linearer und nichtlinearer Parameterschätzprobleme A. Franke-Börner, M. Helm

Lokaler Fehler y = y 2, y(0.2) = 5/9, Lösung: y = 1 Fehler nach dem 1. Schritt

D-MATH Numerische Methoden FS 2017 Dr. Vasile Gradinaru Luc Grosheintz. Serie 5

Grundlagen der Numerischen Mathematik Sommersemester Kapitel 0. Jun.-Prof. Dr. Thorsten Raasch (JGU Mainz) 23. April 2014

PVK Mathematik III Tag 1

Rückwärtsfehleranalyse und Langzeitenergieerhaltung

Numerik gewöhnlicher Differentialgleichungen. Übung 8 - Lösungsvorschlag

Numerische Methoden 7. Übungsblatt

Übungsblatt 6 Musterlösung

2. Anfangswertprobleme 2. Ordnung

Differentialgleichungen

Serie 9, Musterlösung. Klasse: 2Ub Semester: 2 Datum: 30. Mai z 3 = i z 4 = 15 Z 4 Z Re(z) z 4 = 1 e i 7π 4

14 Numerik hyperbolischer Differentialgleichungen

Zuname: Vorname: KennNr: Matr.Nr: PRÜFUNG AUS MATHEMATIK 3. 1)(8 P.) Lösen Sie das folgende AWP mit Hilfe der Laplacetransformation.

Numerische Lösung von Differentialgleichungen

Gewöhnliche Differentialgleichungen

3. Berechnen Sie auch die Beschleunigung a als Funktion der Zeit t. 4. Erstellen Sie ein SIMULINK Modell, das x(t) numerisch berechnet.

5 Anfangswertprobleme bei gewöhnlichen Differentialgleichungen

Definition A-stabil. Wir betrachen das Modellproblem: y (t) = λy(t) y(0) = 1. für λ C, mit Re(λ) < 0

Numerisches Programmieren

Für viele technische Anwendungen unverzichtbar!

Musterlösung Prüfung Numerische Methoden, Sommer 2012 Dr. Lars Kielhorn

Übungsaufgabe Numerische Lösung DGL

10 Gewöhnliche Differentialgleichungen

Klausurenkurs zum Staatsexamen (SS 2012): Differential und Integralrechnung 8

Seminar: Numerik gewöhnlicher Differentinalgleichungen Diagonal implizite Runge-Kutta Verfahren

Diplom VP Numerik 28. August 2006

VF-3: Es seien A R n n beliebig aber regulär, b R n und gesucht sei die Lösung x R n von A x = b.

2 Einschrittverfahren 2.1 Einführung

Dynamische Niedrigrang-Approximation an die Lösung von Wellengleichungen

Transkript:

PVK Numerische Methoden Tag 1 Lucas Böttcher ETH Zürich Institut für Baustoffe Wolfgang-Pauli-Str. 27 HIT G 23.8 8093 Zürich lucasb@ethz.ch June 19, 2017 Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 1 / 62

Übersicht Daten und Zeiten: Kursdauer: 19.06.2017-23.06.2017 von 08:00-12:30 Uhr Erste Lektion: 08:00-09:30 Uhr Pause: 09:30-09:45 Uhr Zweite Lektion: 09:45-11:15 Uhr Pause: 11:15-11:30 Uhr Dritte Lektion: 11:30-12:30 Uhr Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 2 / 62

Übersicht Ziel PVK: Vorbereitung auf die Prüfung (schriftlich, 180 min) am PC Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 3 / 62

Übersicht Ziel PVK: Vorbereitung auf die Prüfung (schriftlich, 180 min) am PC Erlaubte Hilfsmittel: 10 Seiten A4 eigenhändig verfasste Zusammenfassung, handgeschrieben, nicht ausgedruckt, nicht kopiert. Vorlesungsunterlagen stehen elektronisch während der Prüfung zur Verfügung. Sonst keine Hilfsmittel. Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 4 / 62

Übersicht Kursziele laut VVZ: Studenten sind im Stande 1 zwischen verschiedenen numerischen Methoden zu differenzieren, um zu wissen, welche Methode ein bestimmtes mathematisches Problem löst. Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 5 / 62

Übersicht Kursziele laut VVZ: Studenten sind im Stande 1 zwischen verschiedenen numerischen Methoden zu differenzieren, um zu wissen, welche Methode ein bestimmtes mathematisches Problem löst. 2 geeignete numerische Verfahren anzuwenden, um ein bestimmtes numerisches Problem der Physik zu lösen. Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 6 / 62

Übersicht Kursziele laut VVZ: Studenten sind im Stande 1 zwischen verschiedenen numerischen Methoden zu differenzieren, um zu wissen, welche Methode ein bestimmtes mathematisches Problem löst. 2 geeignete numerische Verfahren anzuwenden, um ein bestimmtes numerisches Problem der Physik zu lösen. 3 geeignete Software Repositories anzuwenden, welche hilfreich sind, um ein gegebenes numerisches Problem zu lösen. Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 7 / 62

Übersicht Kursziele laut VVZ: Studenten sind im Stande 1 zwischen verschiedenen numerischen Methoden zu differenzieren, um zu wissen, welche Methode ein bestimmtes mathematisches Problem löst. 2 geeignete numerische Verfahren anzuwenden, um ein bestimmtes numerisches Problem der Physik zu lösen. 3 geeignete Software Repositories anzuwenden, welche hilfreich sind, um ein gegebenes numerisches Problem zu lösen. 4 numerische Resultate, welche durch das numerische lösen mathematischer Probleme erhalten wurden, hinsichtlich Genauigkeit und Korrektheit zu interpretieren. Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 8 / 62

Übersicht Kurstag Tag 1 Tag 2 Tag 3 Tag 4 Tag 5 Inhalt Differenzialgleichungen Quadratur, Nichtlineare algebraische Gleichungen Ausgleichsrechnung, Eigenwerte, Interpolation Lineare ODEs, Exponentielle Integratoren, Splitting-Verfahren Erweiterte Übungen Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 9 / 62

Lösen gewöhnlicher Differentialgleichungen Kapitel I Lösen gewöhnlicher Differentialgleichungen (Sektionen 8.2, 8.5, 8.6 im Skript) Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 10 / 62

Lösen gewöhnlicher Differentialgleichungen Lernziele: Numerische Lösung von Anfgangswertproblemen der Form ẏ = f (t, y) mit y(0) = y 0. Methoden: Eulerverfahren (explizit und implizit), implizite Mittelpunktsregel. http://ftparmy.com/207981-pendulum-motion-in-phase-space-model.html Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 11 / 62

Explizites Eulerverfahren Explizites Eulerverfahren Grundidee: Approximieren der ODE ẏ = f (t, y) durch y n+1 = y n + h n f (t n, y n ), n = 0,..., N 1. Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 12 / 62

Explizites Eulerverfahren Explizites Eulerverfahren Grundidee: Approximieren der ODE ẏ = f (t, y) durch y n+1 = y n + h n f (t, y), n = 0,..., N 1. Denn der Vorwärts-Differenzen-Quotient ist f(t n, y(t n )) = ẏ(t n ) y(tn+hn) y(tn) h n. Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 13 / 62

Explizites Eulerverfahren Explizites Eulerverfahren Grundidee: Approximieren der ODE ẏ = f (t, y) durch y n+1 = y n + h n f (t, y), n = 0,..., N 1. Denn der Vorwärts-Differenzen-Quotient ist f(t n, y(t n )) = ẏ(t n ) y(tn+hn) y(tn) h n. Keine Energieerhaltung, cf. p. 226 im Skript. Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 14 / 62

Implizites Eulerverfahren Implizites Eulerverfahren Grundidee: Approximieren der ODE ẏ = f (t, y) durch y n+1 = y n + h n f (t n+1, y n+1 ), n = 0,..., N 1. Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 15 / 62

Implizites Eulerverfahren Implizites Eulerverfahren Grundidee: Approximieren der ODE ẏ = f (t, y) durch y n+1 = y n + h n f (t n+1, y n+1 ), n = 0,..., N 1. Denn der Rückwärts-Differenzen-Quotient ist f(t n+1, y(t n+1 )) = ẏ(t n+1 ) y(t n+1 h n) y(t n+1 ) h n. Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 16 / 62

Implizites Eulerverfahren Implizites Eulerverfahren Grundidee: Approximieren der ODE ẏ = f (t, y) durch y n+1 = y n + h n f (t n+1, y n+1 ), n = 0,..., N 1. Denn der Rückwärts-Differenzen-Quotient ist f(t n+1, y(t n+1 )) = ẏ(t n+1 ) y(t n+1 h n) y(t n+1 ) h n. Lösen eines nichtlinearen Systems notwendig. Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 17 / 62

Implizites Eulerverfahren Implizites Eulerverfahren Grundidee: Approximieren der ODE ẏ = f (t, y) durch y n+1 = y n + h n f (t n+1, y n+1 ), n = 0,..., N 1. Denn der Rückwärts-Differenzen-Quotient ist f(t n+1, y(t n+1 )) = ẏ(t n+1 ) y(t n+1 h n) y(t n+1 ) h n. Lösen eines nichtlinearen Systems notwendig. Keine Energieerhaltung, cf. p. 226 im Skript. Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 18 / 62

Implizite Mittelpunktsregel Implizite Mittelpunktsregel Grundidee: Approximieren ( der ODE ) ẏ = f (t, y) durch y n+1 = y n + h n f tn+tn+1 2, y n+1+y n 2, n = 0,..., N 1. Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 19 / 62

Implizite Mittelpunktsregel Implizite Mittelpunktsregel Grundidee: Approximieren ( der ODE ) ẏ = f (t, y) durch y n+1 = y n + h n f tn+tn+1 2, y n+1+y n 2, n = 0,..., N 1. Lösen eines nichtlinearen Systems notwendig. Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 20 / 62

Implizite Mittelpunktsregel Implizite Mittelpunktsregel Grundidee: Approximieren ( der ODE ) ẏ = f (t, y) durch y n+1 = y n + h n f tn+tn+1 2, y n+1+y n 2, n = 0,..., N 1. Lösen eines nichtlinearen Systems notwendig. Energieerhaltung gegeben, cf. p. 227 im Skript. Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 21 / 62

Beispiel Mathematisches Pendel Beispiel Mathematisches Pendel Man schreibt die Differentialgleichung φ = g l sin (φ) um in ein System erster Ordnung: ( ) ( ) φ p = ṗ g. (1) l sin (φ) http://moodle.autolab.unipannon.hu/mecha tananyag/mechatronikai modellezes angol/ch02.html Untersuche das zeitliche Verhalten der Gesamtenergie für das explizite und implizite Eulerverfahren sowie für die Mittelpunktsregel. Hinweis: Die Gesamtenergie ist (m = 1, l = 1) E tot = 1 2 φ 2 +g(1 cos (φ)). Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 22 / 62

Beispiel Mathematisches Pendel f = lambda alpha, p: array([p, 9.81 sin( alpha)]) def explicit euler(y0, dt, N): y ee = [] y ee.append(y0) for i in range(n): y ee. append( y ee[ 1] + dt f( y ee[ 1][0],y ee[ 1][1]) ) return asarray( y ee ) Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 23 / 62

Beispiel Mathematisches Pendel g impl = lambda x, y0, dt: y0+dt f(x[0], x[1]) x def implicit euler(y0, dt, N): y ie = [] y ie.append(y0) for i in range(n): y ie. append( fsolve( g impl, y ie[ 1], args=( y ie[ 1],dt)) ) return asarray( y ie ) Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 24 / 62

Beispiel Mathematisches Pendel g mid = lambda x, y0, dt: y0+ dt f(0.5 ( x[0]+ y0[0]),0.5 ( x[1]+ y0[1])) x def midpoint(y0, dt, N): y mp = [] y mp.append(y0) for i in range(n): y mp. append( fsolve( g mid, y mp[ 1], args=( y mp[ 1],dt)) ) return asarray( y mp ) Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 25 / 62

Beispiel Mathematisches Pendel Energy Energy 7 6 5 4 3 2 1 Explicit Euler E tot E kin E pot 0 0 2 4 6 8 10 Time 3.0 2.5 2.0 1.5 1.0 0.5 E tot E kin Midpoint Energy Energy 3.0 2.5 2.0 1.5 1.0 0.5 Implicit Euler E tot E kin E pot 0.0 0 2 4 6 8 10 Time E pot E pot 0.0 0 2 4 6 8 10 0.0 0 2 4 6 8 10 Time Time 3.0 2.5 2.0 1.5 1.0 0.5 E tot E kin ODE 45 Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 26 / 62

Verletverfahren Lernziele: Integration von Differentialgleichungen der Form ÿ = f(t, y) (z.b.: Newtonsche Bewegungsgleichungen). Methoden: Velocity-Verlet- und Störmer-Verlet-Verfahren. Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 27 / 62

Velocity-Verlet-Verfahren Velocity-Verlet-Verfahren Grundidee: Approximieren der ODE ÿ = f (t, y) mit Anfangsbedingungen y(0) = y 0 und ẏ = v 0. In diesem Verfahren ist: x n+1 = x n + hv n + h2 2 f (t n, x n ) und v n+1 = v n + h 2 (f (t n, x n ) + f (t n+1, x n+1 )). Energieerhaltung gegeben. Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 28 / 62

Velocity-Verlet-Verfahren f = lambda phi: 9.81 sin( phi) def velocity verlet(x0, v0, dt, N): x vv = [] v vv = [] x vv.append(x0) v vv.append(v0) for i in range(n): x vv. append( x vv[ 1] + dt v vv[ 1] + 0.5 dt 2 f( x vv[ 1]) ) v vv. append( v vv[ 1] + 0.5 dt ( f( x vv[ 1]) + f( x vv[ 2]) )) return asarray( x vv ), asarray( v vv ) Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 29 / 62

Velocity-Verlet-Verfahren Velocity 4 2 0 2 4 Velocity Verlet 2.0 1.5 1.0 0.5 0.0 0.5 1.0 1.5 2.0 Position Energy 10 8 6 4 2 Velocity Verlet E tot E kin E pot 0 0 2 4 6 8 10 Time Das Velocity-Verlet-Verfahren erhält die Energie. Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 30 / 62

Störmer-Verlet-Verfahren Störmer-Verlet-Verfahren Grundidee: Approximieren der ODE ÿ = f (t, y) durch y n+1 = y n 1 + 2y n + h 2 f (t n, y n ), n = 0,..., N 1. Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 31 / 62

Störmer-Verlet-Verfahren Störmer-Verlet-Verfahren Grundidee: Approximieren der ODE ÿ = f (t, y) durch y n+1 = y n 1 + 2y n + h 2 f (t n, y n ), n = 0,..., N 1. Denn man kann die zweite Ableitung approximieren durch f (t, y) = ÿ y n+1 2y n+y n 1 h 2. Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 32 / 62

Störmer-Verlet-Verfahren Störmer-Verlet-Verfahren Grundidee: Approximieren der ODE ÿ = f (t, y) durch y n+1 = y n 1 + 2y n + h 2 f (t n, y n ), n = 0,..., N 1. Denn man kann die zweite Ableitung approximieren durch f (t, y) = ÿ y n+1 2y n+y n 1 h 2. Typischerweise sind die Anfangswerte y(0) = y 0 und ẏ = v 0 gegeben. Dann ist y 1 = y 0 + hv 0 + h2 2 f(t 0, y 0 ), cf. p. 228 im Skript. Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 33 / 62

Beispiel Streuung am Lennard-Jones Potential Beispiel Streuung am Lennard-Jones Potential Die Teilchenstreuung am Lennard-Jones ( Potential U(x, y) ist beschrieben ( durch r = U, wobei U(x, y) = 4 2 ) 12 ( r 1 ) ) 8 r. Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 34 / 62

Beispiel Streuung am Lennard-Jones Potential Beispiel Streuung am Lennard-Jones Potential Die Teilchenstreuung am Lennard-Jones ( Potential U(x, y) ist beschrieben ( durch r = U, wobei U(x, y) = 4 2 ) 12 ( r 1 ) ) 8 r. Bestimme die Teilchentrajektorien für r 0 = ( 10, b) T mit b {0.15, 0.3,..., 3} und ṙ 0 = (1, 0) T. Der Zeitschritt ist t = 0.02 und T tot = 15. Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 35 / 62

Beispiel Streuung am Lennard-Jones Potential f = lambda x: 24 (2./ sqrt(x[0] 2+x[1] 2) 14 1./sqrt(x[0] 2+x[1] 2) 8) x def stoermer verlet(x0, v0, dt, T): x sv = [] x sv.append(x0) x1 = x0 + dt v0 + 0.5 dt 2 f( x0) x sv.append(x1) for i in range( int(t/ dt)): x sv.append( x sv[ 2]+2 x sv[ 1] +dt 2 f( x sv[ 1]) ) return asarray( x sv ) Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 36 / 62

Beispiel Streuung am Lennard-Jones Potential 8 Stoermer-Verlet 6 4 y 2 0 2 4 10 8 6 4 2 0 2 4 6 x Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 37 / 62

Runge-Kutta-Verfahren Lernziele: Integration von Differentialgleichungen der Form ẏ = f(t, y) mit Verfahren höherer Konvergenzordnung. Methoden: Runge-Kutta zweiter und vierter Ordnung, Kollokationsverfahren. Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 38 / 62

Runge-Kutta-Verfahren Runge-Kutta-Verfahren Grundidee: Man nutzt eine Taylorentwicklung höherer Ordnung, um eine bessere Approximation der Differentialgleichung zu bekommen. Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 39 / 62

Runge-Kutta-Verfahren Runge-Kutta-Verfahren Grundidee: Man nutzt eine Taylorentwicklung höherer Ordnung, um eine bessere Approximation der Differentialgleichung zu bekommen. Man behält alle Terme bis zur Ordnung h s : y n+1 = y n + h dy 1! dt + h2 d 2 y 2! + + hs d q y dt 2 s! dt + O ( h s+1). s Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 40 / 62

Runge-Kutta-Verfahren Runge-Kutta-Verfahren Grundidee: Man nutzt eine Taylorentwicklung höherer Ordnung, um eine bessere Approximation der Differentialgleichung zu bekommen. Man behält alle Terme bis zur Ordnung h s : y n+1 = y n + h dy 1! dt + h2 d 2 y 2! + + hs d s y dt 2 s! dt + O ( h s+1). s Allgemein schreibt man die Approximation als y n+1 = y n + h s ( i=1 b ik i, wobei k i = f t n + c i h, y n + s j=1 a ijk j ). c 1 a 11... a 1s... c s a s1... a ss b 1... b s Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 41 / 62

Runge-Kutta-Verfahren https://commons.wikimedia.org/wiki/file:runge-kutta.svg Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 42 / 62

Beispiel Runge-Kutta-Verfahren 4. Ordnung Beispiel Runge-Kutta-Verfahren 4. Ordnung Butcher Tableau RK4 0 0 0 0 0 1 2 1 2 0 0 0 1 2 0 1 2 0 0 1 0 0 1 0 1 6 1 3 1 3 1 6 1. Definiere die 4 Koeffizienten: k 1 = f (t n, y n ) k 2 = f (t n + 0.5h, y n + 0.5hk 1 ) k 3 = f (t n + 0.5h, y n + 0.5hk 2 ) k 4 = f (t n + h, y n + hk 3 ) 2. Berechne den nächsten Schritt: y n+1 = y n + h ( 1 6 k 1 + 1 3 k 2 + 1 3 k 3 + 1 6 k 4). Implementiere das RK Verfahren, um die Airy Gleichung ü(t) tu(t) = 0 für u(0) = 0.35503 und u(0) = 0.25882 im Zeitintervall [ 40, 0] zu lösen. Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 43 / 62

Beispiel Runge-Kutta-Verfahren 4. Ordnung f = lambda t,y: array([ y[1], t y[0]]) def RK4(t0, y0, N, T): y RK4 = [] y RK4.append(y0) t RK4, h = linspace(t0, T, N+1, retstep =True) for i in range(n): k1 = f( t RK4 [i], y RK4[ 1]) k2 = f( t RK4 [i]+0.5 h, y RK4[ 1]+0.5 h k1) k3 = f( t RK4 [i]+0.5 h, y RK4[ 1]+0.5 h k2) k4 = f( t RK4 [i]+h, y RK4[ 1]+h k3) y RK4. append( y RK4[ 1]+h (1./6 k1+ 1./3 k2+1./3 k3+1./6 k4)) return t RK4, asarray( y RK4 ) Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 44 / 62

0.6 Airy function RK4 0.4 0.2 Ai(t) 0.0 0.2 0.4 0.6 RK4 exact 40 35 30 25 20 15 10 5 0 t Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 45 / 62

Runge-Kutta-Verfahren und Kollokation Runge-Kutta-Verfahren und Kollokation Grundidee: Kollokationsverfahren approximieren eine Differential, sodass Anfangsbedingung und die Differentialgleichung an Kollokationspunkten erfüllt ist Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 46 / 62

Runge-Kutta-Verfahren und Kollokation Runge-Kutta-Verfahren und Kollokation Grundidee: Kollokationsverfahren approximieren eine Differential, sodass Anfangsbedingung und die Differentialgleichung an Kollokationspunkten erfüllt ist Kollokationsmethoden erzeugen implizize Runge-Kutta-Verfahren. Für weitere Informationen: https://lp.uni-goettingen.de/get/text/1983 Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 47 / 62

Beispiel Gausskollokation 4. Ordnung Beispiel Gausskollokation 4. Ordnung Butcher Tableau 1 2 3 6 1 2 + 3 6 1 4 1 4 + 3 6 1 2 1 4 3 6 1 4 1 2 Gausskollokationsmethoden haben die Ordnung p = 2s, also für das nebenstehende Verfahren findet man p = 4. Implementiere ein Gausskollokationsverfahren 4. Ordnung, um die Airy Gleichung ü(t) tu(t) = 0 für u(0) = 0.35503 und u(0) = 0.25882 im Zeitintervall [ 40, 0] zu lösen. Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 48 / 62

Steife Differentialgleichungen Lernziele: Integration von steifen Differentialgleichungen, was für manche numerische Verfahren nur bei sehr kleiner Schrittweite möglich ist. Methoden: Beispiel explizites und implizites Eulerverfahren, Stabilitätsgebiet von Runge-Kutta-Verfahren, Radau-Verfahren und Rosenbrock-Wanner-Verfahren. Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 49 / 62

Beispiel Dahlquist sche Testgleichung Beispiel Dahlquist sche Testgleichung Wir betrachten das Beispiel ẏ = λy mit y(0) = 1 und λ < 0. Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 50 / 62

Beispiel Dahlquist sche Testgleichung Beispiel Dahlquist sche Testgleichung Wir betrachten das Beispiel ẏ = λy mit y(0) = 1 und λ < 0. Das explizite Eulerverfahren gibt y k = y k 1 + λhy k 1 = (1 λ h) k y 0, also 1 λ h < 1 und damit 0 < h < 2 λ. Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 51 / 62

Beispiel Dahlquist sche Testgleichung Beispiel Dahlquist sche Testgleichung Wir betrachten das Beispiel ẏ = λy mit y(0) = 1 und λ < 0. Das explizite Eulerverfahren gibt y k = y k 1 + λhy k 1 = (1 λ h) k y 0, also 1 λ h < 1 und damit 0 < h < 2 λ. Für zu grosse Schrittweiten h > 2 λ wird das explizite Eulerverfahren instabil. Das passiert bei impliziten Methoden nicht. y(t) 40 20 0 20 40 Stability Explicit Euler λ = 10, h = 0.21 0 2 4 6 8 10 t y(t) 1.0 0.8 0.6 0.4 0.2 Stability Explicit Euler λ = 10, h = 0.01 0.0 0 2 4 6 8 10 t Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 52 / 62

Stabilitätsfunktionen für Runge-Kutta-Verfahren Stabilitätsfunktionen für Runge-Kutta-Verfahren Für ein Butcher-Tableau von Stufe s c U b T und die Differentialgleichung ẏ = λy mit λ C ist die Stabilitätsfunktion S(z) = 1 + zb T (1 zu) 1 1 = det(1 zu+z1bt ) det(1 zu), wobei z := λh und 1 = (1,..., 1) T R s, cf. p. 280 im Skript. Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 53 / 62

Stabilitätsfunktionen für Runge-Kutta-Verfahren Stabilitätsfunktionen für Runge-Kutta-Verfahren Für ein Butcher-Tableau von Stufe s c U b T und die Differentialgleichung ẏ = λy mit λ C ist die Stabilitätsfunktion S(z) = 1 + zb T (1 zu) 1 1 = det(1 zu+z1bt ) det(1 zu), wobei z := λh und 1 = (1,..., 1) T R s, cf. p. 280 im Skript. Zum Beispiel ist für das explizite Eulerverfahren mit c = 0, U = 0 und b T = 1 die Stabilitätsfunktion S(z) = 1 + z. Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 54 / 62

Radau-Verfahren Radau-Verfahren Im Gegensatz zur Gausskollokation, welche die maximale Ordnung p = 2s haben, erreichen Radau-Verfahren die Ordnung p = 2s 1. Es handelt sich ebenfalls um ein implizites Runge-Kutta-Verfahren. Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 55 / 62

Radau-Verfahren Radau-Verfahren Im Gegensatz zur Gausskollokation, welche die maximale Ordnung p = 2s haben, erreichen Radau-Verfahren die Ordnung p = 2s 1. Es handelt sich ebenfalls um ein implizites Runge-Kutta-Verfahren. Beispiel Lösung der logistischen Gleichung Implementiere ein 2-stufiges Radau-Verfahren, um die logistische Gleichung ẏ = λy(1 y) mit y(0) = 0.1 und λ = 5 zu lösen. Das dazugehörige Butcher-Tableau ist, cf. p. 290 im Skript. 1 5 3 12 1 12 3 1 1 4 3 4 4 1 4 Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 56 / 62

Radau-Verfahren 1.0 Logistic Equation Radau y(t) 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 Radau exact 0.0 0.5 1.0 1.5 2.0 2.5 3.0 t Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 57 / 62

Rosenbrock-Wanner-Verfahren Rosenbrock-Wanner-Verfahren Grundidee: Implizite Runge-Kutta-Verfahren eignen sich gut zum Lösen steifer Anfangswertprobleme. Jedoch beinhaltet das die Lösung von Gleichungssystemen in jedem Iterationsschritt. Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 58 / 62

Rosenbrock-Wanner-Verfahren Rosenbrock-Wanner-Verfahren Grundidee: Implizite Runge-Kutta-Verfahren eignen sich gut zum Lösen steifer Anfangswertprobleme. Jedoch beinhaltet dies die Lösung von Gleichungssystemen in jedem Iterationsschritt. Linear implizite Verfahren, wie das Rosenbrock-Wanner-Verfahren, nutzen approximierte lineare Gleichungssysteme. Beispiel Lösung der logistischen Gleichung Implementiere Rosenbrock-Wanner-Verfahren der Ordnung 2 und 3, um die logistische Gleichung ẏ = λy(1 y) mit y(0) = 0.1 und λ = 5 zu lösen. Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 59 / 62

Rosenbrock-Wanner-Verfahren Rosenbrock-Wanner-Verfahren Grundidee: Implizite Runge-Kutta-Verfahren eignen sich gut zum Lösen steifer Anfangswertprobleme. Jedoch beinhaltet dies die Lösung von Gleichungssystemen in jedem Iterationsschritt. Linear implizite Verfahren, wie das Rosenbrock-Wanner-Verfahren, nutzen approximierte lineare Gleichungssysteme. Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 60 / 62

Rosenbrock-Wanner-Verfahren Rosenbrock-Wanner-Verfahren Grundidee: Implizite Runge-Kutta-Verfahren eignen sich gut zum Lösen steifer Anfangswertprobleme. Jedoch beinhaltet dies die Lösung von Gleichungssystemen in jedem Iterationsschritt. Linear implizite Verfahren, wie das Rosenbrock-Wanner-Verfahren, nutzen approximierte lineare Gleichungssysteme. Beispiel Lösung der logistischen Gleichung Implementiere Rosenbrock-Wanner-Verfahren der Ordnung 2 und 3 (p. 293 im Skript), um die logistische Gleichung ẏ = λy(1 y) mit y(0) = 0.1 und λ = 5 zu lösen. Weitere Informationen: https://www.math.hu-berlin.de/~lamour/lehre/ ODEs/script_NumDGL_Tischendorf.pdf Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 61 / 62

Rosenbrock-Wanner-Verfahren 1.0 Logistic Equation ROW y(t) 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 exact ROW 2 ROW 3 0.0 0.5 1.0 1.5 2.0 2.5 3.0 t Lucas Böttcher (ETH Zürich) PVK Numerik June 19, 2017 62 / 62