Atomsk

Le couteau suisse pour les simulations atomiques

Tutoriel: Boucle de Dislocation Glissile dans l'Aluminium

Ce tutoriel explique comment construire une boucle de dislocation ½[110] dans l'aluminium. Il est recommandé d'être familier avec la théorie des dislocations avant de suivre ce tutoriel.

▶ Pour plus d'information, référez-vous à la page de documentation correspondante.

ⓘ Ce tutorie porte sur les boucles glissiles, c'est-à-dire quand le vecteur de Burgers est contenu dans le plan de la boucle. Pour les boucles de montée (boucles prismatiques, lacunaires ou intertitielles), suivez plutôt ce tutoriel.

1. Orientation cristallographique du système

Comme dans les tutoriels précédents, la première étape est de construire une super-cellule avec l'orientation cristallographique appropriée. De plus, elle doit être assez large suivant les trois directions de l'espace pour pouvoir insérer une boucle :

atomsk --create fcc 4.046 Al orient [110] [1-12] [-111] -duplicate 60 40 20 Al_supercell.xsf

2. Introduire une boucle de dislocation

Une boucle de dislocation est définie par la position ce son centre (x,y,z), la normale n à son plan, son rayon R, et son vecteur de Burgers b. De plus, il est nécessaire de spécifier le coefficient de Poisson du matériau.

Commençons par réfléchir à la géométrie de notre système, et prenons le temps de l'écrire explicitement. Nous voulons placer une boucle au centre de la boîte ; pour cela nous pouvons utiliser la formule "0.5*box" suivant chaque direction. Dans l'aluminium, les dislocations appartiennent typiquement à un plan de glissement {111}. Puisque nous avons choisi Z=[-111] ci-dessus, nous utiliserons n=Z. Ensuite, choisisson un rayon de 30 Å pour la boucle. Le vecteur de Burgers doit être ½[110], ce qui donne dans notre repère b = (bx 0 0), où bx = a0/√2 ≈ 2.860954 Å. Enfin, nous spécifions pour l'aluminium un coefficient de Poisson de 0.33.

Avec toutes ces informations, la construction de la boucle de dislocation est réalisée de la façon suivante :

atomsk Al_supercell.xsf -disloc loop 0.501*box 0.501*box 0.501*box Z 30 2.860954 0 0 0.33 Al_loop.cfg

ⓘ Pour ce type de boucle de dislocation, le vecteur de Burgers b appartient au plan de la boucle. Ici la boucle est normale à Z, et b est suivant X.

Vous pouvez ouvrir le fichier CFG final avec Atomeye, et activer le critère de centro-symétrie (Alt+H) pour visualiser la boucle de dislocation :

Vous pouvez aussi ouvrir ce fichier avec OVITO, et activer l'algorithme d'analyse de dislocations (en anglais dislocation analysis algorithm, ou DXA), pour obtenir un contour de la ligne de dislocation (assurez-vous de choisir le réseau CFC). Cet outil calcule aussi le vecteur de Burgers de la dislocation, ce qui permet de vérifier que sa valeur est bien celle qu'on a entrée (pour en savoir plus, référez-vous à la documentation de OVITO).

3. Construire une boucle de forme carrée

Au lieu d'une boucle circulaire, il est possible d'introduire une boucle de forme carrée. La seule chose à changer dans la commande ci-dessus, est le rayon : en fournissant un rayon négatif, Atomsk va automatiquement construire une boucle carrée dont le "rayon" (le demi-côté) sera égal à la valeur absolue du rayon que vous avez entré. De cette façon, le carré a un côté égal au diamètre d'une boucle circulaire équivalente.

Modifions la commande précédente, en entrant un rayon de −30 Å:

atomsk Al_supercell.xsf -disloc loop 0.501*box 0.501*box 0.501*box Z -30 2.860954 0 0 0.33 Al_loop2.cfg

Cette boucle est alors un carré de côté 60 Å, comme le montre la visualisation :

4. Introduire une boucle dans un autre plan {111}

