Einführung in Simulationen mit Monte Carlo und Brownscher Dynamik

Werbung
Einführung in Simulationen mit
Monte Carlo und
Brownscher Dynamik
Martin Oettel
Johannes Bleibel
Die Monte Carlo-Methode
1. Beispiel
Bestimmung von π
π =
1
1
1
∫−1 dx∫−1 dy G (x , y )
G (x , y) = θ(1− √ x2 + y 2) (physikalische Größe)
{
θ(x) = 1 (x>0)
0 (sonst)
Würfeln
x j = RANDOM_NUMBER ([−1,1])
y j = RANDOM_NUMBER ([−1,1])
π ≈
1
M
M
∑ j =1 θ(1− √ x2j + y 2j )
Übersetzung: Welcher Anteil der Zufallspunkte
liegt im Kreis?
−1
−1
1
Die Monte Carlo-Methode
1. Beispiel - Programmieraufgabe im VM Physik für Nanoscience
●
Schreiben Sie ein MC-Programm für π
●
Unterteilen Sie die Gesamtzahl der “Messungen”:
N = N samples⋅N meas
In jedem “sample” haben Sie Nmeas Messungen, bilden Sie den
Mittelwert in jedem “sample”.
Berechnen Sie den Mittelwert über alle “samples”.
Berechnen Sie die Standardabweichung und die Unsicherheit des Mittelwertes
über alle “samples”.
●
Veranschaulichen Sie dies entsprechend, vor allem als Funktion von
Nsamples
N samples
N meas = 1000,
Fehlerbalken: σ mean =
∑i=1
(π i − ̄π )
√ N samples ( N samples−1)
π
× 100 = N samples
,
πi =
1
N meas
N meas
∑ j=1 πij
Statistische Theorie der physikalischen Eigenschaften
(Statistische Mechanik)
Beispiel: Verteilung der Moleküle in einer Flüssigkeit
N Teilchen
●
●
●
jedes Teilchen kann sich im gesamten Raum
aufhalten, ist aber mit allen anderen Teilchen “korreliert”
Verteilung wird beschrieben durch eine
Verteilungsfunktion = Wahrscheinlichkeitsdichte
f ( r⃗1 ,... , r⃗N )
Integral über alle Teilchenpositionen ist 1:
Verteilungfunktion ist normiert
∫ d 3 r 1 ...∫ d 3 r N
●
f ( r⃗1 , ... , r⃗N ) = 1
Eine physikalische Größe sei Funktion der Teilchenkoordinaten:
Der Erwartungswert dieser Größe ist dann:
⟨G ⟩ =
∫ d 3 r1 ...∫ d 3 r N
Einfaches Beispiel: Schwerpunkt
G = G (⃗
ri)
G (⃗
r i ) f ( r⃗1 ,... , r⃗N )
1
G ( r⃗i ) →
N
N
∑i=1 r⃗i
Selbst wenn f bekannt ist, dann erfordert die Berechnung des Erwartungswert einer physikalischen
Größe (wie der Schwerpunkt) im Prinzip eine 3N-dimensionale Integration !
Statistische Theorie der physikalischen Eigenschaften
Strategien zur Lösung des Integrals
⟨G ⟩ =
∫ d 3 r1 ...∫ d 3 r N
G (⃗
r i ) f ( r⃗1 ,... , r⃗N )
N Teilchen zum Zeitpunkt t
1. Molekulardynamik
Man löst die Bewegungsgleichungen von N
r i (t )
Teilchen näherungsweise numerisch, erhält also ⃗
Dann:
⟨G ⟩ ≈ limT →∞
1
T
T
∫0 dt
G ( r⃗i (t))
Was steckt dahinter? Für lange Zeiten strebt ein System
ins Gleichgewicht.
N Teilchen zum Zeitpunkt t+Δt
Ergodenhypothese: Die zeitlich gemittelte Verteilung der Teilchen im Raum (aufgrund der
r i (t ) ), strebt der Gleichgewichtsverteilung
f eq ( r⃗1, ... , r⃗N ) zu.
Lösung ⃗
⟨G ⟩ =
∫ d 3 r1 ...∫ d 3 r N
G (⃗
r i ) f eq ( r⃗1 , ... , r⃗N ) ≈
M Zeitschritte,
1
M
t j = j Δt
M
∑ j=1 G ( ⃗ri (t j ))
Statistische Theorie der physikalischen Eigenschaften
Strategien zur Lösung des Integrals
⟨G ⟩ =
∫ d 3 r1 ...∫ d 3 r N
G (⃗
r i ) f ( r⃗1 ,... , r⃗N )
2. Monte Carlo
“Boltzmann-Faktor”: Die Gleichgewichtsverteilung ist bekannt und lautet
1 −
f eq ( r⃗1 ,... , r⃗n ) =
e
Z
E pot ( r⃗1 ,... , r⃗n )
kT
−23
k ≈ 1.38⋅10
J/K
Boltzmann-Konstante
Z heißt Konfigurationsintegral und normiert feq
Z =
∫d
3
3
r 1 ...∫ d r N e
−
E pot ( r⃗1 ,... , r⃗n )
kT
Epot ist die gesamte potentielle Energie der Moleküle
Beispiel: Flüssigkeit an einer Wand
Paarpotential
u
externes
Potential
(Wand)
E pot =
N
∑i=1 ∑ j <i u (⃗ri − r⃗j )
+
N
∑i=1 V ext (⃗r i )
Statistische Theorie der physikalischen Eigenschaften
Strategien zur Lösung des Integrals
⟨G ⟩ =
∫ d 3 r1 ...∫ d 3 r N
G (⃗
r i ) f ( r⃗1 ,... , r⃗N )
2. Monte Carlo (MC)
Anstatt 3N Integrale zu lösen, “würfeln” wir auf eine geschickte Art und Weise
M mal unsere Koordinaten: ⃗
r i → ⃗r i , j ( j =1 ... M )
⟨G ⟩ =
∫ d 3 r1 ...∫ d 3 r N
G (⃗
r i ) f eq ( r⃗1 , ... , r⃗N ) ≈
1
M
M
∑ j=1 G (⃗r i , j )
Man beachte die formale Ähnlichkeit zu Molekulardynamik:
r i (t j )
⃗
MD:
Lösen der Bewegungsgleichung in M Schritten
→
⃗r i , j
MC:
“Würfeln” der Koordinaten
M mal
Die genauen “Würfel”regeln (importance sampling) kommen später.
Die Monte Carlo-Methode
1. Beispiel noch einmal
Bestimmung von π
π =
1
1
1
∫−1 dx∫−1 dy f ( x , y) G ( x , y)
f ( x , y) = 1
(Gleichverteilung)
G (x , y) = θ(1− √ x2 + y 2) (physikalische Größe)
{
θ(x) = 1 (x>0)
0 (sonst)
Würfeln
x j = RANDOM_NUMBER ([−1,1])
y j = RANDOM_NUMBER ([−1,1])
π ≈
1
M
M
∑ j =1 θ(1− √ x2j + y 2j )
Übersetzung: Welcher Anteil der Zufallspunkte
liegt im Kreis?
−1
−1
1
Die Monte Carlo-Methode
2. Ein Beispiel von Daan Frenkel: Durchschnittstiefe des Nils
⟨ Niltiefe⟩ =
Nil
∫ dx ∫ dy
f ( x , y) G (x , y )
{
f ( x , y) = 1 (Punkt im Nil)
0 (sonst)
G (x , y) = z ( x , y)
Naives Monte Carlo: Zufallspunkte auf
quadratischer Karte
⟨ Niltiefe⟩ =
1
M
M
∑ j=1 f (x j , y j )G (x j , y j )
ist meistens 0!
Das ist nicht das, was wir wollen!
Die Monte Carlo-Methode
3. “Importance sampling” und Metropolis-Algorithmus
Wir wollen:
⟨G ⟩ =
∫ d 3 r1 ...∫ d 3 r N G ( ⃗ri ) f eq ( r⃗1 , ... , r⃗N ) ≈
1
⟨G ⟩ ≈
M
und nicht:
(
M
∑ j=1
1
M
M
∑ j=1 G (⃗r i , j )
G ( ⃗r i , j ) f eq ( ⃗r 1, j , ... , ⃗r N , j )
1 −
f eq ( r⃗1 ,... , r⃗n) =
e
Z
E pot ( ⃗
r 1 , ... , r⃗n )
kT
)
Wir wollen also Zufallszahlen ⃗r i , j erzeugen, deren Verteilung mit dem
Boltzmann-Faktor
f eq
gewichtet sind.
Die Monte Carlo-Methode
3. “Importance sampling” und Metropolis-Algorithmus
Der Algorithmus:
1. Starte mit einer beliebigen Anfangskonfiguration:
2. Für jedes Teilchen:
Berechne potentielle Energie vor Verrückung
r i = ⃗r i , 0
⃗
E pot,vor = E pot (⃗r 1 ,... ,⃗r N )
x'i
xi
r1
y ' i = yi + Δ x r2
z 'i
zi
r3
( ) () ()
Verrücke Position zufällig:
r 1, r 2, r 3 ... Zufallszahlen zwischen -1 und 1
Berechne Energieänderung:
Δ E pot = E pot (⃗r 1 , ... , ⃗r ' i ,... ,⃗r N )−E pot,vor
Akzeptiere oder verwerfe die neuen Koordinaten:
Δ E pot < 0 : ⃗r i = ⃗r ' i
Δ E pot > 0 : ⃗r i = ⃗r ' i nur mit Wahrscheinlichkeit e
−
Δ E pot
kT
Wiederhole die Schritte unter 2. für jedes Teilchen. Benutze
immer die aktuellen Koordinaten der Teilchen.
3. Berechne die physikalische Größe
G 1 = G (⃗r 1 ,... , ⃗r N )
4. Wiederhole Schritte 2 und 3 M-1 mal
5. Endresultat:
⟨G ⟩ =
1
M
M
∑ j=1 G j
Die Monte Carlo-Methode
3. “Importance sampling” und Metropolis-Algorithmus
Warum funktioniert dieser Algorithmus?
Der Monte Carlo-Schritt (2.) würfelt uns eine neue Konfiguration.
Minimale Bedingung: Haben wir schon Konfigurationen erreicht, die mit f eq verteilt sind, so
bleiben die neuen Konfigurationen auch mit f eq verteilt.
Gedankenexperiment: - Konfigurationen seien numerierbar:
(z.B. durch Diskretisierung des Raumes)
c k = {⃗r 1 ,... , ⃗r N }k
- sehr viele Monte Carlo-Schritte, angewandt auf sehr viele Konfigurationen
- Monte Carlo-Schritt definiert uns eine Übergangsrate =
Übergangswahrscheinlichkeit pro Schritt zwischen den Konfigurationen
p k →l = p(c k → cl )
- Gleichgewicht: Es gilt für alle Konfigurationen
∑k ≠l
f eq (cl ) p l → k =
Rate, mit der cl
verlassen wird
“balance”
∑k≠l
f eq (ck ) p k →l
Rate, mit der cl
erreicht wird
cl
Die Monte Carlo-Methode
3. “Importance sampling” und Metropolis-Algorithmus
Warum funktioniert dieser Algorithmus?
Gedankenexperiment: - Gleichgewicht, stärkere Bedingung:
Es gilt für alle Paare von Konfigurationen
f eq (c l ) p l →k = f eq (c k ) p k →l
c k , cl
“detailed balance”
Wenn “detailed balance”, dann auch “balance”!
- Also:
p l →k
f (c )
= eq k = e
p k →l
f eq (c l )
E pot,l −E pot , k
kT
- Check Metropolis-Algorithmus: dies wird genau erfüllt!
Entwicklung zum Gleichgewicht: Wir haben gesehen, dass Metropolis uns im Gleichgewicht
lässt. Aber kommen wir auch dahin, wenn wir mit einer beliebigen Konfiguration beginnen?
Das ist nicht einfach zu beantworten, muss in jedem Fall praktisch getestet werden.
Die Monte Carlo-Methode
4. Praktische Hinweise zur Implementierung von Metropolis
●
●
●
●
Harte Potentiale und “MC move” (Verrückung) :
kein Überlapp mit anderen Teilchen → Akzeptanz
Überlapp → Ablehnung
periodische Randbedingungen: bei “move” und Überlappsbestimmung
beachten!
“acceptance ratio”: 0.1 ... 0.9 (Bedingung an Δ x !)
Observable (Messgrößen) als unabhängige Funktionen definieren.
Maximal einmal pro “sweep” (“attempted move for all particles”) messen!
Die Monte Carlo-Methode
5. Eine Observable: Paarkorrelationsfunktion
r
g (r) = lim Δ V → 0
ΔV
N ΔV
1
⋅
ΔV
( N /V )
( )
normierte Wahrscheinlichkeit dafür, im Abstand r zu einem
Testteilchen andere Teilchen zu finden
Monte-Carlo Mehode
Beispiel: Paarkorrelationsfunktionen für harte Kugeln
Programmieraufgabe im VM Physik für Nanoscience
Bestimmen Sie die Paarkorrelationsfunktion mit Fehlerbalken
für harte Kugeln:
●
●
Teilchenzahlen N = O(100)
Dichten ρ* = 0.2 , 0.5 und 0.94
( ρ* = ρσ3, σ = 2 R: Hartkugeldurchmesser )
N= 340, 10 samples mit 100 sweeps
ρ
σ
∗
= 0.2
2σ
3σ
N= 340, 10 samples mit 100 sweeps
ρ
σ
2σ
∗
= 0.5
3σ
Part II
Brownian Dynamics
Reminder: Statistical Mechanics
Beispiel: Verteilung der Moleküle in einer Flüssigkeit
N Teilchen
●
●
●
jedes Teilchen kann sich im gesamten Raum
aufhalten, ist aber mit allen anderen Teilchen “korreliert”
Verteilung wird beschrieben durch eine
Verteilungsfunktion = Wahrscheinlichkeitsdichte
f ( r⃗1 ,... , r⃗N )
Integral über alle Teilchenpositionen ist 1:
Verteilungfunktion ist normiert
∫ d 3 r 1 ...∫ d 3 r N
●
f ( r⃗1 , ... , r⃗N ) = 1
Eine physikalische Größe sei Funktion der Teilchenkoordinaten:
Der Erwartungswert dieser Größe ist dann:
⟨G ⟩ =
∫ d 3 r1 ...∫ d 3 r N
Einfaches Beispiel: Schwerpunkt
G = G (⃗
ri)
G (⃗
r i ) f ( r⃗1 ,... , r⃗N )
1
G ( r⃗i ) →
N
N
∑i=1 r⃗i
Selbst wenn f bekannt ist, dann erfordert die Berechnung des Erwartungswert einer physikalischen
Größe (wie der Schwerpunkt) im Prinzip eine 3N-dimensionale Integration !
Die Molekulardynamik-Methode
1. Übersicht
Ziel: Berechnung von gemittelten physikalischen Größen:
⟨G ⟩ ≈ lim T →∞
1
T
T
∫0 dt
G ( r⃗i (t))
→ man benötigt ⃗r i (t )
d.h. ausgehend von einer Anfangsverteilung der Teilchen im Raum, werden die
Bewegungsgleichungen integriert:
m r⃗¨i = F⃗ i
gesamte Kraft auf Teilchen i
2. zeitliche Ableitung → 2 mal integrieren!
Schwierigkeiten:
- F⃗ i : im allgemeinen schwierig zu bestimmen (WW zwischen N Teilchen!)
→ Ansatz: berücksichtige nur paarweise Wechselwirkungen
N
F⃗ i =∑ j=1, j≠i F⃗ij mit
F⃗ij =∇ V ( r⃗i , r⃗j )
- zweifache numerische Integration
Die Molekulardynamik-Methode
2. Integration mittels Euler-Verfahren
Betrachte x-Komponente eines Teilchens:
ẍ=F x / m
bzw.
dv x
=F x/ m
dt
Taylor-Entwicklung der Geschwindigkeit:
v x (t )=v x , 0 +
dv x
dt
v x (t )−v x , 0 =
Δ v x=
|
t =t 0
dv x
dt
∗(t −t 0 )
|
t =t 0
F
Δt
m
Δt
diskreter Zeitschritt
Änderung der Geschwindigkeit des Teilchens
(zweite Integration für die Position analog)
Vorteile: - einfaches Verfahren
- unaufwendige Implementierung
Nachteile: - benötigt kleine Zeitschritte
- Stabilität
Die Molekulardynamik-Methode
3. Der Algorithmus (Prinzip)
Berechnug der
Kräfte
Integration der
Bewegungsgleichungen
(neue Position, neue Geschwindigkeit)
Ende
Berechnung von
Observablen
integriere n Zeitschritte, mittle über m Durchläufe
ein Zeitschritt
ein Durchlauf
Initialisierung
(Position, Geschwindigkeit)
Die Molekulardynamik-Methode
4. Brown'sche Dynamik (Teilchen in Flüssigkeiten)
Moleküle der Flüssigkeit sind klein gegen die Teilchengröße
Explizite Beschreibung aller Flüssigkeitsmoleküle und Teilchen ist aufwändig
- viele Stöße pro Zeitintervall
- im Prinzip deterministisch, praktisch aber zufällig
- Brown'sche Bewegung
- Idee: Füge eine zufällige Kraft in die Bewegungsgleichungen ein
Newton'sche Dynamik
Langevin Dynamik
Die Molkulardynamik-Methode
5. Überdämpfte Bewegung
kleine Reynoldszahl
ρv d
Re= η
Verhältnis von Trägheitskräften zu
Zähigkeitskräften
Starke Dämpfung (hohe Reibungskraft)
Trägheit wird vernachlässigbar
d.h. Teilchen bewegen sich nur unter Einwirkung einer Kraft!
Die Dynamik wird reversibel!
Bewegungsgleichung (übergedämpfter Grenzfall):
sehr einfache Bewegungsgleichung
nur eine Integration nötig
v⃗i =Γ F⃗ i
Mobilität Γ=
1
6 π ηd
Die Molekulardynamik-Methode
5. Überdämpfte Bewegung
Bewegungsgleichung (übergedämpfter Grenzfall):
v⃗i =Γ F⃗ i
Gesamtkraft enthält Zufallskraft: F⃗ i =−∇ V + F⃗rand
v⃗i =Γ(−∇ V )+Γ F⃗rand
zufällige Geschwindigkeit
konservative Kräfte
Mit Euler Verfahren:
Δ r⃗i =(Γ(−∇ V )+Γ F⃗rand )Δ t
Δ r⃗i =Γ (−∇ V )Δ t + r rand
⃗
Änderung der Position
Position-Langevin Gleichung:
zufällige Verschiebung
konservative Kräfte (Drift)
⃗ + r rand
⃗r˙ =Γ F
⃗
⟨r 2 ⟩
Die Molekulardynamik-Methode
6. Mittleres Verschiebungsquadrat - Diffusion
D=Γ k B T
Einstein (1905) und Smoluchowski (1906):
Boltzmann Konstante
Diffusionskonstante
Messung der Diffusion: Mittleres Verschiebungsquadrat
2
⟨r (t )⟩= ⟨ ⃗r (t )−⃗r (t=0) ⟩
damit:
D=
1 2
⟨ r (t )⟩
4t
bzw.
2
(gemittelt über alle Teilchen)
⟨r 2 (t )⟩=4Dt
(2D)
1. Ziel der Brown'schen Dynamik: korrekte Beschreibung der Diffusion!
Steuerung des MSD über die zufälligen Verschiebungen
Breite der Zufalssverteilung soll von Temperatur und Mobilität abhängen
⟨ ⃗r rand ⟩=0
σ= √ 2 Γ k B T Δ t =√ 2 D Δ t
Die Molekulardynamik-Methode
7. Details zur Implementierung – Einheiten, Potentiale
Abstände als Vielfache des Teilchendurchmessers:
Energie als Vielfaches von k B T
damit:
V=
Ṽ
kBT
̃ Ṽ
⃗ =−∇ V =−σ ∇
F
kBT
üblich: k B T =1
Zeiteinheit entsprechend wählen!
Potential muss stetig sein!
V
∞
V
r̃
r=σ
{
((
4ϵ σ
V (r) =
r
12
6
) ( ))
− σ +c (r< r c)
r
0 (sonst)
Harte Kugeln unmöglich!
“weiche Kugeln”
σ
r
r
Die Molekulardynamik-Methode
7. Details zur Implementierung – Zufallskräfte, zufällige Verschiebung
Zufällige Verschiebung:
⟨ ⃗r rand ⟩=0
σ= √ 2 Γ k B T Δ t=√ 2 D Δ t
gleichförmig
Gauß
a
Varianz: σ 2
b
1
(b−a)2
Varianz:
12
gleichförmige Verteilung: Zeitschrittweitensteuerung leicht möglich!
Die Molekulardynamik-Methode
Beispiel: Programmieraufgabe aus dem VM Nanoscience
Schreiben Sie ein Programm zur Simulation einer Brown'schen Dynamik
- Berechnen sie das mittlere Verschiebungsquadrat
a) ohne Wechselwirkung
b) mit einer rein repulsiven Wechselwirkung
*(c) mit einer zusätzlich attraktiven Wechselwirkung)
- Berechnen Sie die Paarkorrelationsfunktion g(r) für den Fall b) und
vergleichen Sie das Ergebnis mit Ihren MC-Resultaten
(gleiche Dichte, gleiche Teilchenanzahl)
- Erstellen Sie “Snapshots” des Systems zur Visualisierung der
Brown'sche Bewegung
Die Molekulardynamik-Methode
Trajektorie eines einzelnen Brownschen Teilchens in 3D
Die Molekulardynamik-Methode
Mean square displacement eines idealen Gases ind 3D:
⟨r 2 (t )⟩∼6Dt
Die Molekulardynamik-Methode
Vergleich MC (Dieter, 500 Teilchen) – BD (Malte, 800 Teilchen),
weiches repulsives Potential
Herunterladen