Catégories


Consignes

Angle Θ : Glisser la souris horizontalement.
Angle Φ : Glisser la souris verticalement.




Réseaux direct et réciproque


Définition :
Le réseau réciproque d'un réseau dont les vecteurs de base sont a, b et c est un réseau dont les vecteurs de base sont :
A* = (b ^ c) / V , B* = (c ^ a) / V et C* = (a ^ b) / V. ( V = (a, b, c) étant le volume de la maille ).
En utilisant le produit scalaire, on tire A*. a = B*. b = C*. c = σ2 = 1.
On peut également définir le réseau réciproque par : ai . A*j = δij avec δij = 1 si i = j et δij = 0 si i ≠ j.
Pour des raisons pratiques on prend parfois σ2 ≠ 1.
En diffraction, le réseau réciproque apparaît comme le transformé de Fourier de l'espace réel. Selon la définition du vecteur d'onde ( 1 / λ ou 2π / λ ) on a σ2 = 1 ou σ2 = 2.π

Grandeurs réciproques :
Les angles entre les vecteurs du réseau direct sont α = ∠(b , c), β = ∠(a , c) et γ = ∠(a , b)
A*. B* = (b ^ c).(c ^ a) / V2 = [ (b . c)(a . c) − c.c(a . b)] / V2= [ b.c.cos(α).a.c.cos(β) − a.b.c2.cos(γ)] / V2
Le calcul direct de ce produit scalaire donne :
A*. B* = A*.B*.cos(γ*) = [b.c.sin(α).c.a.sin(β).cos(γ*) ] / V2.

On déduit : cos(γ*) = (cos(α).cos(β) − cos(γ)) / sin(α).sin(β)

Les autres angles se déduisent par une permutation circulaire.
A* ^ B* = (b ^ c) ^ (c ^ a) / V2 = c.(b ,c ,a) / V2 = c.V / V2 (double produit vectoriel)
||A* ^ B*|| = ||(b ^ c)||.|| (c ^ a)||.sin(γ*) / V2 = b.c.sin( α).c.a.sin(β).sin(γ*) / V2.

V = a.b.c.sin( α).sin(β).sin(γ*).
Enfin on tire ||A*|| = 1 / [a.sin(β).sin(γ*)] = 1 / [a.sin(β*).sin(γ)] = b.c.sin(α) / V

Propriétés :
On considère la rangée réciproque N* = h.A* + k.B* + l.C* et le plan Π du réseau direct (h k l) d'équation :
h.x / a + k.y / b + l.z / c = 1 (premier plan de la famille (h k l ) qui ne passe pas par l'origine.
Π coupe les axes directs en A (a / h, 0, 0) B (0, b / k, 0) et C (0, 0, c / l).
Les vecteurs AB et BC appartiennent à Π. On fait le produit scalaire du vecteur AB et du vecteur N.
N*.AB= ( h.A* + k.B* + l.C*).(b / k − a / h ) = 0 de même N *.BC = 0.
La rangée réciproque [h k l]* est normale aux plans directs (h k l).
Soit d la distance entre deux plans de la famille (h k l). C'est la projection du vecteur OA (ou OB ou OC) sur la normale aux plans.
d = OA.N* / ||N*|| = ( a / h ).(h.A* + k.B* + l.C*) / ||N|| = 1 / ||N||. Soit : d.||N|| = 1.

A toute famille (h k l) de plans du réseau direct correspond dans le réseau réciproque la rangée [h k l]* qui lui est orthogonale.

De même à toute famille (u v w)* de plans du réseau réciproque correspond la rangée directe [u v w] qui lui est orthogonale.

Le réseau réciproque du réseau réciproque est le réseau direct.

Pour les mailles simples, la maille réciproque est de même nature que la maille directe.
Par contre on peut montrer en utilisant les mailles simples que la maille réciproque d'une maille F est une maille I et vice-versa.

Utilisation :
Pour les réseaux non tri-orthogonaux, les calculs sont difficiles dans la maille a, b, c. Il est préférable de travailler dans le "repère international" RI qui est un repère tri-orthornormé défini par :
i = a / a, j = a ^ C* / a.C*.sin(a, C*) et k = C* / C* .
Les coordonnées du point D de la rangée directe OD = u.a + v.b + w.c s'expriment dans RI par :
x = u.a + v.b.cos(γ) + w.c.cos(β)
y = v.b.sin(γ) − w.c.sin(β).cos(γ*)
z = w.c.sin(β).sin(α*) .
Dans RI a est confondu avec Ox et b est dans le plan xOy.
Dans ce programme, les axes ont été choisis en suivant cette convention sauf pour les mailles rhomboédriques. Dans ce cas on a respecté l'usage qui consiste à confondre l'axe ternaire avec Oz. Même si on utilise cette représentation, les calculs sont effectués dans la maille triple hexagonale correspondante.

Choisir le type de maille puis modifier les valeurs des paramètres de la maille directe. Les valeurs non modifiables par l'utilisateur sont changées automatiquement selon le mode du réseau. Par exemple, pour un réseau tétragonal si on modifie le paramètre a, le paramètre b prend la même valeur.
Le programme trace les vecteurs de base des réseaux direct et réciproque ainsi que les mailles élémentaires (si les cases sont cochées).
Le programme affiche le volume de la maille directe et les valeurs de paramètres du réseau réciproque.

En cochant la case [Plans], il est possible d'afficher les deux premiers plans de la famille (h k l).
Le programme affiche alors le vecteur réciproque N* = h.A* + k.B* + l.C*, sa norme et la valeur de la distance entre deux plans de cette famille.