L'option "-dislocation" ne permet d'introduire des boucles de dislocation que dans des plans normaux aux axes cartésiens. Mais parfois, on peut vouloir introduire une boucle dans un plan qui est incliné par rapport à ces axes. Cela peut être réalisé en appliquant une rotation au cristal (avec l'option "-rotate", ou l'option "-orient"), de sorte que le plan visé se retrouve normal à un axe cartésien. Il devient alors possible d'utiliser l'option "-dislocation".

Comme exemple, construisons une super-cellule d'aluminium non orientée, c'est-à-dire telle que X=[100], Y=[010], Z=[001], et supposons que nous voulions introduire une boucle de dislocation de vecteur de Burgers b=½[110] dans le plan (111). D'abord, tournons le cristal avec l'option "-orient", de sorte que la direction [111] soit normale à l'axe Z (et donc, que le plan (111) soit normal à Z), et de sorte que la direction [110] soit suivant X. Après cela, on peut utiliser l'option "-dislocation" pour introduire la boucle. Enfin, le système peut être remis dans son orientation de départ avec l'option "-alignx" :

atomsk --create fcc 4.046 Al -duplicate 40 40 40 \
-orient [100] [010] [001] [1-10] [11-2] [111] \
-disloc loop 0.501*box 0.501*box 0.501*box Z 30 2.860954 0 0 0.33 \
-alignx Al_loop2.cfg

La visualisation montre que la boucle a bien été introduite dans le plan voulu :

5. Introduire des boucles tronquées

Si vous souhaitez construire une boucle de dislocation tronquée, c'est-à-dire une boucle qui intersecte une surface libre, alors placez le centre de la boucle près d'un bord de boîte. Atomsk affichera un message indiquant que certains points de la boucle sont en-dehors de la boîte, mais il construira tout de même la boucle.

Comme exemple, modifions la boucle introduite dans l'exemple précédent, et plaçons son centre en-dehors de la boîte :

atomsk --create fcc 4.046 Al -duplicate 40 40 40 \
-orient [100] [010] [001] [1-10] [11-2] [111] \
-disloc loop -60 0.6*box 0.7*box Z 50 2.860954 0 0 0.33 \
-alignx Al_loop3.cfg

Vous pouvez modifier la position et le rayon de cette boucle pour obtenir différents résultats.

6. Introduire plusieurs boucles

Comme pour les dislocations rectilignes (voir tutoriels précédents), il est possible d'introduire plusieurs boucles de dislocations en appelant l'option "-dislocation" plusieurs fois. Il est aussi possible d'appeler l'option "-orient" plusieurs fois, afin d'insérer des boucles dans des plans différents. Vous pouvez également introduire un mélange de dislocations rectilignes et de boucles, si vous le souhaitez.

7. Dernières remarques

Comme dans les tutoriels précédents, lors de la construction de boucles de dislocations, l'utilisateur doit bien réfléchir à la géométrie de son système, au vecteur de Burgers, au plan, et à la position de la boucle. N'hésitez pas à essayer différentes tailles de boîte, différentes positions, et différents rayon. Si certains points de la boucle sont en-dehors de la boîte, Atomsk affichera un avertissement ; c'est à vous de décider si c'est le résultat voulu ou non. Notez que l'option "-dislocation" n'utilise pas de conditions aux limites périodiques, donc si certains points d'une boucle sont en-dehors de la boîte, ils ne seront pas remis automatiquement de l'autre côté de la boîte&nbps;: ils seront simplement complètement en dehors du système atomique, comme s'il y avait une surface libre.

Enfin, comme pour les dislocations rectilignes, la boucle de dislocation introduite ici n'est pas relaxée ni optimisée, mais elle peut être utile comme point de départ pour une simulation. Notez que les boucles de glissement sont connues pour être instables, à cause de l'attraction entre segments opposés de la boucle : si vous effectuez une simple relaxation ou dynamique moléculaire, alors la boucle se rétractera jusqu'à disparaître, laissant simplement un cristal parfait sans défaut. Il est nécessaire d'appliquer une contrainte pour stabiliser la boucle, ou provoquer son expansion. Si vous n'êtes pas sûr de la façon de procéder, veuillez vous référer à un livre sur les dislocations.