• Aucun résultat trouvé

1.3 Voir plus grand

1.3.1 Simulations Monte-Carlo

Le principe de la simulation Monte-Carlo a été mis au point par N. Metro- polis dans les années 1940. Cette méthodologie reprend l’expérience de Georges- Louis Leclerc de Buffon. Cette première expérience sert à calculer π en utilisant la retombée d’une aiguille entre ou sur des bâtons. Cette expérience met deux phénomènes en avant, que nous retrouvons dans la méthode MC.

Le premier est le caractère aléatoire de la retombée de l’aiguille, c’est donc une méthode stochastique. Le second phénomène est que l’estimation s’amé- liore au fur et à mesure des lancés. On obtient le résultat final en moyennant l’ensemble des résultats obtenus, avec une précision dépendante du nombre de lancés. À la différence de nombreuses expériences, la moyenne effectuée ici n’est pas temporelle, tous les lancers étant indépendants. La méthode MC repose sur le même principe : on effectue des moyennes non pas sur le temps, mais sur l’espace des phases.

L’hypothèse ergodique suppose que pour un système à l’équilibre, la moyenne des valeurs d’une observable dans l’espace des phases est égale à la moyenne temporelle de cette observable. C’est le principe de la méthode MC : explorer l’espace des phases au lieu du temps.

Comme pour toute mesure, il faut se poser la question de la validité de l’échantillon de mesure. Si pour une moyenne temporelle il faut mesurer pendant un échantillon de temps suffisant, il en va de même pour les moyennes dans l’espace des phases : l’échantillon doit être représentatif et bien construit.

État initial

Sélection d'un événement

Calcul de la probabilité d'acceptation

Acceptation ou refus

Actualisation de l'état du système

Figure 1.3 – Schéma de principe de l’algorithme Monte-Carlo. La boucle est itérée ad nauseam. Les étapes marquées d’un dé correspondent à l’usage d’un nombre aléatoire.

32 CHAPITRE 1. LA SIMULATION MULTI-ÉCHELLES Une simulation MC consiste donc à construire un échantillon représentatif au sein de l’espace des phases. La méthode est présentée figure 1.3. Après avoir débuté d’un état initial e0, un événement aléatoire est construit. Ensuite, on

mesure la différence énergétique induite par cet événement. Ensuite on déter- mine aléatoirement si cet événement est accepté. S’il l’est, on obtient un état e1, à partir duquel on itère le processus. Le coté itératif de cette méthode la

rend particulièrement adaptée aux méthodes informatiques. Un calcul complexe peut être réduit à un événement simple, qu’il faudra reproduire et mesurer un nombre conséquent de fois.

Ce qui différencie les méthodes de Monte-Carlo est la règle qui régie le refus ou l’acceptation de l’événement. L’algorithme de Metropolis[70, 69] ac- cepte l’événement si une variable aléatoire α, uniforme sur ]0; 1] est inférieure à e−∆E/kB×T où ∆E est la différence en énergie et T la température du système.

Il est possible de définir d’autres algorithmes, mais nous n’utiliserons que celui de Metropolis.

Le but de cette méthode est de pouvoir effectuer des moyennes sur l’espace des configurations sans pour autant connaître la fonction de partition du sys- tème sur cet espace. L’échantillonnage effectué permet de s’affranchir de cette contrainte, car cette fonction est inconnue dans la grande majorité des cas, dont ceux que nous allons traiter. Il y a cependant des contraintes sur cet échantillon- nage. En effet, l’objectif est de pouvoir réaliser une moyenne sur l’espace des phases tout en n’ayant parcouru qu’une infime partie de cet espace.

La méthode présentée ici ne requiert aucune information quant à l’état ei−1

à chaque étape i de la simulation. Le procédé est donc celui d’une chaîne de Markov, ce qui permet une importante économie de ressources lors de la simu- lation : il suffit de conserver l’information de l’état du système pour l’état ei en

cours.

Bien que le processus ne requiert pas de se souvenir de l’état ei−1, un état ei

n’est pas décorrélé des événements précédents. Par exemple, prenons le cas d’un marcheur aléatoire sur un échiquier. S’il se déplace d’une case par pas de simula- tion, sa position moyenne sur l’échiquier lors des premiers pas de simulation est fortement corrélée avec sa position initiale. Il faut atteindre un certain nombre de pas afin d’avoir un échantillon représentatif de l’espace des phases, même s’il n’a pas parcouru l’ensemble des cases de l’échiquier. La taille de l’échan- tillon requis varie donc fortement en fonction des événements possibles : s’ils provoquent un déplacement important dans l’espace des phases, l’échantillon pourra être réduit, et inversement.

La méthode générale ayant été vue, nous allons maintenant présenter son application. La première limite à cette méthode est son besoin de nombreuses variables aléatoires. Cette méthode est utilisée pour créer des simulations, il faut donc générer des nombres aléatoires avec un ordinateur, ce qui est impossible à l’heure actuelle. Une solution est d’utiliser des nombres pseudo-aléatoires. Nous avons utilisé le générateur intégré du F90, qui permet d’obtenir un caractère aléatoire suffisant pour les simulations[64].

Nous appliquons cette méthode à la simulation de problème physique, nous allons donc expliciter ce que sont nos systèmes, ainsi que les événements pris en compte par le logiciel que nous utilisons.

Nous simulons de la matière cristalline, nous allons donc utiliser un MC sur réseau. Chaque atome se trouve sur un site du réseau. Chaque site est défini par sa position, le type d’atome qu’il contient ainsi qu’un voisinage qui permet

1.3. VOIR PLUS GRAND. 33 de détecter quels sont les atomes environnants. Ce voisinage permet donc de détecter la configuration des atomes présents, et donc de calculer l’énergie du système. Cette approche locale crée une approximation dont la marge d’erreur va dépendre de l’étendue du voisinage.

Les événements permettant de se déplacer dans l’espace des phases sont les déplacements des atomes. On tire deux atomes aléatoirement, puis on cal- cule l’énergie de la nouvelle configuration du système résultant de l’échange des deux atomes. Les atomes étant choisis aléatoirement, ils peuvent être très éloi- gnés dans la simulation. Ces événements n’ont donc aucun sens physique, ils correspondent seulement à un déplacements entre des configurations possibles. Il est donc impossible d’associer un temps physique à ces simulations, car les événements ne sont pas physiques. La contrepartie est qu’il n’est pas nécessaire de connaître les différents mouvements possibles.

En terme de coût de calcul par pas, augmenter la taille du système n’a que peu d’importance : nous sommes limités par la taille en mémoire du système, mais un système plus gros n’a pas d’influence quant au temps de calcul de l’éner- gie de la nouvelle configuration. Le voisinage cependant est plus important : il faut à chaque étape contrôler quel est le voisinage de deux atomes. Le temps de calcul d’un pas de MC augmente donc de façon linéaire avec le nombre d’atomes contenus dans le voisinage.

Nous venons de montrer en quoi consiste un algorithme de Metropolis. Il per- met d’obtenir des mesures moyennes macroscopiques pour un système à l’équi- libre. Il est cependant impossible d’obtenir la cinétique des défauts. Pour cela, nous allons utiliser une variante de l’algorithme de Metropolis : un Monte-Carlo cinétique.