Présentation du logiciel Sommaire Tutorial, partie 2

Tutorial pour LASE (partie 1)

Cette partie présente, sur un exemple, le principe de l'extraction et de l'analyse d'un spectre EXAFS à l'aide du logiciel LASE. Seules les opérations essentielles sont présentées ici ; pour des explications détaillées sur chacune des options et sur leur fonctionnement, reportez-vous aux parties suivantes. Le composé choisi pour cet exemple est le complexe [Fe(OPhMe2)4)]NEt4. Le spectre d'absorption a été mesuré en transmission sur la ligne EXAFS III du LURE, sur un échantillon en poudre, au seuil K du fer ; différentes études indiquent que, dans ce complexe, le fer occupe le centre d'un tétraèdre d'atomes d'oxygène. Pour davantage d'informations à propos de ce complexe et de l'analyse de son spectre d'absorption X, voir Travaux préliminaires à l'étude par spectroscopie d'absorption X de complexes modèles du site actif de la nitrile-hydratase, Emmanuel CURIS, rapport de stage de DEA, 1996.

Cette partie est organisée de la façon suivante :

  1. Principe du traitement ;
  2. Obtention du signal brut ;
  3. Extraction du signal EXAFS,
  4. Séparation des contributions,
  5. Création du modèle théorique,
  6. Recherche des paramètres structuraux,

Principe du traitement

Le signal EXAFS est, par définition, l'ensemble des oscillations normalisées du coefficient d'absorption atomique après le seuil d'absorption. L'environnement local de l'atome absorbeur est à l'origine de ces oscillations : il est donc possible d'en déduire des informations structurales. Cette déduction se fait en essayant de reproduire au mieux les oscillations expérimentales par un modèle théorique adapté. Cette modélisation est particulièrement simple pour les oscillations dues à la première couche de voisins.

Le traitement d'un spectre expérimental, donnant le coefficient d'absorption total en fonction de l'énergie du photon incident, nécessite donc l'extraction des oscillations d'origine structurale (signal EXAFS), éventuellement la séparation des différentes contributions structurales à ces oscillations, la création d'un modèle structural « grossier » permettant les calculs théoriques et la recherche des paramètres structuraux permettant de décrire au mieux les oscillations expérimentales à partir de ce modèle structural.

La première étape repose sur la définition des oscillations EXAFS, khi(k), à partir du coefficient d'absorption total, µ : µ = µm + µ0 (1 + khi(k)) donc

Définition du signal EXAFS

où µm représente la contribution des atomes autres que l'absorbeur à l'absorption de l'échantillon et µ0 est l'absorption de l'absorbeur supposé seul dans l'univers ; E est l'énergie du photon incident et k est le nombre d'onde de l'électron émis :

Définition du nombre d'onde

E0 étant l'énergie de seuil. L'extraction de khi(k) se fait donc en modélisant µm et µ0.

Dans le cadre de l'exemple choisi, nous nous limiterons à la modélisation de la contribution des premiers voisins du fer (« première couche »), soit les quatre oxygènes liés au fer. Cette contribution est isolée à l'aide de la transformation de Fourier.


Obtention du spectre expérimental brut

Lors d'une expérience en transmission sur la ligne EXAFS III, les données enregistrées par le logiciel de pilotage (Acquvisu) sont l'énergie du photon incident (exprimée en eV), l'intensité du faisceau incident I0 (en nombre de coups) et l'intensité du faisceau transmis I1 (en nombre de coups).

Pour récupérer ces données et calculer le coefficient d'absorption total, il faut utiliser l'option Extraire le signal brut..., dans le menu Absorption.

Boîte de dialogue « extraire le signal brut »

L'appel de cette fonction ouvre la boîte de dialogue ci-dessus, qui permet de préciser le mode d'acquisition (transmission ou fluorescence), le logiciel utilisé pour le pilotage et diverses options permettant un premier traitement au vol des spectres chargés. Ces options ne seront pas détaillées ici ; pour charger le fichier expérimental du complexe étudié, il faut indiquer des données enregistrées en transmission, sans multi-détecteur, sur la ligne EXAFS III, comme sur la figure ci-dessus. Le fichier à charger est fe_phen.dat, dans le dossier Exemples. Pour davantage d'informations, suivre ce lien.

Une fois le fichier chargé, le spectre d'absorption doit apparaître dans la fenêtre principale du programme.


Extraction du signal EXAFS

Comme l'indique la formule définissant les oscillations EXAFS, il faut pour extraire le signal modéliser les deux termes µm et µ0. La modélisation de µm se fait en une fois ; celle de µ0 utilise une procédure en trois étapes : µ0 = µ0(I) + µ0(II) + µ0(III). Le plus simple, pour mener cette opération à bien, est de choisir l'option Tout faire... dans le menu EXAFS, qui enchaîne automatiquement ces différentes étapes, réalise la normalisation et permet de paramétrer la transformation de Fourier puis la transformation de Fourier inverse (voir la partie suivante).

