la simulation monte carlo - freepfleurat.free.fr/rfct/monte_carlo_pb.pdf · i simulation pour les...
Post on 25-Sep-2020
0 Views
Preview:
TRANSCRIPT
Monte Carlo
La simulation Monte Carlo
Pascal Bouletpascal.boulet@univ-provence.fr
Réseau français de chimie théorique
2011
Monte Carlo
Outline
Introduction à la simulation numérique et au calculHistorique et méthodes
Introduction à la simulation Monte CarloHistorique et objectifsExemplePrincipe de la méthode
ApplicationsEnsemble canoniqueEnsemble grand-canoniqueCalcul du potentiel chimique
ExamplesDistributionsCv
g(r)Isotherme d’adsorption
Conclusion
Monte Carlo
Introduction à la simulation numérique et au calcul
Historique et méthodes
Monte Carlo
Introduction à la simulation Monte Carlo
Historique et objectifs
I Technique développée dans les années 1950 (Los Alamos, MANIAC) ;I Simulation pour les développements dans le domaine de la fusion
nucléaire (militaire puis civile) ;I Mise en pratique seulement récemment (vingtaine d’années), depuis
l’accroissement de la puissance des ordinateurs ;I La simulation (en général) est utile pour :
1. Etudier des domaines où la théorie seule ne permet pas d’aller (trop desimplifications dans les modèles) ;
2. Modéliser des systèmes expérimentaux : rationaliser les paramètresimportants
3. tester des modèles théoriques (ex : The Evolution of Earth-ApproachingBinary Asteroids : A Monte Carlo Dynamical Model, Icarus, 1995 (115)36-46) ;
I La technique repose sur l’utilisation de nombres aléatoires ;I Les configurations sont acceptées ou refusées selon la loi de distribution
de Maxwell-Boltzmann.
Monte Carlo
Introduction à la simulation Monte Carlo
Historique et objectifs
Monte Carlo
Introduction à la simulation Monte Carlo
Exemple
Exemple : on veut calculer la valeur de πI L’aire du quart de cercle est donnée par∫ ∫
x2+y2≤r2
x>0y>0
dxdy et vaut π/4 ;
I Le rapport de l’aire du quart de cercle sur
l’aire du carré vaut14πr2
r2 = π4 ;
Technique Monte Carlo : soient n le nombre detirages inclus dans le quart de cercle et N lenombre total de tirages
I On tire deux nombres aléatoirescorrespondant à x et y ;
I Si x2 + y2 ≤ r 2 alors n = n + 1 ;I Dans tous les cas N = N + 1 ;
Si N est suffisamment grand alors nN ≈
π4
Monte Carlo
Introduction à la simulation Monte Carlo
Exemple
program piimplicit nonereal(kind=8) :: x,yreal(kind=8) :: preal(kind=8), parameter :: epsilon=1e-10integer :: n,nn
p=4.*atan(1.0)n=0nn=0
l1: docall random_number(x)call random_number(y)
if ((x*x+y*y) .le. 1.0) n=n+1nn=nn+1
if (abs(4.0*n/nn-p) .le. epsilon) exit l1end do l1
write(6,’(A,I7,A,F15.12)’) ’after ’,nn,’ iterations pi equals ’,4.0*n/nnend program pi
Monte Carlo
Introduction à la simulation Monte Carlo
Principe de la méthode
Language : Monte Carlo basé sur la physique statistique
I Espace des phases : A(rN ,pN)⇒ (r,p)
I Ensemble (microcanonique NVE, canonique NVT, grand canonique µVT,etc.)
I Distribution des étatsI configurations microscopiques moyennes (positions et vitesses)
Approximation semi-classique nombres d’états
I L’espace des phases N ≈ 1023 défini par : (rN ,pN)
I Volume de l’espace des phases : dΩ = dr1dp1dr2dp2 . . . drNdpN
I Principe d’Heisenberg : drx dpx ∼ h, constante de Planck
I Nombre d’états : dn =dΩ
h3N
Monte Carlo
Introduction à la simulation Monte Carlo
Principe de la méthode
Approximation semi-classique
Monte Carlo
Introduction à la simulation Monte Carlo
Principe de la méthode
Approximation semi-classique
1. Pour de nombreuses applications (chimie, biologie, science desmatériaux) on traite les degrés de liberté rotationels, translationels etconfigurationnels de manière classique.
2. Implique que : ∆ε kT
3. Degrés de liberté vibrationnels et électroniques sont traités de manièrequantique.
4. Partition de fonction : Q = Qclass.Qquant.
5. Loi de distribution de probabilité : Pi = Pclass.i Pquant.
i
Remarque : l’approximation est valide si :
1. La température n’est pas trop basse (20K)
2. la masse des particules n’est pas trop petite (H, He)
Monte Carlo
Introduction à la simulation Monte Carlo
Principe de la méthode
Initialisation
I Exemple : on considère le modèle d’Ising de spins avec l’interactionferromagnétique J entre premiers voisins : H = −J
∑k,l S(rk )S(rl ) ;
I On génère une grille 2D, les noeuds du réseaux étant les spins ;I On initialise aléatoirement les spins à +1 ou −1I A l’issue de la simulation on veut calculer la valeur moyenne de
grandeurs physiques telles que l’énergie moyenne < E > oul’aimantation M ;
I La valeur moyenne d’une grandeur A est donnée par :
< A >=1Z(T )
N∑s=1
A(s)e−βE(s) =
∑Ns=1 A(s)e−βE(s)∑N
s=1 e−βE(s)(1)
où Z(T ) est la fonction de partition.I Dans la pratique, on réalise des permutations de spinspour construire les N états microscopiques.
Monte Carlo
Introduction à la simulation Monte Carlo
Principe de la méthode
Principe ergodique
I On souhaite simuler les propriétés des systèmes à l’équilibreI Propriétés = moyennes sur des ensembles (de configurations)I Habituellement les systèmes évoluent dans le temps⇒ on fait des
moyennes temporelles
Principe ergodique
〈A(r(t),p(t))〉time = 〈A(r,p)〉ensemble (2)
Monte Carlo
Introduction à la simulation Monte Carlo
Principe de la méthode
Echantillonnage simple
L’échantillonnage simple correspond exactement au cas présenté sur letransparent précédent :
I On explore le domaine des phases (configurations) en réalisant despermutations +1/− 1 des spins.
I La convergence vers < A > est d’autant meilleure quele nombre d’itérations Monte Carlo N est grand.
I Problème 1 : (( pour la forme )) : on a une limitation due autemps de calcul ;
I Problème 2 : (( pour le fond )) : les configurations ne sont pascelles de l’équilibre à la température souhaitée
I Problème 3 : Les configurations très peu probables sont autant visitéesque les autres. Or, peu de configurations participent àl’équilibre par rapport à l’ensemble desconfigurations possibles.
Conséquence : la moyenne calculée est entachée d’une grande erreur !
Monte Carlo
Introduction à la simulation Monte Carlo
Principe de la méthode
Echantillonnage par importance
Cet échantillonnage se base sur le principe suivant : on choisit lesmicroétats s dont les probabilités sont les plusimportantes à la température T .Le choix est effectué selon l’algorithme suivant : les microétats nesont pas choisit de manière indépendante :
I Les microétats génèrent une suite appelée chaîne de Markov dontl’état si+1 s’obtient à partir de l’état si selon une probabilité w(si → si+1).
I Le choix de w(si → si+1) doit respecter à l’équilibre :
p(si ) =e−βE(si )
Z(T )(3)
I Ceci impose à w(si → si+1) ce que l’on appelle le principe dubilan détaillé :
p(si )w(si → sk ) = p(sk )w(sk → si ) (4)
soit :w(si → sk )
w(sk → si )= e−β(E(sk )−E(si )) = e−β∆E (5)
Monte Carlo
Introduction à la simulation Monte Carlo
Principe de la méthode
Remarques :
1. les choix pour w(si → sk ) sont fréquemment les suivants :
w(si → sk ) =e−β∆E
1 + e−β∆E (6)
ou bien :w(si → sk ) = e−β∆E si ∆E < 0
= 1 si ∆E ≥ 0(7)
la seconde possibilité étant plus usité que la première ;
2. L’algorithme ne dit pas comment les microétats doivent être créés. Soiton change un spin à la fois (single-spin flip) soit on change plusieursspins (cluster-spin flip).
3. L’algorithme de l’échantillonnage par importance avec bilan détaillé etchangement d’un seul spin est l’algorithme de Metropolis (J.Chem. Phys., 21 (1953) 1087-1092).
4. Dans l’algorithme de Metropolis il n’est pasnécessaire de connaître la fonction de partition.D’ailleurs pour les cas complexes on ne peut pas la calculer. . .
Monte Carlo
Introduction à la simulation Monte Carlo
Principe de la méthode
Le Monte Carlo dans la pratique : algorithme de Metropolis
On suppose qu’on veut inverser un seul spin.1. On tire un spin aléatoirement ;2. On inverse son spin et on calcule l’énergie de ce nouveau microétat ;3. On calcule la différence d’énergie avec le microétat précédent ;4. On deux possibilités :
4.1 Soit l’énergie a diminué lors de la transition ∆E < 0 et dans ce cason garde la nouvelle configuration ;
4.2 Soit l’énergie a augmenté lors de la transition ∆E ≥ 0 et dans ce cason garde la nouvelle configuration avec une certaineprobabilité :
I On tire un nombre aléatoire p entre 0 et 1, ce qui correspond à une probabilité. Sie−β∆E ≥ p on garde la nouvelle configuration sinon on la rejette.
En conséquence :
1. Avec cette méthode on conserve toutes les configurationsaccessibles par le système à la température T .2. Les moyennes et fluctuations sont calculées sur un ensem-ble de configuration qui répond à la distribution de Maxwell-Boltzmann.
Monte Carlo
Applications
Ensemble canonique
I Ensemble fermé N,V ,T ;I Le système est simulé dans une boîte de volume constant (ex : gaz
Lennard-Jones, protéine, polymère, molécules adsorbées dans unsolide poreux (zéolithe)) ;
I Seuls mouvements possibles pour les particules/molécules :translation et rotation ;
> translation de la molécule complète ;> rotation autour du centre de masse ;> mouvements plus complexes :
1. translation d’un atome dans la molécule ;2. rotation d’un groupe d’atomes dans la molécule.
Dans tous les cas :
I La fonction de partition canonique s’écrit : Z = 1Λ3N N!
∫drNe−βU(rN ) ;
I la densité de probabilité d’une configuration est : p(rN) ∝ e−βU(rN ) ;I On voit immédiatement que la probabilité d’acceptation d’un mouvement
est :w(o → n) = e−β(U(n)−U(o)) (8)
Monte Carlo
Applications
Ensemble canonique
Comment calculer U(rN ) ?
Dépend du type de système mais en général on prend en compte :1. Les interactions intermoléculaires :
I Lennard-Jones (interactions Van der Waals) :
ULJ (rij ) = 4εij
(σij
rij
)12
−(σij
rij
)6 (9)
avec ε et σ des paramètres interatomiques obtenus avec les règles deLorentz-Berthelot :
σij = 12 (σii + σjj )
εij = 12 (εii + εjj ) ou
εij =√εiiεjj
(10)
D’autres règles peuvent être utilisées (voir par exemple : J. Mol. Liquids, 135(2007) 170-178) ;
I Electrostatique :
Uelec(r) =1
4πε0εr
q(r)q(r′)|r− r′|
(11)
un traitement particulier s’impose dans le cas des systèmes périodiques(somme d’Ewald, technique particle-mesh, etc.)
Monte Carlo
Applications
Ensemble canonique
2 Les interactions intramoléculaires :I Interactions de liaison (potentiel harmonique, quartique, Morse, etc.)
Ubond (rij ) = kij
(r0ij − rij
)2(12)
I Interactions d’angle (potentiel harmonique, quartique)
Uangle(θijk ) = kijk
(θ0
ijk − θijk
)2(13)
I Interaction de torsion
Uangle(φ) =∑
i
12
ki (1 + cos(kiφ)) (14)
I Interaction de torsion impropre (sortie hors du plan)
Uimproper (ϕ) =12
kijkl (ϕ0ijkl − ϕijkl )
2 (15)
L’ensemble des paramètres (constantes de force k ) est appelé un champde forces.
Monte Carlo
Applications
Ensemble grand-canonique
Système ouvert
Exemple : adsorption de gaz dans un milieu poreux
µ(gaz) = µ(phase adsorbée)
µ(gaz, idéal) = µ0(gas) + kT ln(P)
Monte Carlo
Applications
Ensemble grand-canonique
I Ensemble ouvert µ,V ,T ;I Au cours de la simulation Monte Carlo on peut introduire ou supprimer
des molécules ;I Le nombre de molécules est ajusté en fixant le potentiel chimique ;I Le système est en contact avec un réservoir de molécules qui fixe la
température ;I L’équilibre est atteint lorsque le potentiel chimiquedu système est égal à celui du réservoir ;
I Idéal pour simuler des isothermes d’adsorption dans lesmatériaux poreux ;
La fonction de partition grand-canonique s’écrit :
Ξ = Z(N,V ,T )∑
N
eβµN =∑
N
eβµN V N
Λ3NN!
∫drNe−βU(rN ) (16)
La densité de probabilité pour un état pN est :
pN ∝eβµNV N
Λ3NN!e−βU(rN ) (17)
Monte Carlo
Applications
Ensemble grand-canonique
I Probabilité d’accepter une translation ou une rotation :
w(o → n) = e−β(U(n)−U(o)) (18)
I Probabilité d’accepter une insertion :
w(o → n) =
eβµ(N+1)V N+1
Λ3(N+1)(N + 1)!e−βUn(N+1)
eβµNV N
Λ3NN!e−βUo(N)
(19)
soit :
w(o → n) =eβµV
Λ3(N + 1)e−β(Un(N+1)−Uo(N)) (20)
I Probabilité d’accepter une délétion :
w(o → n) =Λ3N
eβµVe−β(Un(N−1)−Uo(N)) (21)
Monte Carlo
Applications
Calcul du potentiel chimique
I Dans les simulations ou le potentiel n’est pas connu à priori, il estpossible de réaliser des simulations Monte Carlo pour le déterminer ;
I Il existe plusieurs méthodes :1. méthode de l’insertion de particules : méthode de Widom2. méthode de la distribution de recouvrement
On ne décrit ici que la méthode de Widom. Pour les autres voirUnderstanding Molecular Simulations. From Algorithms to Applications, by D.Frankel and B. Smit, Academic Press, ISBN 0-12-267351-4, chapitre 7.
Le potentiel chimique d’une espèce a est donné par :
µa =
(∂G∂Na
)Nb 6=a,P,T
=
(∂F∂Na
)Nb 6=a,V ,T
= −T(∂S∂Na
)Nb 6=a,V ,E
(22)
Monte Carlo
Applications
Calcul du potentiel chimique
I la fonction de partition canonique s’écrit :
Z(N,V ,T ) =V N
Λ3NN!
∫drNe−βU(rN ) (23)
I La fonction de Helmoltz s’écrit :
F (N,V ,T ) = −kT lnZ(N,V ,T )
= −kT ln(
V N
Λ3NN!
)− kT ln
(∫drNe−βU(rN )
)= Fid (N,V ,T ) + Fex (N,V ,T )
(24)
I On peut montrer alors que :
µ = −kT lnZ(N + 1,V ,T )
Z(N,V ,T )
= −kT ln(
VΛ3(N + 1)
)− kT ln
(∫drN+1e−βU(rN+1)∫
drNe−βU(rN )
)= µid + µex
(25)
Monte Carlo
Applications
Calcul du potentiel chimique
I µid peut être calculé analytiquement (gaz parfait) ;I Pour la partie d’excès, on sépare l’énergie potentielle du système à
N + 1 particules en la somme de l’énergie potentielle à N particules plusl’énergie d’interaction de la (N + 1)ème particule avec le reste :∆U = U(rN+1)− U(rN) ;
I µex devient :
µex = −kT ln∫
drN+1 < e−β∆U >N (26)
où < . . . >N désigne la moyenne d’ensemble sur l’espace desconfigurations du système à N particules ;
I Dans la pratique :> On réalise une simulation N,V ,T> Périodiquement, on choisit aléatoirement une position dans le système et on
calcule l’énergie d’interaction qu’aurait une particule à cette position avec lereste du système ;
> On calcule la moyenne sur l’ensemble des tests réalisés au cours de lasimulation ;
> Remarque : à l’issu du test on n’insère jamais la particule.
Monte Carlo
Applications
Calcul du potentiel chimique
Avantages de la méthode :
1. Facile à programmer ;
2. Ne nécessite pas de réaliser une simulation Monte Carlosupplémentaire.
Désavantages de la méthode :
1. La procédure est coûteuse en temps de calcul ;
2. Elle ne fonctionne pas bien pour les systèmes denses.
Monte Carlo
Examples
Distributions
Distributions d’énergie et d’états
Monte Carlo
Examples
Cv
Capacité calorifique
Monte Carlo
Examples
g(r)
Fonction de distribution radiale
Monte Carlo
Examples
Isotherme d’adsorption
Ensemble grand-canonique
Monte Carlo
Conclusion
La simulation Monte Carlo permet :I l’étude des systèmes à l’équilibre thermodynamique ;I le calcul de grandeurs thermodynamiques (U, Cv , etc.) et de leurs
fluctuations ;I le calcul de certaines fonctions d’auto-corrélation (ex. la fonction de
distribution radiale g(r)).
Ce qu’elle ne permet pas :I l’étude des systèmes hors équilibre ;I la dynamique des systèmes (pas de notion de temps en Monte Carlo) ;I le calcul de grandeurs liées au temps : coefficient de diffusion, fonction
d’auto-correlation des vitesses (spectres infra-rouge).
Si l’on veut avoir accès à des grandeurs dépendantes du temps il faut réaliserdes simulations de dynamique moléculaire.
top related