La simulation Monte Carlo Pascal Boulet pascal.boulet@univ-provence.fr Réseau français de chimie théorique 2011
Outline Introduction à la simulation numérique et au calcul Historique et méthodes Introduction à la simulation Monte Carlo Historique et objectifs Exemple Principe de la méthode Applications Ensemble canonique Ensemble grand-canonique Calcul du potentiel chimique Examples Distributions C v g(r) Isotherme d adsorption Conclusion
Introduction à la simulation numérique et au calcul Historique et méthodes
Introduction à la simulation Monte Carlo Historique et objectifs Technique développée dans les années 1950 (Los Alamos, MANIAC) ; Simulation pour les développements dans le domaine de la fusion nucléaire (militaire puis civile) ; Mise en pratique seulement récemment (vingtaine d années), depuis l accroissement de la puissance des ordinateurs ; La simulation (en général) est utile pour : 1. Etudier des domaines où la théorie seule ne permet pas d aller (trop de simplifications dans les modèles) ; 2. Modéliser des systèmes expérimentaux : rationaliser les paramètres importants 3. tester des modèles théoriques (ex : The Evolution of Earth-Approaching Binary Asteroids : A Monte Carlo Dynamical Model, Icarus, 1995 (115) 36-46) ; La technique repose sur l utilisation de nombres aléatoires ; Les configurations sont acceptées ou refusées selon la loi de distribution de Maxwell-Boltzmann.
Introduction à la simulation Monte Carlo Historique et objectifs
Introduction à la simulation Monte Carlo Exemple Exemple : on veut calculer la valeur de π L aire du quart de cercle est donnée par dxdy et vaut π/4 ; x 2 +y 2 r 2 x>0 y>0 Le rapport de l aire du quart de cercle sur 4 l aire du carré vaut 1 πr 2 = π ; r 2 4 Technique Monte Carlo : soient n le nombre de tirages inclus dans le quart de cercle et N le nombre total de tirages On tire deux nombres aléatoires correspondant à x et y ; Si x 2 + y 2 r 2 alors n = n + 1 ; Dans tous les cas N = N + 1 ; Si N est suffisamment grand alors n N π 4
Introduction à la simulation Monte Carlo Exemple program pi implicit none real(kind=8) :: x,y real(kind=8) :: p real(kind=8), parameter :: epsilon=1e-10 integer :: n,nn p=4.*atan(1.0) n=0 nn=0 l1: do call random_number(x) call random_number(y) if ((x*x+y*y).le. 1.0) n=n+1 nn=nn+1 if (abs(4.0*n/nn-p).le. epsilon) exit l1 end do l1 write(6, (A,I7,A,F15.12) ) after,nn, iterations pi equals,4.0*n/nn end program pi
Introduction à la simulation Monte Carlo Principe de la méthode Language : Monte Carlo basé sur la physique statistique Espace des phases : A(r N, p N ) (r, p) Ensemble (microcanonique NVE, canonique NVT, grand canonique µvt, etc.) Distribution des états configurations microscopiques moyennes (positions et vitesses) Approximation semi-classique nombres d états L espace des phases N 10 23 défini par : (r N, p N ) Volume de l espace des phases : dω = dr 1 dp 1 dr 2 dp 2... dr N dp N Principe d Heisenberg : dr xdp x h, constante de Planck Nombre d états : dn = dω h 3N
Introduction à la simulation Monte Carlo Principe de la méthode Approximation semi-classique
Introduction à la simulation Monte Carlo Principe de la méthode Approximation semi-classique 1. Pour de nombreuses applications (chimie, biologie, science des matériaux) on traite les degrés de liberté rotationels, translationels et configurationnels de manière classique. 2. Implique que : ɛ kt 3. Degrés de liberté vibrationnels et électroniques sont traités de manière quantique. 4. Partition de fonction : Q = Q class. Q quant. 5. Loi de distribution de probabilité : P i = Pi class. P quant. 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)
Introduction à la simulation Monte Carlo Principe de la méthode Initialisation Exemple : on considère le modèle d Ising de spins avec l interaction ferromagnétique J entre premiers voisins : H = J k,l S(r k)s(r l ) ; On génère une grille 2D, les noeuds du réseaux étant les spins ; On initialise aléatoirement les spins à +1 ou 1 A l issue de la simulation on veut calculer la valeur moyenne de grandeurs physiques telles que l énergie moyenne < E > ou l aimantation M ; La valeur moyenne d une grandeur A est donnée par : < A >= 1 Z(T ) N A(s)e βe(s) = s=1 où Z(T ) est la fonction de partition. N s=1 A(s)e βe(s) N s=1 e βe(s) (1) Dans la pratique, on réalise des permutations de spins pour construire les N états microscopiques.
Introduction à la simulation Monte Carlo Principe de la méthode Principe ergodique On souhaite simuler les propriétés des systèmes à l équilibre Propriétés = moyennes sur des ensembles (de configurations) 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)
Introduction à la simulation Monte Carlo Principe de la méthode Echantillonnage simple L échantillonnage simple correspond exactement au cas présenté sur le transparent précédent : On explore le domaine des phases (configurations) en réalisant des permutations +1/ 1 des spins. La convergence vers < A > est d autant meilleure que le nombre d itérations Monte Carlo N est grand. Problème 1 : pour la forme : on a une limitation due au temps de calcul ; Problème 2 : pour le fond : les configurations ne sont pas celles de l équilibre à la température souhaitée Problème 3 : Les configurations très peu probables sont autant visitées que les autres. Or, peu de configurations participent à l équilibre par rapport à l ensemble des configurations possibles. Conséquence : la moyenne calculée est entachée d une grande erreur!
Introduction à la simulation Monte Carlo Principe de la méthode Echantillonnage par importance Cet échantillonnage se base sur le principe suivant : on choisit les microétats s dont les probabilités sont les plus importantes à la température T. Le choix est effectué selon l algorithme suivant : les microétats ne sont pas choisit de manière indépendante : Les microétats génèrent une suite appelée chaîne de Markov dont l état s i+1 s obtient à partir de l état s i selon une probabilité w(s i s i+1 ). Le choix de w(s i s i+1 ) doit respecter à l équilibre : p(s i ) = e βe(s i ) Z(T ) (3) Ceci impose à w(s i s i+1 ) ce que l on appelle le principe du bilan détaillé : p(s i )w(s i s k ) = p(s k )w(s k s i ) (4) soit : w(s i s k ) w(s k s i ) = e β(e(s k ) E(s i )) = e β E (5)
Introduction à la simulation Monte Carlo Principe de la méthode Remarques : 1. les choix pour w(s i s k ) sont fréquemment les suivants : ou bien : w(s i s k ) = e β E 1 + e β E (6) w(s i s k ) = e β E si E < 0 = 1 si E 0 la seconde possibilité étant plus usité que la première ; 2. L algorithme ne dit pas comment les microétats doivent être créés. Soit on change un spin à la fois (single-spin flip) soit on change plusieurs spins (cluster-spin flip). 3. L algorithme de l échantillonnage par importance avec bilan détaillé et changement 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 pas nécessaire de connaître la fonction de partition. D ailleurs pour les cas complexes on ne peut pas la calculer... (7)
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 cas on garde la nouvelle configuration ; 4.2 Soit l énergie a augmenté lors de la transition E 0 et dans ce cas on garde la nouvelle configuration avec une certaine probabilité : On tire un nombre aléatoire p entre 0 et 1, ce qui correspond à une probabilité. Si e β E p on garde la nouvelle configuration sinon on la rejette. En conséquence : 1. Avec cette méthode on conserve toutes les configurations accessibles par le système à la température T. 2. Les moyennes et fluctuations sont calculées sur un ensemble de configuration qui répond à la distribution de Maxwell- Boltzmann.
Applications Ensemble canonique Ensemble fermé {N, V, T } ; 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 un solide poreux (zéolithe)) ; 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 : La fonction de partition canonique s écrit : Z = 1 Λ 3N N! dr N e βu(rn ) ; la densité de probabilité d une configuration est : p(r N ) e βu(rn ) ; On voit immédiatement que la probabilité d acceptation d un mouvement est : w(o n) = e β(u(n) U(o)) (8)
Applications Ensemble canonique Comment calculer U(r N )? Dépend du type de système mais en général on prend en compte : 1. Les interactions intermoléculaires : Lennard-Jones (interactions Van der Waals) : ) 12 ( ) 6 σij σij U LJ (r ij ) = 4ɛ ij ( (9) r ij r ij avec ɛ et σ des paramètres interatomiques obtenus avec les règles de Lorentz-Berthelot : σ ij = 1 2 (σ ii + σ jj ) ɛ ij = 1 2 (ɛ 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) ; Electrostatique : U elec (r) = 1 q(r)q(r ) 4πɛ 0 ɛ r r r (11) un traitement particulier s impose dans le cas des systèmes périodiques (somme d Ewald, technique particle-mesh, etc.)
Applications Ensemble canonique 2 Les interactions intramoléculaires : Interactions de liaison (potentiel harmonique, quartique, Morse, etc.) ) 2 U bond (r ij ) = k ij (r 0 ij r ij (12) Interactions d angle (potentiel harmonique, quartique) U angle (θ ijk ) = k ijk (θ 0 ijk θ ijk ) 2 (13) Interaction de torsion U angle (φ) = i 1 2 k i (1 + cos(k i φ)) (14) Interaction de torsion impropre (sortie hors du plan) U improper (ϕ) = 1 2 k ijkl (ϕ 0 ijkl ϕ ijkl ) 2 (15) L ensemble des paramètres (constantes de force k) est appelé un champ de forces.
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)
Applications Ensemble grand-canonique Ensemble ouvert {µ, V, T } ; Au cours de la simulation Monte Carlo on peut introduire ou supprimer des molécules ; Le nombre de molécules est ajusté en fixant le potentiel chimique ; Le système est en contact avec un réservoir de molécules qui fixe la température ; L équilibre est atteint lorsque le potentiel chimique du système est égal à celui du réservoir ; Idéal pour simuler des isothermes d adsorption dans les matériaux poreux ; La fonction de partition grand-canonique s écrit : Ξ = Z(N, V, T ) N e βµn = N e βµn La densité de probabilité pour un état p N est : V N Λ 3N N! dr N e βu(rn ) (16) p N eβµn V N N ) Λ 3N N! e βu(r (17)
Applications Ensemble grand-canonique Probabilité d accepter une translation ou une rotation : Probabilité d accepter une insertion : w(o n) = e β(u(n) U(o)) (18) w(o n) = e βµ(n+1) V N+1 Λ 3(N+1) (N + 1)! e βun(n+1) e βµn V N Λ 3N N! e βuo(n) (19) soit : w(o n) = Probabilité d accepter une délétion : eβµ V Λ 3 (N + 1) e β(un(n+1) Uo(N)) (20) w(o n) = Λ3 N e βµ V e β(un(n 1) Uo(N)) (21)
Applications Calcul du potentiel chimique Dans les simulations ou le potentiel n est pas connu à priori, il est possible de réaliser des simulations Monte Carlo pour le déterminer ; Il existe plusieurs méthodes : 1. méthode de l insertion de particules : méthode de Widom 2. méthode de la distribution de recouvrement On ne décrit ici que la méthode de Widom. Pour les autres voir Understanding 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 : ( ) ( ) ( ) G F S µ a = = = T N a N a N a N b a,p,t N b a,v,t N b a,v,e (22)
Applications Calcul du potentiel chimique la fonction de partition canonique s écrit : Z(N, V, T ) = V N dr N e βu(rn ) Λ 3N N! La fonction de Helmoltz s écrit : F(N, V, T ) = kt ln Z(N, V, T ) ( ) V N ( = kt ln kt ln dr N e )) βu(rn Λ 3N N! = F id (N, V, T ) + F ex(n, V, T ) (23) (24) On peut montrer alors que : Z(N + 1, V, T ) µ = kt ln Z(N, V, T ( ) ( ) V dr N+1 e βu(rn+1 ) = kt ln kt ln Λ 3 (N + 1) drn e βu(rn ) = µ id + µ ex (25)
Applications Calcul du potentiel chimique µ id peut être calculé analytiquement (gaz parfait) ; 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 plus l énergie d interaction de la (N + 1)ème particule avec le reste : U = U(r N+1 ) U(r N ) ; µ ex devient : µ ex = kt ln dr N+1 < e β U > N (26) où <... > N désigne la moyenne d ensemble sur l espace des configurations du système à N particules ; 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 le reste du système ; > On calcule la moyenne sur l ensemble des tests réalisés au cours de la simulation ; > Remarque : à l issu du test on n insère jamais la particule.
Applications Calcul du potentiel chimique Avantages de la méthode : 1. Facile à programmer ; 2. Ne nécessite pas de réaliser une simulation Monte Carlo supplé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.
Examples Distributions Distributions d énergie et d états
Examples Cv Capacité calorifique
Examples g(r) Fonction de distribution radiale
Examples Isotherme d adsorption Ensemble grand-canonique
Conclusion La simulation Monte Carlo permet : l étude des systèmes à l équilibre thermodynamique ; le calcul de grandeurs thermodynamiques (U, C v, etc.) et de leurs fluctuations ; le calcul de certaines fonctions d auto-corrélation (ex. la fonction de distribution radiale g(r)). Ce qu elle ne permet pas : l étude des systèmes hors équilibre ; la dynamique des systèmes (pas de notion de temps en Monte Carlo) ; 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éaliser des simulations de dynamique moléculaire.