Lorsque cette option est appelée, toutes les fenêtres décrites dans la suite de ce texte apparaissent simultanément et s'arrangent à l'écran : la fenêtre pour µm en haut à gauche, celle pour µ0(I) en haut à droite, celle pour µ0(II) en bas à gauche, celle pour µ0(III) en bas à droite et celle pour la transformée de Fourier au centre. La moindre modification d'un paramètre dans une fenêtre est transmise dans toutes les fenêtres suivantes, ce qui permet de contrôler rapidement l'influence du paramètre modifié sur le spectre et la qualité du spectre extrait.

Il est important de bien fermer chacune des fenêtres dans l'ordre logique, c'est-à-dire en commençant par celle de µm et en finissant par celle de µ0(III). En effet, un certain nombre de paramètres internes ne sont mis à jour que lors de la fermeture de la fenêtre (propagation des barres d'erreur, de la couleur du spectre, mémorisation des paramètres pour une extraction ultérieure, création de l'historique,...).

À la fermeture de la fenêtre pour estimer µ0(III), le spectre est normalisé. Cette normalisation s'accompagne d'une disparition des effets de la pondération par kn, ce qui provoque une modification importante de la transformée de Fourier. Cet effet est normal, il suffit de redemander une pondération par kn (menu exafs, option Multiplier par k^n).

Modélisation de µm

Fenêtre « extraction de µ(matrice) »

La courbe noire représente le spectre expérimental, la courbe bleue le terme µm calculé et la courbe grise le spectre résultant de la soustraction de µm, soit µ - µm. Le trait rouge vertical indique la position de l'énergie E1. Par défaut, µm est modélisé par une courbe de Victoreen, ou « victorine », d'équation y = A + Bx-3. Les paramètres A et B sont obtenus par la méthode des moindres carrés ; les points utilisés pour cela sont tous les points tels que x < E1.

La position de E1 peut être modifiée en cliquant avec le bouton gauche la nouvelle position ; il est possible d'entrer directement une valeur précise en cliquant sur la valeur numérique de E1 affichée en rouge en haut de la fenêtre.

La nature de la courbe modélisant µm peut être choisie dans le sélecteur en haut à gauche de la fenêtre. Suivez ce lien pour avoir la description détaillée de cette fonction.

Lorsque le terme µm obtenu vous satisfait, cliquez sur le bouton de fermeture de la fenêtre et demandez le calcul du résultat. Pour l'exemple choisi, une valeur de E1 convenable est E1 = 7085 eV.

Première modélisation de µ0

Fenêtre « Première étape de modélisation de µ0 »

La courbe noire représente le spectre expérimental, la courbe bleue le terme µ0(I) calculé --- tous deux représentés en échelle d'énergie (E, en eV) ; la courbe grise représente le spectre EXAFS résultant de cette soustraction, en échelle des nombres d'onde (k, en Å-1) et pondéré par kn. Le trait rouge vertical indique la position de l'énergie de seuil, E0, servant d'origine pour le calcul des nombres d'onde ; le trait vert indique la position du paramètre E2 ; le trait violet horizontal représente la position du zéro pour le spectre EXAFS extrait (idéalement, le spectre doit osciller autour de cet axe). L'erreur (au sens des moindres carrés) entre le polynôme et le spectre brut, dans la partie servant à la détermination du polynôme, est indiquée en haut à droite.

Lors de cette étape, le terme µ0(I) est modélisé par un polynôme de degré choisi par l'utilisateur (degré 3 par défaut) ; les coefficients du polynôme sont calculés à l'aide de la méthode des moindres carrés à l'aide de tous les points d'énergie supérieure à E2 ; ce polynôme est extrapolé jusqu'à l'énergie de seuil.

La position de l'énergie de seuil peut être indiquée en cliquant avec le bouton gauche à la nouvelle position ; il est possible d'indiquer une valeur numérique précise en cliquant sur le texte rouge E0 = ... eV indiquant la valeur de E0 utilisée.

La position de E2 peut être indiquée en cliquant avec le deuxième bouton à la nouvelle position ; il est possible d'indiquer une valeur numérique précise en cliquant sur le texte vert E2 = ... eV indiquant la valeur de E2 utilisée.

Le facteur de pondération, n, peut être modifié en cliquant sur le texte Affichage : k^__ * khi(k). Cette pondération est conservée dans toute la suite du traitement, jusqu'à la normalisation.

