• Aucun résultat trouvé

Apr`es avoir ´etabli l’expression du coefficient d’absorption dans le cadre de la th´eorie de la diffusion multiple avec les fonctions de Green, il faut alors cr´eer des algorithmes permettant le calcul th´eorique des spectres d’absorption. Tr`es rapidement, les calcu-lateurs sont confront´es `a des d´eveloppements convergeant tr`es lentement et les calculs exacts deviennent vite irr´ealisables. L’introduction de certaines approximations per-met d’obtenir des temps de calcul raisonnables, mais au d´etriment de la pr´ecision du calcul. Nous exposerons dans ce paragraphe sans ˆetre exhaustif diff´erentes approxi-mations qui ont ´et´e utilis´ees. Puis nous nous attarderons plus particuli`erement sur le code FEFF6 cr´ee par J. J. Rehr et son ´equipe bas´e sur l’algorithme Rehr et Albers permettant de r´eduire consid´erablement les temps de calcul des oscillations XAFS. Enfin, nous regarderons bri`evement les avanc´ees apport´ees par la derni`ere version de ce code appel´e FEFF8. Finalement, nous d´etaillerons les mod`eles de cluster que nous avons utilis´es avec le logiciel FEFFIT pour d´eterminer la structure des films minces de cobalt.

3.5.1 Exemples de premi`eres approximations utilis´ees

Nous avons vu dans le paragraphe 3.4.2 que l’on pouvait ´ecrire le coefficient d’ab-sorption dans le formalisme des fonctions de Green sous la forme (´equation 3.22) :

µ(k) ∝ 4m π22 hi|ǫ.−→ r Im G − →r ,r, k − →ǫ .−r |ii (3.35)

Ainsi le calcul du coefficient d’absorption r´eside dans la d´etermination de la fonction de Green. Par la suite nous utiliserons les notations utilis´ees par Rehr et al. dans [13]. D’apr`es les ´equations 3.29 et 3.32, l’op´erateur de Green G (k) se d´eveloppe de mani`ere symbolique par : G = Gc+ X i6=0 GctiGc | {z } Diffusion simple + X i6=j j6=0 GctiG0tjGc | {z } Diffusion d’ordre 3 + ... (3.36)

Dans cette expression contrairement aux ´equations 3.29 et 3.32, on distingue l’atome central des atomes voisins en introduisant deux fonctions de Green Gc et G0.

On d´efinit Gc la fonction de Green associ´ee `a l’atome central, G0 est la fonction de Green de l’´electron libre. tj sont les ´el´ements de la matrice de diffusion avec

3. Th´eorie de l’EXAFS 61

Fig. 3.8: Exemple de diffusion simple et de diffusion d’ordre 3 illustrant le d´eveloppement de la fonction de Green G.

grˆace auxquels on introduit les d´ephasages partiels δj dˆus aux potentiels des atomes diffuseurs.

