Beruflich Dokumente
Kultur Dokumente
Lecture Nms Pdg Ss-2024
Lecture Nms Pdg Ss-2024
und Simulation
Methoden zur numerischen Lösung gewöhnlicher
Differentialgleichungen (Teil 1)
Andreas Grüneis
Inhalt
1.Einführung Gitterverfahren
2.Verfahren für Differentialgleichungen 1. Ordnung
3.Beurteilung von Differenzenverfahren
4.Numerow-Verfahren
5.Split-Operator-Methode
6.Stabilitätsanalyse
7.Symplektische Integrationsverfahren
@u 1 @u @2u @2u
= u =a 2 2
= 2⇢
@t ⌧ @t @x @x
Zerfallsgleichung Diffusionsgleichung Poissongleichung
@ @2A 2 @ 2
A @2x
i~ =H 2
=c = !2 x
@t @t @x2 @t2
Klassi zierung:
2
B 4AC > 0 hyperbolisch
B2 4AC = 0 parabolisch
2
B 4AC < 0 elliptisch
@2A 2 @ 2
A
2 Wellengleichung =c
B 4AC > 0 hyperbolisch @t2 @x2
@u @2u
B2 4AC = 0 parabolisch Diffusionsgleichung @t
=a 2
@x
2 @2u @2u
B 4AC < 0 elliptisch Poissongleichung @x2
+ 2 =
@y
2⇢
@2A 2 @ 2
A
2 Wellengleichung =c
B 4AC > 0 hyperbolisch @t2 @x2
@u @2u
B2 4AC = 0 parabolisch Diffusionsgleichung @t
=a 2
@x
2 @2u @2u
B 4AC < 0 elliptisch Poissongleichung @x2
+ 2 =
@y
2⇢
@z1
= z2
@x
@z2
✓ ◆ = z3
n
@ y 2
@y @ y (n 1)
@ y @x
=f x, y, , 2 , ..., (n 1) !
@x n @x @x @x …
@zn
= f (x, z1 , ..., zn )
@x
@y @ (n 1) y
Wobei z1 = y, z2 = , ..., zn =
@x @x(n 1)
• Diskretisierung
✓ ◆
@y @y
= f (x, y) ! = f (xn , y(xn ))
@x @x xn
xn heißt Stützstelle
xn = n x
x heißt Schrittweite
x1 x2 x3 x4 x5 x6 x1 x2 x3 x4 x5 x6
…
• Alle numerischen Verfahren zur Lösung von DG basieren auf langwelliger Näherung
Z xn+1
Beispiel: dy(x)
= y(x) f (x, y)dx
dx
xn
1 0
Exact
0.8 -0.2
0.6
f(x,y) -0.4
y(x)
0.4 -0.6
0.2 -0.8
-1
0
xn xn+1 xn+2 xn+3 xn+4 xn xn+1 xn+2 xn+3 xn+4
Ein numerisches Verfahren ist konsistent in p-ter Ordnung wenn alle Terme
bis ( x)p mit der exakten Reihenentwicklung übereinstimmen.
p
X k
✓ k 1
◆
( x) d f (x, y)
y(xn+1 ) = y(xn ) +
k! dxk 1 xn
k=1
138.094 Numerische Methoden und Simulation
Einschrittverfahren
X1 k
✓ k 1 ◆
( x) d f (x, y)
y(xn+1 ) = y(xn ) +
k! dxk 1 xn
k=1
| {z }
= x (xn ,y(xn ); x)
(xn , y(xn ); x)
heißt Inkrementfunktion und ist charakteristisch für numerische
Näherung. Die Inkrementfunktion wird auch Schrittfunktion genannt. Ein
numerisches Verfahren ist konsistent in p-ter Ordnung wenn
y(x + Δx) − y(x) p
− Φ(x, y; Δx) = ((Δx) )
Δx p
Obige Bedingung ist gleichbedeutend damit, dass alle Terme bis ( x) mit
der exakten Reihenentwicklung übereinstimmen.
p
X k
✓ k 1 ◆
( x) d f (x, y)
y(xn+1 ) = y(xn ) +
k! dxk 1 xn
k=1
𝒪
138.094 Numerische Methoden und Simulation
Einschrittverfahren
p
X k
✓ k 1
◆
( x) d f (x, y)
y(xn+1 ) = y(xn ) +
k! dxk 1 xn
k=1
k=1 f Euler
df @f @f dy Modi ed Euler/
k=2 = + = fx + fy f Heun
dx @x @y dx
d2 f 2 2
k=3 2
= f xx + 2f xy f + f f
x y + f yy f + f yf RK3
dx
Beispiel: 0.8
Exact
Euler Δx = 1 -0.2
0.6 -0.4
f(x,y)
y(x)
dy(x)
= y(x) 0.4 -0.6
dx
0.2 -0.8
=1
0 -1
xn xn+1 xn+2 xn+3 xn+4 xn xn+1 xn+2 xn+3 xn+4
1 0
Exact
0.8 Euler Δx = 0.5 -0.2
0.6 -0.4
f(x,y)
y(x)
0.4 -0.6
0.2 -0.8
0
x x x x x x x x x -1
x x x x x x x x x
n n+ n n n n n n n n n+ n+ n+ n+ n+ n+ n+ n+
1 +2 +3 +4 +5 +6 +7 +8 1 2 3 4 5 6 7 8
f(x,y)
1 1
= f + (f + xfx + xfy f ) -0.6
2 2
-0.8
x
=f+ (fx + fy f ) -1
2 xn xn+1 xn+2 xn+3 xn+4
f(x,y)
x
y(xn+ 12 ) = y(xn ) + f (xn , y(xn )) -0.6
2
-0.8
y(xn+1 ) = y(xn ) + xf (xn+ 12 , y(xn+ 12 ))
-1
xn xn+1 xn+2 xn+3 xn+4
Entwicklung von (x, y; x) nach x zeigt, daß
Verfahren konsistent in zweiter Ordnung ist.
x x x
=f+ fx + fy f = f + (fx + fy f )
2 2 2
0
Nachteil:
Leapfrog benötigt Kenntnis über den -0.2
f(x,y)
daher nicht selbststartend. -0.6
Vorteil: -0.8
Z xn+1
Vergleich mit y(xn+1 ) = y(xn 1) + f (x, y(x))dx
xn 1
Nachteil: -0.2
f(x,y)
Gleichung vor. Für Systeme die nicht linear in -0.6
verwendet. -1
xn xn+1 xn+2 xn+3 xn+4
-0.4
Nachteil:
f(x,y)
-0.6
Unbekannte kommt auf beiden Seiten der
Gleichung vor. Für Systeme die nicht linear in -0.8
verwendet.
Vorteil:
Unbedingt stabil für Zerfallsgleichung sowie Oszillator.
Ef zienz
Rechenaufwand Speicheraufwand
i. Allg. dominiert durch Anzahl i. Allg. dominier t durch
der Funktionsaufrufe f (x, y) Anzahl der Schritte.
̂
− ℏi HΔt ̂
− ℏi TΔt/2 ̂
− ℏi VΔt ̂
− ℏi TΔt/2
ψ(x, t + Δt) = e ψ(x, t) ≈ e e e ψ(x, t)
Zeitpropagation:
t1 = t0 + Δt : ψ (x, t ) ist gegeben. ψ̃ (k, t0) = ℱ[ψ (x, t0)]
0
−1 2
ψ(x, t1) = ℱ [ψ̃(k, t1)] Ψ̃(k, t1) = e −i ℏk
2m Δt/2 Φ̃(k, t0)
…..
dx
"chaos.dat" u 1:2:3
=a(y x)
50
45
40
35
dt
30
25
20 dy
=x(b z) y
15
10
5
-20
-15 25 30
dt
-10 15 20
-5
0
5
10 -10 -5 0
5 10
dz
15
20 -25
-20-15
=xy cz
dt
https://github.com/andreasgrueneis/NMS-Notebooks
~r
Sun Earth
F~
d2~r F~ (~r(t)) F~ = G ~r
M s me
2
= |~r|3
dt me
138.094 Numerische Methoden und Simulation
Anwendung: Bewegungsgleichung
Anleitung zur Aufgabenstellung:
✓ ◆ ✓ ◆
M s me ~r˙ (t) ~v (t)
F~ = G ~r =
|~r|3 ~v˙ (t) F~ (t)/me
kg · s2
Ms = re = 1 AU
Problemspezi sche Einheiten re 3
me =1 G=
me · Days2
✓ ◆ ✓ ◆
M s me ~r˙ (t) ~v (t)
F~ = G ~r =
|~r|3 ~v˙ (t) F~ (t)/me
Z tn+1
Integration dt liefert Schrittgleichung für ~
r(tn+1 ) und ~v (tn+1 ).
tn
Andreas Grüneis
Inhalt
• Wiederholung
• Stabilitätsanalysen und Vergleich unterschiedlicher Verfahren
• Symplektische Integrationsmethoden
Ef zienz
Rechenaufwand Speicheraufwand
i. Allg. dominiert durch Anzahl i. Allg. dominier t durch
der Funktionsaufrufe f (x, y) Anzahl der Schritte.
y(x)
0
Bei Instabilität werden Abweichungen von
der exakten Lösung verstärkt. -1
y(xn+1 ) + ✏(xn+1 ) = T [y(xn ) + ✏(xn )]
-2
Stabilität ist i. Allg. von Schrittweite abhängig. 0 5 10 15 20
x
Explizites Euler-Verfahren
y(xn+1 ) = y(xn ) + xf (xn , y(xn ))
https://github.com/andreasgrueneis/NMS-Notebooks
138.094 Numerische Methoden und Simulation
Stabilitätsanalyse
Oszillator
✓ ◆ ✓ ◆✓ 2
◆
d q 0 1 m! q
= p
dt p 1 0 m
✓ ◆ ✓ ◆✓ ◆
d q 0 1 m! 2 q
Verfahren Ordnung dt p
=
1 0 p
m
Euler (implizit) ( x) ! x
stabil 1
Crank-Nicolson (implizit) (Δx)2 stabil
138.094 Numerische Methoden und Simulation
Symplektische Verfahren
• Symplektische Verfahren eignen sich für Zeitentwicklung von Problemen aus der
Hamiltonmechanik (Molekulardynamik, Keplerproblem, …)
dp @H dq @H
= , = H(p, q) = T (p) + V (q)
dt @q dt @p
Entspricht System von Differentialgleichungen erster Ordnung:
✓ ◆ ✓ ◆ ! ✓ ◆ ✓ ◆
@H
d q(t) 0 1 @q q(t) q(0)
= @H = Â(t)
dt p(t) 1 0 @p
p(t) p(0)
| {z }
=J
• Symplektische Form muß erhalten
✓ bleiben,
◆ d.h. es gilt ✓ ◆
T q2 (0) q2 (0)
(q1 (0), p1 (0))Â (t)J Â(t) = (q1 (0), p1 (0))J
p2 (0) p2 (0)
Daraus ergibt sich folgende Bedingung für symplektisches Integrationverfahren.
|det(A(t))| = 1 Fläche bleibt erhalten (Liouville’s theorem)
138.094 Numerische Methoden und Simulation
Symplektische Verfahren
Harmonischer Oszillator
✓ ◆ ✓ ◆✓ ◆
d q 0 1 m! 2 q
= p
dt p 1 0 m
✓ ◆ ✓ t
◆ ✓ ◆
qn+1 1 1 m
q n
= 2
pn+1 2
1 + ( t) ! 2 tm! 1 pn
| {z }
=A
( 2 )
2
ωΔt Δt
1−
( n+1) (pn)
qn+1 1 m qn
p =
( 2 )
(Δt)2ω 2 2
1+ 4 −Δtmω 2 1−
ωΔt
=A
Symplektisch, weil det(A) = 1
Implizite Verfahren:
• Exzellente Verfahren sofern Gleichungssystem einfach lösbar (linear in
Unbekannter) ist
• Genauigkeit für kurze Integrationsbereiche abhängig von Ordnung
• Häu g uneingeschränkte Stabilität
• Nicht notwendigerweise symplektisch
fi
Anwendung: Helium
• Schrödingergleichung für Elektron im Helium atom (Z=2)
✓ ◆
r2 Z
+ (r) (r) = " (r)
2 r
✓ 2
◆
1 d Z
+ (r) u(r) = " u(r)
2 dr2 r
Iteration 1 Numerow
✓ 2
◆
r Z
(r) = 0 ,
2 r
+ (r) (r) = " (r) ! (r)
Numerow
⇢(r) = | (r)|2 , r 2
(r) = 4⇡⇢(r) ! (r)
Iteration 2 Numerow
✓ 2
◆
r Z
2 r
+ (r) (r) = " (r) ! (r)
Numerow
r2 (r) = 4⇡⇢(r) ! (r)
Iteration … …
138.094 Numerische Methoden und Simulation
fi
Anwendung: Helium
• Schrödingergleichung für Elektron im Helium atom (Z=2)
✓ ◆
r2 Z
+ (r) (r) = " (r)
2 r
Numerow-Verfahren: Integration von innen nach außen
lim r (r) ⇡ r(1
Startwerte folgen aus r!0 rZ)
Schießverfahren: Bestimmung von ✏
2 2
r (r) = 4⇡⇢(r) mit ⇢(r) = | (r)|
Numerow-Verfahren: Integration von außen nach innen
lim r (r) = 1
Startwerte folgen aus r!1
fi
Anwendung: Helium
Programmiertipps (C++):
• Verwenden Sie das bereitgestellte Skelett zur Implementierung in Fortran.
helium.cxx
• Kompilieren mit Modulen. Achten Sie auf die Reihenfolge der Dateien!
• Vergleich: 6
"Hydrogen_orbital.dat" u 1:2
"Hydrogen_orbital_potential.dat" u 1:2
5
-1
0 1 2 3 4 5 6 7