Lorsque le terme µ0(I) vous satisfait, cliquez sur le bouton de fermeture de la fenêtre et demandez le calcul du résultat. Pour l'exemple choisi, des valeurs convenables sont E0 = 7124 eV, E2 = 7230 eV et n = 2 avec un polynôme de degré 3.

Pour une description complète de cette fonction, suivez ce lien.

Première correction à la modélisation de µ0

Fenêtre « Deuxième étape de modélisation de µ0 »

La courbe noire représente le spectre expérimental, la courbe bleue le terme µ0(II) calculé et la courbe grise le spectre EXAFS résultant de cette correction ; le trait violet horizontal représente la position du zéro pour le spectre EXAFS extrait.

Le terme µ0(II) est estimé par un polynôme de degré spécifié par l'utilisateur ; les coefficients du polynôme sont calculés par la méthode des moindres carrés sur l'ensemble du spectre EXAFS

Lorsque le terme µ0(II) vous satisfait, cliquez sur le bouton de fermeture de la fenêtre et demandez le calcul du résultat. Pour l'exemple choisi, les valeurs proposées par défaut donnent des résultats convenables.

Seconde correction à la modélisation de µ0

Fenêtre « Troisième étape de modélisation de µ0 »

La courbe noire représente le spectre expérimental, la courbe bleue le terme µ0(III) calculé et la courbe grise le spectre EXAFS résultant de cette correction ; le trait violet horizontal représente la position du zéro pour le spectre EXAFS extrait.

Le terme µ0(III) est calculé en utilisant une spline contrainte par le paramètre s, positif (Paramètre de lissage) ; plus ce paramètre est faible et plus le terme µ0(III) est proche du signal brut (à la limite, pour s = 0, ces deux grandeurs sont égales et le spectre extrait est rigoureusement nul) ; quand le paramètre tend vers l'infini, µ0(III) tend vers une droite. La valeur de s doit être choisie de façon à éliminer les oscillations résiduelles à basse fréquence ; en général les valeurs juste avant d'obtenir une droite conviennent. La valeur de s peut être très variable d'un spectre à l'autre et, suivant le composé, peut valoir 0,001 comme 1500. Pour entrer la valeur, il suffit de l'indiquer après le texte Paramètre de lissage, s = puis d'appuyer sur Entrée.

Lorsque le terme µ0(III) vous satisfait, cliquez sur le bouton de fermeture de la fenêtre et demandez le calcul du résultat. Pour l'exemple choisi et avec les valeurs indiquées ci-dessus pour les étapes précédentes de l'extraction, une valeur de 6 pour s donne de bons résultats.

Cette étape est la dernière de l'élimination de l'absorption atomique. Elle donne µ0 = µ0(I) + µ0(II) + µ0(III) et µ - (µm + µ0), tous deux exprimés dans l'échelle des nombres d'onde et pondérés par kn. Pour obtenir khi(k), il suffit donc de diviser ces deux grandeurs. Lorsque que l'on quitte ce module, cette division est automatiquement réalisée ; on obtient donc directement khi(k). Il est possible d'empêcher cette normalisation, ou de normaliser en utilisant un autre µ0 que celui modélisé : voir la description complète de la fonction pour davantage d'informations.

Après avoir réalisé cette extraction, le spectre obtenu n'est pas pondéré, il faut pour ajouter une pondération utiliser la fonction Multiplier par kn. Pour l'exemple considéré, il faut donc appeler l'option Multiplier par kn et demander une pondération par k2. Il reste ensuite à isoler les contributions à l'aide de la transformation de Fourier.


Séparation des contributions

Il est maintenant possible de décomposer les oscillations EXAFS obtenues précédemment en fonction de leur fréquence, directement reliée à la distance parcourue par l'onde du photoélectron avant de revenir interférer sur l'atome absorbeur ; cette décomposition en fréquence fait appel à la transformation de Fourier, le nombre d'onde k étant la grandeur conjuguée de cette longueur parcourue, 2R. Dans le formalisme de la réflexion simple, chaque pic observé sur la transformée de Fourier correspond à une « couche » de voisins (réflecteurs) situés à une même distance de l'absorbeur ; isoler ce pic et en prendre la transformée de Fourier inverse permet de connaître la contribution de cette couche au signal EXAFS total. Physiquement, on n'observe plus de contribution significative pour R > 8 Å environ ; les oscillations à plus haute fréquence sont assimilées à du bruit : prendre la transformée de Fourier inverse en éliminant ces fréquences permet donc d'éliminer une importante partie du bruit.

Calcul de la transformée de Fourier

Le signal enregistré expérimentalement n'étant pas infini, un calcul direct de la transformée de Fourier du spectre conduit à des oscillations parasites (oscillations de coupure). Pour amoindrir ces effets, le signal est multiplié par une fonction qui varie doucement de 0 à 1 puis décroît vers 0, la fonction d'apodisation ou fenêtre. Mais cette multiplication conduit à une atténuation du signal et à la perte des informations dans la région d'annulation de la fonction. Il faut donc trouver un compromis entre la diminution des oscillations de coupure et l'atténuation du signal. Le rôle de la fenêtre qui apparaît à cette étape est de paramétrer cette fonction d'apodisation.