Dans le d´eveloppement 3.36, le premier terme repr´esente ”le bruit de fond”, le second est la contribution de tous les chemins de diffusion simple `a la matrice de Green G. Le troisi`eme terme correspond `a la contribution de tous les chemins de diffusion faisant intervenir trois atomes (figure 3.8).

Rehr d´efinit les ´el´ements de matrice de la fonction libre de Green G0 en la projetant sur une base normale de moments angulaires et de vecteurs position

L,−→ rE : G0 L,L(−→ρ ) = hL, −r | G0 L,−→ rE (3.38) et Gc L,L(−→ρ ) = exp (iδl) hL, −r | G0 L,−→ rE (3.39) Avec L = (l, m) moment angulaire, −→ρ = k−→r −r

et δl le d´ephasage dˆu au potentiel de l’atome central.

Diff´erentes approches ont ´et´e r´ealis´ees pour calculer G (k). Le calcul exact de G (k) est tr`es coˆuteux en temps de calcul. Plusieurs types de mod`eles sont alors envisag´es pour rendre ce calcul plus accessible.

L’une de ces premi`eres m´ethodes utilise l’approximation de l’onde plane. Cette hypoth`ese approxime l’onde sph´erique sortant de l’atome central et arrivant sur un atome voisin `a une onde plane. Cette approximation permet d’obtenir de grandes simplifications de calcul et par cons´equent de calculer des ordres de diffusion plus ´elev´es. Le principal inconv´enient de ce type de mod`ele est qu’il n’est valable que

62 3. Th´eorie de l’EXAFS

dans la partie haute ´energie de l’EXAFS. Des corrections ont alors ´et´e apport´ees en introduisant des amplitudes de diffusion effective fef f(ρ, ρ, θ) qui permettent de tenir compte de la courbure des ondes diffus´ees. Cette amplitude effective est `a l’origine du nom du programme FEFF. Cette m´ethode est bas´ee sur l’approximation du petit atome qui n´eglige la courbure de l’onde incidente sur l’atome diffuseur uniquement dans sa sph`ere de muffin-tin. Cette approximation est justifi´ee car le rayon du diffuseur est petit devant la distance atome central-atome voisin.

Une autre m´ethode appel´ee m´ethode du cluster, calcule la diffusion multiple `a tous les ordres mais sur un amas d’atomes limit´e. Ce mod`ele a ´et´e surtout utilis´e pour le calcul de la partie XANES, mais des probl`emes de limitations de calcul le cantonne aux faibles ´energies et `a de petits amas d’atomes.

3.5.2 FEFF6 et algorithme de Rehr et Albers

De mani`ere g´en´erale, le calcul du d´eveloppement en diffusion multiple est limit´e par deux probl`emes : le nombre important de composantes du moment angulaire L pour les ordres ´elev´es de diffusion et par la prolif´eration de chemins de diffusion aux grandes ´energies. Nous exposerons dans les deux paragraphes suivants ces deux probl`emes et de quelle mani`ere Rehr et Albers [11] les contournent dans le code FEFF6.

Contournement de la prolif´eration des composantes du moment angulaire Ce premier probl`eme qui limite le calcul est li´e `a la taille des matrices de Green G0 utilis´ees dans le d´eveloppement 3.36. Les dimensions de ces matrices sont N eL× N eL avec N le nombre d’atomes contenus dans le cluster et eL = lmax(2lmax+ 1) ≅ 450 `

a 1200. Le nombre de termes `a calculer est donc tr`es important. L’expression de ces ´el´ements de matrice est [11] :

G0 L,L(−→ρ ) = 4πX

L′′

hYLYL′′| YLihL′(−→r ) (3.40) Avec hL(−→r ) = ilh+l (kr) YL(br), h+l (kr) ´etant une fonction de Hankel.

Le d´eveloppement 3.40 converge lentement et ´etant donn´e le nombre important d’´el´ements de matrices `a calculer le calculateur est vite limit´e.

L’id´ee maˆıtresse de l’algorithme d´evelopp´e par Rehr et Albers en 1990 [11] est d’optimiser le temps de calcul de ces ´el´ements de matrices et de d´evelopper G0 L,L(−→ρ ) en une somme de termes `a convergence rapide.

Cet algorithme se d´eroule en deux ´etapes :

- On applique tout d’abord des matrices de rotation aux propagateurs de l’´electron libre G0 L,L(−→ρ ) qui projettent toutes les liaisons de leur axe −ρ sur l’axe −z .

3. Th´eorie de l’EXAFS 63

