title: Méthode de Rietveld
text: # Méthode de Rietveld
  
  La méthode de Rietveld est une méthode d'analyse en diffractométrie de rayons X et de neutrons sur poudre. Elle fut développée en 1969 par le cristallographe néerlandais Hugo Rietveld.
  
  Cette méthode consiste à simuler un diffractogramme à partir d'un modèle cristallographique de l'échantillon, puis d'ajuster les paramètres de ce modèle afin que le diffractogramme simulé soit le plus proche possible du diffractogramme mesuré. Selon les propriétés auxquelles on s'intéresse et le nombre de paramètres à affiner, le logiciel peut être plus ou moins complexe.
  
  ## Description de la méthode
  
  ### Position et surface des pics
  
  La base de la méthode est la théorie de la diffraction sur un cristal. Si l'on connaît :
  
  * la structure du cristal ;
  * la nature et la position des atomes au sein de la maille ;
  * les facteurs de diffusion atomique (coefficient de diffusion de Rayleigh des rayons X sur les atomes) ;
  * les coefficients d'absorption ;
  
  alors on est capable de déterminer la position des pics de diffraction, ainsi que leur surface à un facteur près (ce facteur dépendant de la puissance de la source de rayonnement, du rendement du détecteur, etc.).
  
  Il faut aussi éventuellement prendre en compte l'orientation préférentielle (texture) de l'échantillon.
  
  ### Forme des pics
  
  Pour simuler la forme de chaque pic, on peut recourir à une fonction mathématique a priori, sans signification particulière, par exemple une fonction gaussienne, lorentzienne, ou mieux une pseudo fonction de Voigt ou une fonction de Pearson VII, et affiner sa largeur à mi-hauteur H (FWHM, Full Width at Half Maximum en anglais). On a donc autant de largeurs à affiner que de pics.
  
  Cependant, on sait que la largeur est une fonction dépendante de la position 2θ du pic, on peut donc lier les largeurs des pics appartenant à une même phase par cette fonction et affiner les paramètres de la fonction. La fonction typique pour la diffractométrie X est $\mathrm {H} (2\theta )=\mathrm {H} _{0}+{\frac {\mathrm {H} _{1}}{\cos \theta }}+\mathrm {H} _{2}\cdot \tan \theta$, pour la diffraction de neutrons, on utilise en général la loi de Cagliotti (1958) : $\mathrm {H} (2\theta )={\sqrt {\mathrm {U} \cdot \tan ^{2}\theta +\mathrm {V} \cdot \tan \theta +\mathrm {W} }}$.
  
  On n'a donc que trois paramètres de largeur à affiner par phase, quel que soit le nombre de pics.
  
  On peut aussi déterminer la forme des pics à partir des lois de l'optique géométrique appliquée à la configuration du diffractomètre.
  
  ### Algorithme
  
  L'algorithme d'ajustement de paramètres du modèle ou régression, appelé fitting en anglais, utilisé est un algorithme visant à minimiser l'écart quadratique entre la courbe simulée et la courbe expérimentale ; on parle d'algorithme de minimisation de l'erreur par la méthode des moindres carrés.
  
  On utilise en général le facteur de fiabilité pondérée (weighted reliability factor) $R_{wp}$ : $\mathrm {R_{wp}} ={\sqrt {\frac {\sum _{i}w_{i}\cdot (\mathrm {I} _{i}^{\mathrm {exp} }-\mathrm {I} _{i}^{\mathrm {cal} })^{2}}{\sum _{i}w_{i}\cdot {\mathrm {I} _{i}^{\mathrm {exp} }}^{2}}}}$ où $w_i$ est le poids attribué au point i, qui vaut $1/I_i^{exp}.$
  
  Si la simulation était parfaite, le facteur de fiabilité aurait une valeur dépendant du rapport signal sur bruit. Si la source de rayonnement est un générateur de rayons X, on sait que le bruit suit une loi de Poisson : son écart type est égal à la racine carrée du nombre de coups cumulé à chaque point. On peut ainsi définir un facteur de fiabilité minimal $R_0.$ La fonction $R_{wp}/R_0$ doit normalement tendre vers 1.
  
  ## Applications
  
  ### Quantification sans étalon
  
  Avec cette méthode, on peut simuler un mélange de plusieurs phases. La proportion de chaque phase étant un des paramètres à affiner, la méthode de Rietveld permet donc de faire de la quantification.
  
  Cette méthode est dite « sans étalon » car, contrairement aux méthodes quantitatives classiques, il est inutile d'étalonner l'appareil en passant des échantillons de composition connue.
  
  Cette méthode est particulièrement intéressante lorsque les phases ont des pics proches avec de nombreuses superpositions. Par contre, contrairement à une méthode quantitative classique (basée sur la surface ou la hauteur de quelques pics par phase), la méthode de Rietveld impose une mesure sur une grande plage angulaire (typiquement de 20 à 90 °) et avec un bon rapport signal sur bruit, donc un temps d'acquisition relativement long (plusieurs dizaines de minutes à plusieurs heures selon le rapport signal sur bruit).
  
  ### Détermination et affinement de structure
  
  On peut utiliser la méthode de Rietveld pour déterminer la structure d'un cristal ; c'est une méthode alternative aux clichés de Laue sur des monocristaux.
  
  La première étape consiste à déterminer la symétrie du cristal à partir de la position des pics : le réseau de Bravais puis le groupe d'espace. Il existe des programmes spécifiques qui procèdent en général par essai-erreur : le programme passe en revue les différents groupes d'espace possibles et détermine le groupe d'espace qui correspond le mieux. On détermine également les paramètres de maille. Cette étape est appelée indexation, chaque pic du diffractogramme étant alors associé à un plan cristallographique d'indices de Miller (hkl).
  
  La méthode de Rietveld est ensuite utilisée pour déterminer la position de chaque atome au sein de la maille. Pour aider le programme à converger, on peut indiquer des contraintes :
  
  * forcer la position de certains atomes, avec une tolérance ;
  * forcer des atomes à rester groupés comme des sortes de molécules, on parle de « corps rigides » (rigid body).
  
  Dans la méthode dite du recuit simulé (simulated annealing), on place les atomes au hasard puis on laisse l'algorithme converger ; on refait cette opération plusieurs fois et l'on choisit la solution donnant le plus faible facteur de fiabilité.
  
  ### Autres applications
  
  On peut se servir de la méthode de Rietveld pour déterminer n'importe quel paramètre affiné.
  
  