Fenêtre « Paramétrer la fonction d'apodisation »

La courbe noire représente le spectre expérimental, la bleue représente la fenêtre choisie, la violette représente le produit du spectre expérimental et de la fenêtre (c'est la transformée de Fourier de cette courbe qui va être effectivement calculée). Le trait rouge vif indique la position de kmin, le trait vert clair celle de kmax, le trait noir la position de la souris. Il est possible de visualiser un aperçu de la transformée de Fourier que l'on va obtenir, en activant le bouton Aperçu.

Le type de fenêtre utilisé (Kaiser-Bessel par défaut) est défini par le sélecteur en haut, à gauche de la fenêtre. Suivant le type de fenêtre, il est nécessaire de préciser de 2 à 5 paramètres pour la définir complètement ; la fenêtre de Kaiser-Bessel est défini par la position de kmin et kmax, qui définissent la position du maximum, et par un paramètre qui définit la courbure --- voir cette partie pour davantage d'informations sur le rôle des différents paramètres et les différents types de fenêtre.

La position de kmin peut être indiquée soit en cliquant avec le bouton gauche de la souris la position indiquée, soit en cliquant sur le texte affichant sa valeur.

La position de kmax peut être indiquée soit en cliquant avec le bouton droit de la souris la position indiquée, soit en cliquant sur le texte affichant sa valeur.

La valeur du paramètre peut être modifiée en cliquant sur le texte affichant sa valeur.

Une fois que la fenêtre vous satisfait, il suffit de cliquer sur le bouton de fermeture pour passer à l'étape suivante : la boîte de dialogue ci-dessous vous permet alors d'indiquer les autres paramètres du calcul.

Pour davantage d'informations sur le rôle de ces paramètres, voyez la page ... Pour le spectre étudié en exemple, la fenêtre proposée par défaut convient ; un calcul par la méthode normale pour R compris entre 0 et 10 Å, avec un pas de 0,02 Å, sans correction de phase ou d'amplitude donne une transformée de Fourier utilisable dans la suite.

À la fin du calcul, la fenêtre de paramétrage de calcul de la transformée de Fourier inverse apparaît.

Isolement de la contribution du premier pic

Le rôle de la fenêtre qui apparaît maintenant est de définir la zone à conserver pour le calcul de la transformée de Fourier inverse :

Fenêtre « Paramétrer le filtre »

Cette zone est définie en multipliant la transformée de Fourier par une fonction nulle partout où l'on veut perdre le signal et valant 1 là où l'on veut conserver le signal, la transition étant plus ou moins brutale (il s'agit d'un filtre passe-bande). Les fonctions utilisées sont les mêmes que les fonctions servant de fenêtre pour le calcul de la transformée de Fourier et se paramètrent de la même façon ; par défaut, le filtre proposé est une fonction de Hanning asymétrique définie par quatre paramètres : Rmin et Rmax, qui définissent les points d'annulation, et R1 (en rouge sombre, placé par shift + bouton gauche) et R2 (en vert foncé, placé par shift + bouton droit), qui définissent le plateau (où le filtre vaut 1).

Les courbes rouge et noire représentent, respectivement, le module et la partie imaginaire de la transformée de Fourier, la courbe bleue représente le filtre et la courbe violette est la fonction résultant de l'application du filtre à la transformée de Fourier, dont on va calculer la transformée de Fourier inverse.

Quand le filtre vous convient, un clic sur le bouton de fermeture permet de passer au paramétrage des autres options du calcul de la transformée de Fourier inverse, grâce à la boîte de dialogue ci-dessous.

La partie supérieure permet d'indiquer la méthode et l'intervalle de calcul (dans l'espace des k) de la transformée de Fourier inverse, ainsi que les informations à conserver au cours du calcul.

La partie inférieure permet d'indiquer les paramètres de la fenêtre utilisée pour le calcul de la transformée de Fourier, afin de pouvoir en éliminer les effets à l'issue du calcul. Ces paramètres sont mémorisés lors de la transformation de Fourier et ne sont donc donnés qu'à titre indicatif ici ; ils peuvent cependant être modifiés, si ces informations ont été perdues.

Pour le spectre traité, la transformée de Fourier présente essentiellement un seul pic au voisinage de 2 Å. Il peut être isolé en utilisant comme filtre une fonction de Hanning avec Rmin = 0,84 Å, R1 = 1,06 Å, R2 = 1,78 Å et Rmax = 1,91 Å. Étant donnée la fenêtre utilisée pour le calcul de la transformée de Fourier, le calcul peut être fait pour k compris entre 1,5 et 13,5 Å-1, par pas de 0,02 Å-1. La seule information à conserver est le spectre EXAFS.

À l'issue du calcul, on obtient le spectre EXAFS filtré, pondéré par k2, dû aux réflecteurs situés vers 2 Å de l'atome absorbeur, c'est-à-dire le spectre des premiers voisins, les quatre atomes d'oxygène. C'est ce spectre, représenté ci-dessous, qui va servir de référence aux modélisations théoriques, dans le cadre d'un modèle de réflexions simple.


Création du modèle théorique

La création du modèle demande de connaître le logiciel utilisé pour réaliser les calculs théoriques et de formuler une hypothèse sur la structure du composé étudié. LASE étant plus adapté pour travailler avec FEFF, c'est la réalisation d'un modèle théorique pour ce dernier qui est présentée ici ; pour la signification précise des différents paramètres, consultez la notice de FEFF (une version française de la notice de FEFF 6 est disponible sur demande).

Nous nous limitons ici à l'étude de la contribution de la première couche de voisins du fer ; cette couche contribue essentiellement au signal par le terme de réflexion simple. Dans ce cas, seule la distance entre le fer et l'atome réflecteur intervient ; ce réflecteur, pour le complexe étudié, est un atome d'oxygène situé à environ 2 Å du fer. De plus, le nombre d'atomes à une même distance (ici 4) contribue uniquement par un facteur multiplicatif. Le modèle structural le plus simple est donc un modèle contenant l'atome de fer (absorbeur) à l'origine et un atome d'oxygène placé à 2 Å du fer donc, par exemple, en (2, 0, 0) --- les coordonnées étant exprimées en angströms dans FEFF.

Pour pouvoir créer ce modèle théorique, il est nécessaire de passer LASE en mode « Théorie ». Cela se fait en choisissant l'option >>> Calculs théoriques dans le menu LASE-1 ; la barre de menu est modifiée en conséquence et devient :

Menu en mode théorie

Toutes les options concernant FEFF sont groupées dans le menu FEFF de cette nouvelle barre de menus. La création pratique du modèle utilisable par FEFF se fait en trois étapes (correspondant aux trois premières options du menu) avant d'être enregistrée dans un fichier feff.inp prêt à être utilisé par FEFF.

Paramètres généraux

L'information fondamentale dans le calcul du modèle, et pour son utilisation dans LASE ensuite, est la nature de l'atome absorbeur. Lorsqu'un modèle est créé sans modèle structural dans LASE, ce qui est le cas ici, il faut donc commencer par préciser cette information : c'est ce que permet la boîte qui apparaît en tout premier lieu, dans laquelle on peut entrer le numéro atomique ou le symbole de l'élément (Fe dans l'exemple traité).

Ensuite apparaît la boîte ci-dessous :

Boîte de dialogue «
Paramètres généraux FEFF »

Cette boîte de dialogue permet de régler quelques paramètres généraux n'ayant pas d'influence directe sur le calcul, ou qui ne sont pas spécifiquement liés à l'échantillon : nom du composé modélisé, type de fichier à générer (FEFF est très sensible aux fins de lignes, un fichier FEFF avec des fins de ligne pour MS-DOS ou Windows ne sera pas reconnu par la version unix de FEFF, et réciproquement), nature des informations sauvées par FEFF, faut-il calculer le X. A. N. E. S.,... Pour davantage d'informations à ce sujet, voir la description détaillée. À l'exception du nom du composé et de l'utilisateur, les paramètres par défaut conviennent (pensez aussi à choisir le bon type de format de fichier).

Potentiels

Boîte de dialogue
« Potentiels FEFF »

Cette boîte de dialogue permet de définir les différents paramètres influant sur le modèle utilisé par FEFF pour calculer le potentiel. Dans le cas très simple qui nous intéresse, les seuls paramètres utiles sont la nature du seuil et la correspondance entre numéro de potentiel et numéro atomique (lignes Potentiel x :), sachant que le potentiel 0 correspond nécessairement à l'atome absorbeur et a donc été défini lors de l'étape précédente. Le seuil étudié est le seuil K du fer ; on ne s'intéresse qu'à la contribution de l'oxygène, donc seuls deux potentiels sont utiles : le potentiel 0 (potentiel du fer) et le potentiel 1 (potentiel de l'oxygène), ce qui conduit au paramétrage indiqué sur la figure ci-dessus.