L’introduction des matrices de rotation et des propagateurs sur l’axe −→z simplifient consid´erablement le calcul de la diffusion multiple. Ceci fonctionne assez bien pour des chemins avec un petit nombre de diffuseurs. Pour des chemins de diffusion d’ordre sup´erieur, le couplage entre les valeurs de l successives sont `a prendre en compte. Une autre ´etape est alors n´ecessaire.

Cette deuxi`eme ´etape consiste `a obtenir une repr´esentation s´eparable des pro-pagateurs sur l’axe −→z . L’utilisation de cette repr´esentation s´eparable permet de cal-culer exactement G0 L,L(−→ρ ). Dans la version FEFF6, Rehr tronque le d´eveloppement de G0 L,L(−→ρ ) ´etant donn´e la convergence rapide du d´eveloppement en repr´esentation s´eparable. Il est `a noter que la convergence rapide de ce d´eveloppement est valable aussi bien pour les hautes ´energies que pour les faibles ´energies. L’algorithme de Rehr peut s’´ecrire sous la mˆeme forme que l’´equation 3.41 obtenue dans le cadre de l’approxima-tion de l’onde plane en rempla¸cant les amplitudes de diffusion fii) par des matrices de diffusion. Il est `a noter que les formulations identiques entre l’algorithme de Rehr et l’´equation dans l’approximation de l’onde plane ne signifie pas que l’algorithme est ´ecrit dans l’approximation de l’onde plane.

χN −1(k) = Im " ei(ρ1+ρ2+...+ρN)+2iδ1 ρ1ρ2...ρN ( bρ1. cρN) fN −1N −1) ...f22) f11) # (3.41) Si la taille de ces matrices de diffusion est de type (1 × 1) c’est `a dire une fonction scalaire, on se retrouve dans le cas de l’approximation du petit atome vue pr´ec´edemment avec une amplitude effective de diffusion. L’utilisation de matrice de diffusion (6 × 6) suffit pour obtenir des r´esultats satisfaisants.

Contournement de la prolif´eration des chemins de diffusion

Dans la courte introduction consacr´ee `a l’algorithme Rehr et Albers, nous avons souligner un autre probl`eme rencontr´e lors du calcul de la diffusion multiple qui ´etait la prolif´eration des chemins de diffusion avec la longueur des chemins grandissante. La plupart de ces chemins en diffusion multiple ont une contribution tr`es faible. L’utili-sation de filtres rep´erant de mani`ere automatique ce type de chemin et les ´eliminant est alors susceptible de r´eduire le temps de calcul sans affecter sa pr´ecision [12][13]. Avec la liste contenant les coordonn´ees de tous les atomes composant l’amas, tous les chemins possibles autour de l’atome central sont g´en´er´es dans un rayon de 3R1 (R1 ´etant la longueur du premier chemin rencontr´e en diffusion simple).

Les deux filtres principaux utilis´es dans le code FEFF6 sont un filtre utilisant des calculs en onde plane et le second des calculs en onde courbe. Ces filtres sont d´ecrits pr´ecis´ement dans [13]. L’amplitude calcul´ee d’un chemin soit en onde plane ou en

64 3. Th´eorie de l’EXAFS

onde courbe est alors exprim´ee en pourcentage par rapport `a l’amplitude du premier chemin rencontr´e en diffusion simple. Un chemin est ´elimin´e si son importance relative est inf´erieure `a une valeur seuil fix´ee g´en´eralement `a 2,5%.

Ces filtres permettent de r´eduire consid´erablement le nombre de chemins sans ´eliminer les chemins contribuant le plus aux oscillations EXAFS.

3.5.3 Am´eliorations r´ecentes du code FEFF

De mani`ere assez br`eve, les am´eliorations apport´ees au code FEFF (version 8) par rapport aux versions pr´ec´edentes notamment FEFF6 sont surtout visibles dans le domaine XANES situ´e `a basse ´energie o`u la diffusion multiple est importante [16]. Sans entrer dans les d´etails du code FEFF8, le calcul en diffusion multiple y est effectu´e grˆace `a l’algorithme Rehr et Albers qui fournit une expression exacte des ´el´ements de matrices G0. Dans les versions pr´ec´edentes de FEFF, les ´el´ements de matrice de G0 ´etaient ´egalement calcul´es avec le mˆeme algorithme mais en utilisant un d´eveloppement limit´e. D’apr`es les relations 3.29 et 3.32 on peut exprimer G (k) par

G (k) = G0(k) + G0(k) tG0(k) + ... (3.42) On peut alors r´e´ecrire cette expression par

G (k) = [1 − G0(k) t]−1G0(k) (3.43) Dans FEFF8, le calcul de G (k) se fait par inversion de la matrice [1 − G0(k) t]. FEFF8 calcule de mani`ere exacte les oscillations XAFS ce qui est tr`es coˆuteux en temps de calcul (Full Multiple Scattering calculation).

Le calcul des oscillations XAFS effectu´e par FEFF8 est ´equivalent `a celui pr´esent´e dans le formalisme de l’op´erateur de chemin avec l’´equation 3.34.