praktikum high performance computing · partikel betreten domain am gegenuberliegenden rand.¨...
Post on 14-Aug-2019
214 Views
Preview:
TRANSCRIPT
TU Munchen
Praktikum High Performance Computing
Projektaufgabe Molekulardynamik
Wolfgang EckhardtThomas Auckenthaler
18. Januar 2011
Wolfgang Eckhardt Thomas Auckenthaler: Praktikum High Performance Computing
, 18. Januar 2011 1
TU Munchen
Ubersicht
MD-Simulation: Prinzipieller Ablauf
Zeitintegration
Kraftbestimmung - Lennard-Jones Potential
Kurzreichweitige Krafte
MD – Implementierung
Wolfgang Eckhardt Thomas Auckenthaler: Praktikum High Performance Computing
, 18. Januar 2011 2
TU Munchen
MD-Simulation: Prinzipieller Ablauf
• Gegeben: Molekule mit Positionen x und Geschwindigkeiten v (sog. Phasenraum)• Zwischen Molekulen wirken Krafte• Kraft auf ein Molekul i:
Fi =∑i 6=j
Fij
• Molekul wird gemaß diesen Kraften bewegt, d.h. eine neue Position und neueGeschwindigkeit werden bestimmt
F = m · x ⇒ x =Fm
.• Gewohnliche Differentialgleichung mit Anfangsbedingungen: F = mx , gesucht x
zu einem Zeitpunkt t.• Wie bestimmt man die Krafte?• Wie bestimmt man Position x und Geschwindigkeit v?
Wolfgang Eckhardt Thomas Auckenthaler: Praktikum High Performance Computing
, 18. Januar 2011 3
TU Munchen
Diskretisierung - Zeitintegration
F = m · x
• Diskretisierung der Ableitungen durch Differenzenquotienten (aus Taylor-Reihehergeleitet):
δxδt
=x(t + δt)− x(t − δt)
2 · δt(1)
=xn+1 − xn−1
2 · δt(2)
δ2xδt2
=xn+1 − 2 · xn + xn−1
δt2(3)
• Einsetzen in unsere DGL liefert
F ni = m · xn
i (4)
= m ·xn+1
i − 2 · xni + xn−1
iδt2
(5)
xn+1i = 2 · xn
i − xn−1i + δt2 · F n
i /mi (6)
Wolfgang Eckhardt Thomas Auckenthaler: Praktikum High Performance Computing
, 18. Januar 2011 4
TU Munchen
Diskretisierung - Zeitintegration
• Stormer-Verlet-Verfahren:
xn+1i = 2 · xn
i − xn−1i + δt2 · F n
i /mi (7)
vni =
xn+1 − xn−1
2 · δt(8)
• Velocity-Stormer-Verlet-Verfahren:• (8) nach xn−1 auflosen und in (7) einsetzen liefert (9)• weitere Umformungen von (7) und (8) ergeben (10):
xn+1i = xn
i + δt · vni +
F ni · δt
2
2 ·mi(9)
vn+1i = vn+1
i +(F n + F n+1)δt
2 ·mi(10)
Wolfgang Eckhardt Thomas Auckenthaler: Praktikum High Performance Computing
, 18. Januar 2011 5
TU Munchen
Kraftbestimmung - Lennard-Jones Potential
• Potential U beschreibt potentielle Energie eines Korpers• Kraft F = −∇U• Bsp.: Gewichtskraft / Lageenergie
• Hier: Lennard-Jones-12-6 Potential: ULJ(rij)= 4ε
((σrij
)12−(σrij
)6)
• m = 6: van der Waals Anziehung (van der Waals Potential)• n = 12: Pauli Repulsion (Softsphere Potential)• Modellierung von Gasen / Flussigkeiten: (z.B. Edelgase wie Argon)
• Kraft zwischen 2 Molekulen: Fij = −∂U(rij)∂rij
= 24εrij
(2(σrij
)12−(σrij
)6)
−1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0 1 2 3 4 5
U*
r*
dim. red. Lennard−Jones 12−6 Potential
−2.5
−2
−1.5
−1
−0.5
0
0.5
0 1 2 3 4 5
F*
r*
dim. red. Lennard−Jones 12−6 Force
Wolfgang Eckhardt Thomas Auckenthaler: Praktikum High Performance Computing
, 18. Januar 2011 6
TU Munchen
LJ Atom-Parameter
e s
atom ε σ
[1.38066 · 10−23J]a [10−1nm]b
H 8.6 2.81He 10.2 2.28C 51.2 3.35N 37.3 3.31O 61.6 2.95F 52.8 2.83
Ne 47.0 2.72S 183.0 3.52Cl 173.5 3.35Ar 119.8 3.41Br 257.2 3.54
aBoltzmann-Konstante: kB := 1.38066 · 10−23 JK
b10−1nm = 1A (Angstom)
ε = Energyparameterσ = Langenparameter (vgl. van der Waals Radius)
→ Parameter Fitting mittels Experimenten
Wolfgang Eckhardt Thomas Auckenthaler: Praktikum High Performance Computing
, 18. Januar 2011 7
TU Munchen
Kurzreichweitige Krafte
−1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0 1 2 3 4 5
U*
r*
dim. red. Lennard−Jones 12−6 Potential
−2.5
−2
−1.5
−1
−0.5
0
0.5
0 1 2 3 4 5
F*
r*
dim. red. Lennard−Jones 12−6 Force
1
2
3
4
5
Fij Kraftmatrix
- F12 F13 F14 F15−F12 - F23 F24 F25−F13 −F23 - F34 F35−F14 −F24 −F34 - F45−F15 −F25 −F35 −F45 -
• Schneller Abfall der Krafte mit zunehmender Entfernungvolle Matrix mit O(n2), uberwiegend sehr kleinen Eintragen
Wolfgang Eckhardt Thomas Auckenthaler: Praktikum High Performance Computing
, 18. Januar 2011 8
TU Munchen
Kurzreichweitige Krafte
−1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0 1 2 3 4 5
U*
r*
dim. red. finites Lennard−Jones 12−6 Potential (rc=2)
−2.5
−2
−1.5
−1
−0.5
0
0.5
0 1 2 3 4 5
F*
r*
dim. red. finite Lennard−Jones 12−6 Force (rc=2)
1
2
3
4
5
Fij Kraftmatrix
- F12 F13 F14 0−F12 - 0 F24 F25−F13 0 - F34 0−F14 −F24 −F34 - F45
0 −F25 0 −F45 -
• Abschneideradius (cut-off radius) reduziert Berechnungsaufwand erheblichdunnbesetzte Kraftmatrix mit O(n) Eintragen
Wolfgang Eckhardt Thomas Auckenthaler: Praktikum High Performance Computing
, 18. Januar 2011 9
TU Munchen
Klassicher Linked-Cell Algorithmus
• Molekule sind in kubische Zellen mit Seitenlange rceingeordnet
• Lediglich die Nachbarzellen mussen nachInteraktionspartnern durchsucht werden
• runtime: O(n)• Nur die Halfte der Nachbarzellen werden explizit
durchlaufen (sog. Forwartsnachbarn, 3.Newton’sches Gesetz)
• Datenstruktur wird in jedem Zeitschritt aktualisiert.
Wolfgang Eckhardt Thomas Auckenthaler: Praktikum High Performance Computing
, 18. Januar 2011 10
TU Munchen
Linked-Cell Algorithmus – Datenstruktur I
0 1 2 3 4 5 6 7 8 9 10 11
12 23
24 35
108 119
inner zoneinner zone
boundary zoneboundary zoneHaloHalo
³rc
molecule 1data
nextincell
molecule 2data
nextincell
molecule 3data
nextincell
molecule 4data
nextincell
molecule 5data
nextincell
molecule xdata
nextincell
molecule Ndata
nextincell
sequential Version
cellseq. 1 cellseq. 2 cellseq. x cellseq. i
• Zellen werden in Array gespeichert• Jede Zelle halt eine Liste mit den
Molekulen, die in ihr enthalten sind• Halo-Region:
• Molekule werden nach jederIteration geloscht
• fur periodischeRandbedingungen benotigt
• Boundary-Region: wird furreflektierende und periodischeRandbedingungen benotigt.
• Reflektierende Randbedingungen: bewegt sich ein Partikel in den Halo, so wirdeine Kraft orthogonal zum Rand aufaddiert
• Periodische Randbedingungen: die Domain wird periodisch fortgesetzt.• Partikel betreten Domain am gegenuberliegenden Rand.• Partikel des gegenuberliegenden Randes werden in Halo kopiert.
Wolfgang Eckhardt Thomas Auckenthaler: Praktikum High Performance Computing
, 18. Januar 2011 11
TU Munchen
Linked-Cell Algorithmus – Datenstruktur II
-50 -49 -48 -47 -46
-39 -38 -37 -36 -35 -34 -33
-28 -27 -26 -25 -24 -23 -22 -21 -20
-16 -15 -14 -13 -12 -11 -10 -9 -8
-4 -3 -2 -1
rc
-25 -24 -23
-19 -18 -17 -16
-14 -13 -12 -11 -10
-8 -7 -6 -5 -4
-2 -1
rc
-20
• Offset-Maske, um die Nachbarzellen zu bestimmen• Cache-Effizienz wird durch die Bearbeitungsreihenfolge beeinflusst
(Zeitliche Lokalitat)
1
2
3
4
5
Wolfgang Eckhardt Thomas Auckenthaler: Praktikum High Performance Computing
, 18. Januar 2011 12
TU Munchen
Aufgabe: Parallelisiserung einer Molekulardynamik-Simulation
Szenario: Rayleigh-Taylor Instabilitat
Wolfgang Eckhardt Thomas Auckenthaler: Praktikum High Performance Computing
, 18. Januar 2011 13
TU Munchen
Sonstiges
Visualisierung: mit Paraview fur das kleine Szenario (nicht zu viele Zeitschritterausschreiben!)
Weiterfuhrendes Material zu MD:• Folien zu Algorithmen des Wissenschaftlichen Rechnens II• Griebel, Knapek, Zumbusch: Numerical Simulation in Molecular Dynamics,
Springer Verlag
Wolfgang Eckhardt Thomas Auckenthaler: Praktikum High Performance Computing
, 18. Januar 2011 14
top related