Structure

Boîte de dialogue «
Modèle structural FEFF »

Cette boîte de dialogue permet de définir le modèle structural utilisé par FEFF pour réaliser le calcul des oscillations EXAFS. Cette structure peut être indiquée de deux façons :

  • en entrant les coordonnées des différents atomes mis en jeu ;
  • en définissant des couches caractérisées par le nombre d'atomes qu'elle contiennent et leur distance à l'atome absorbeur, ainsi que les recouvrements entre atomes de potentiels différents. Ces couches ne permettent qu'un calcul de réflexion simple.
  • Pour le modèle choisi, la première méthode de décrire le couple (Fe, O) étudié est beaucoup plus rapide et plus simple, elle sera donc la seule envisagée ici.

    Il faut, pour décrire le système étudié, créer deux atomes : un atome de fer de potentiel 0 placé en (0, 0, 0) et un atome d'oxygène de potentiel 1 placé en (2, 0, 0) --- toutes les coordonnées sont exprimés en angströms. Pour créer un atome ex nihilo, cliquez sur le bouton Créer atome. Il apparaît alors une boîte de dialogue qui permet d'indiquer les coordonnées, le numéro atomique et le potentiel du nouvel atome. Il n'est pas nécessaire de créer l'atome absorbeur, car il a déjà été créé (et placé par défaut à l'origine) lors de l'appel des paramètres généraux.

    Les atomes utilisés dans le modèle, à l'exception de l'absorbeur, apparaîssent dans le défileur à gauche de la boîte de dialogue ; les coordonnées et le potentiel de l'atome choisi dans la liste sont affichés à droite de ce sélecteur (et peuvent y être modifiés). Créer le modèle de cette façon conduit à la boîte de dialogue telle qu'elle est affichée ci-dessus.

    Sauvegarde du modèle

    Elle se fait en choisissant l'option Sauver FEFF.INP du menu FEFF. Le programme vous permet de sauvegarder le fichier de commandes FEFF avec n'importe quel nom, ce qui permet de se constituer un ensemble de fichiers de commande sans trop de problèmes, mais attention : FEFF ne peut trouver le fichier que s'il s'appelle réellement feff.inp (attention aux différences entre minuscules et majuscules sous unix !).

    Réalisation des calculs

    Le plus simple est d'utiliser l'option Lancer FEFF du menu FEFF, en indiquant comme fichier de paramètres le fichier sauvé précédemment. Cette commande lance FEFF (sans bloquer LASE), à condition que vous ayez indiqué un chemin d'accès correct à FEFF lors de l'installation de LASE. Dans le cas contraire, il est nécessaire de lancer FEFF manuellement dans le dossier contenant le fichier feff.inp à utiliser.

    Lorsque le calcul est terminé, les différents fichiers créés par FEFF se trouvent dans le répertoire contenant le feff.inp initial ; si le calcul a été lancé depuis LASE, un message vous avertit qu'il est fini et le fichier chi.dat obtenu est automatiquement chargé (si le calcul s'est effectué correctement).

    Récupération des résultats

    Dans un premier temps, la grandeur intéressante est le signal EXAFS total calculé par FEFF, khiF(k). Ce signal se trouve dans le fichier chi.dat, qui contient aussi d'autres grandeurs. Si vous avez utilisé l'option lancer FEFF, ce fichier est chargé automatiquement en fin de calcul.

    Dans le cas contraire, il faut utiliser pour récupérer khiF(k) les options d'import qui sont accessibles dans le mode Extraction de LASE. Pour revenir à ce mode, choisir l'option >>> Extraction dans le menu Lase-2. La barre de menu disponible au lancement du programme doit réapparaître. Ensuite, choisir l'option Importer FEFF dans le menu Fichiers.

    Boîte de dialogue «
Importer FEFF »

    Il apparaît alors la boîte de dialogue ci-dessus, qui permet de choisir quel type de fichier créé par FEFF traiter et quelles informations en extraire. Dans le cas présent, le type de fichier est chi.dat et la seule information à conserver est le signal EXAFS.

    Comparaison avec l'expérience

    Tel qu'il a été calculé par FEFF, le signal théorique n'est pas directement comparable au spectre expérimental, pour deux raisons :

  • le signal obtenu n'est pas pondéré, contrairement au signal expérimental ;
  • le calcul a été fait avec une distance Fe-O approximative, un seul oxygène (contre quatre en réalité), sans tenir compte des vibrations thermiques (sFe-O = 0).
  • Le premier problème est facilement résoluble : il suffit d'utiliser l'option Pondérer par k^n du menu EXAFS et d'indiquer la bonne pondération dans la boîte de dialogue qui apparaît, après avoir choisi le signal calculé par FEFF comme graphe courant.

    Le second problème est plus délicat. En première approche, les effets mentionnés modifient essentiellement l'amplitude du signal. La comparaison du signal expérimental et du signal théorique ne peut donc être que qualitative : a-t-on correctement reproduit la phase des oscillations expérimentales ?

    Pour aller plus loin, il est nécessaire de chercher les valeurs des différents paramètres cités (distance Fe-O, sFe-O). La façon de procéder pour obtenir ces valeurs est décrite dans la partie suivante.


    Recherche des paramètres structuraux

    À cette étape du traitement, on dispose d'une part du signal EXAFS obtenu par filtrage du premier pic de la transformée de Fourier des oscillations expérimentales (ce signal filtré, noté khie(k), étant interprété comme la contribution au signal total des réflexions simples sur les atomes les plus proches de l'atome absorbeur) et d'autre part d'un modèle théorique approximatif pour décrire ce signal : un atome d'oxygène situé à 2 Å du fer, les deux atomes étant immobiles ; ce modèle permet de calculer le signal théorique khiF(k). Du fait de la symétrie sphérique, khiF(k) vaut un quart au signal théorique calculé pour quatre atomes d'oxygène placés exactement à 2 Å du fer ; de plus, la prise en compte des vibrations thermiques (supposées faibles) introduit un terme multiplicatif en exp(-2s2k2) : khith(k) = 4exp(-2s2k2) khiF(k). D'après la théorie de l'EXAFS, dans le cas considéré, on peut écrire que khiF(k) = f(k)/kR2 sin(2kR + phi(k)) où R est la distance Fe-O, f(k) est l'amplitude (incluant le terme d'atténuation dû au libre parcours moyen fini du photoélectron) et phi(k) le déphasage du signal ; ces deux dernières grandeurs sont calculées par FEFF et enregistrées dans le fichier feff0001.dat.

    Pour améliorer la description des oscillations expérimentales, on est donc amené à faire varier les valeurs de s et de R. On cherche, en pratique, les valeurs de s et de R qui minimisent la fonction :

    Fonction minimisée

    En pratique, on constate que l'énergie de seuil calculée par FEFF ne reproduit pas exactement l'énergie de seuil réelle, qui n'est pas exactement non plus l'énergie de seuil E0 choisie lors de l'extraction des oscillations expérimentales du fait des incertitudes. Cela conduit donc à une échelle en k légèrement différente pour le spectre expérimental et le spectre théorique. On est donc amené à faire intervenir un troisième paramètre, la différence DE0 entre le E0 choisi et le E0 calculé par FEFF.

    Pour pouvoir réaliser cette recherche des valeurs optimales de ces trois paramètres, il faut indiquer au programme dans quelle mesure ces paramètres peuvent varier, quelle valeur initiale utiliser, ainsi que les valeurs d'amplitude et de déphasage à utiliser.

    Chargement des déphasages et amplitudes

    Les amplitudes et déphasages ont été calculés par FEFF pour une géométrie donnée, ils sont donc, dans LASE, associés au modèle structural qui a servi à les générer. Ce modèle structural a ici été créé « au vol » pendant la construction du modèle FEFF ; il constitue une molécule. Pour accéder à la liste des molécules, il faut passer en mode « modèle structural » en choisissant l'option Structure du menu LASE-1. La barre de menus devient alors :

    menu Structure

    La liste des molécules (c'est-à-dire des modèles structuraux) s'obtient à partir de l'option Liste des molécules du menu Structure. Cette option fait apparaître la fenêtre suivante :

    liste des
molécules

    En haut de la fenêtre se trouve la liste des molécules proprement dite. Ici, une seule molécule existe, celle créée pour le modèle FEFF et qui porte ce nom. Dans la moitié basse se trouvent les détails des modèles de la molécule choisie : à gauche, la liste des atomes marqués comme donnant un seuil d'absorption X (« absorbeur » --- ici, un seul, créé en même temps que le modèle FEFF : l'atome de fer), à droite les modèles proposés pour l'absorbeur choisi. Le seul modèle précisé est celui créé dans la partie précédente, qui ne contient pas les phases et amplitudes.

    Pour charger phases et amplitudes dans un modèle, cliquer sur le bouton Nouveau. Il apparaît alors la boîte de dialogue suivante :

    Créer un modèle
FEFF

    Cette boîte conditionne l'utilisation des résultats obtenus par FEFF ; pour l'exemple choisi, les paramètres par défaut conviennent (plus d'informations). Dans le sélecteur qui apparaît alors, indiquer le fichier paths.dat à utiliser.

    En voulant construire le modèle, LASE détecte que l'atome absorbeur est le même que celui déjà en mémoire, qui possède déjà un modèle : il demande donc si le modèle chargé doit remplacer ou s'ajouter à celui existant. Comme l'existant ne contient ni phase, ni amplitude, il n'est pas utile de le garder : on va le remplacer par le modèle chargé. Les phases et amplitudes sont alors construites, formant des graphes dans une nouvelle série.

    Le modèle étant maintenant complet, il est possible de le paramétrer. Ce paramétrage comprend deux aspects : les paramètres qui ne dépendent pas du modèle structural (intervalle à reproduire, pondération utilisée,... : paramtres généraux) et les autres.

    Paramètres généraux

    Pour accéder à ces paramètres, il suffit de cliquer sur le bouton Modifier de la liste des molécules. Il apparaît alors la fenêtre suivante :

    Paramètres généraux de
l'ajustement

    La moitié droite indique les résultats en fin d'ajustement : ils sont sans intérêt à cette étape de l'analyse. La moitié gauche permet de définir la façon dont est réalisé l'ajustement, en particulier l'intervalle à reproduire (de 2 à 12 Å-1 convient ici), les conditions d'arrêt (celles indiquées par défaut conviennent) et l'utilisation éventuelle des barres d'erreur. Pour plus d'informations, voyez ici.

    Paramètres spécifiques

    On peut ensuite modifier les paramètres plus spécifiques, grâce au bouton Paramètres spécifiques du type de modèle, qui fait apparaître la boîte de dialogue suivante :

    Paramètres d'une couche

    Dans le modèle ajusté, chaque terme de la somme correspond à une couche dans LASE. La partie supérieure permet de régler les paramètres les plus généraux, communs à toutes les couches : modèle pour le libre parcours moyen, pondération utilisée,... La partie inférieure permet de définir les variables ajustées, couche par couche. Pour le mode d'emploi détaillé, consultez ce lien.

    Dans notre exemple, le modèle comporte une seule couche constituée de quatre atomes identiques situés à 2 Å de l'absorbeur ; deux paramètres servent à l'ajustement, la distance R et le facteur de Debye-Waller s². Cette couche a été créée lors du chargement du fichier paths.dat, mais (compte-tenu du modèle FEFF utilisé) avec un seul voisin (N = 1). Avant de lancer l'ajustement, il faut corriger le nombre de voisins et indiquer 4 : pour cela, cliquer sur le nom de la variable) modifier dans la liste et changer la valeur initiale.

    Lancer l'ajustement

    Pour démarrer l'ajustement des paramètres structuraux, il faut d'abord choisir le spectre de référence et le sélectionner comme graphe courant : il doit être affiché dans la fenêtre principale. Le spectre à utiliser est le spectre EXAFS obtenu par transformée de Fourier inverse du premier pic de la transformée de Fourier du spectre expérimental (contribution de la première couche de voisins au spectre EXAFS).

    Ensuite, il faut passer en mode « Ajustements » (la barre de menus ci-dessous doit apparaître), puis choisir l'option Ajuster le spectre du menu Couches pour démarrer l'ajustement .

    Fenêtre « Résultats
d'ajustement »

    À l'appel de cette fonction, il apparaît une fenêtre qui présente les résultats au fur et à mesure de l'ajustement.

    Fenêtre « Résultats
d'ajustement »

    Dans cette fenêtre, le spectre de référence est tracé en noir, toujours en entier ; le spectre obtenu théoriquement par ajustement est tracé en rouge. La différence entre les deux (résidu) est tracée en bleu. À chaque itération de l'algorithme de minimisation, ce tracé est mis à jour. La colonne de gauche donne les valeurs numériques obtenues par l'ajustement : erreurs et valeurs des paramètres pour chaque couche. Les boutons fléchés permettent de passer d'une couche à l'autre.

    Dans l'exemple choisi, on obtient en fin de minimisation les valeurs suivantes :
    Distance Facteur de Debye-Waller Décalage du seuil
    R = 1,88 Å s2 = 5,99·10-3 Å2 DE0 = -1,18 eV

    pour une erreur finale pondérée de 4,98·10-2. Cet ajustement est en fait assez mauvais, ce qui peut s'expliquer en particulier par les trois glitches bien visibles dans le spectre brut originel et qui n'ont pas été éliminés.


    Représentation des résultats

    Afin de comparer différents spectres obtenus soit par l'expérience, soit par le calcul théorique à partir de différents modèles, il est possible dans LASE de superposer différents spectres. Cela se fait en appelant l'option Tracer... du menu Affichage, quand LASE est en mode « Extraction ». Cette option ouvre une fenêtre, similaire à la fenêtre principale, dans laquelle sont dessinés tous les spectres marqués comme visibles.

    Pour marquer un spectre comme visible ou invisible, il faut appeler la liste des graphes : tous les spectres cochés sont visibles, et réciproquement ; pour changer l'état visible ou invisible d'un spectre, il suffit de cliquer sur le spectre considéré en maintenant la touche shift enfoncée.


    Présentation du logiciel Sommaire Tutorial, partie 2

    Emmanuel CURIS
    Last modified: Thu Jul 3 12:16:07 CEST 2003