Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
PHYSIQUE NUMÉRIQUE
TD 10
L’équation de Schrödinger dépendante du temps
La résolution de l’équation de Schrödinger indépendante du temps (Hψ = Eψ) donne les états
propres (énergie et fonction d’onde) d’un système quantique. Toutefois, un système quantique peut
évoluer au cours du temps, et au lieu de s’intéresser à ses états stationnaires, on peut vouloir décrire
cette évolution temporelle. Ainsi, l’équation de Schrödinger dépendante du temps s’écrit :
∂ψ
ih̄ = Hψ (1)
∂t
où, maintenant, la fonction d’onde ψ({~r}, {s}, t) dépend du temps en plus des autres variables du
problème, coordonnées spatiales, spins, etc.
On se limite ici à un problème unidimensionnel pour une particule de masse m soumise à un
potentiel V (x), donc l’équation (1) devient :
I— Algorithme.
1– Discrétisation de la variable d’espace x : on écrit que x = ℓ δx , où ℓ est un nombre entier ∈ [1, n].
Montrer que l’équation (2) peut se réécrire à l’ordre le plus bas en δx :
∂Ψ(t)
ih̄ = HD Ψ(t) (3)
∂t
où Ψ(t) est un vecteur qui contient toutes les valeurs de ψ(x, t) :
..
.
Ψ(t) = ψ ℓ (t) , ψℓ (t) = ψ(ℓ δx , t), ℓ ∈ [1, n]
..
.
1
• on pose : Ψp = Ψ(p δt )
• un pas d’intégration par la méthode d’Euler donnerait :
δt
ih̄Ψp+1 = ih̄Ψp + HD Ψp δt soit : Ψp+1 = 1 − i HD Ψ p (4)
h̄
• On le sait, cette méthode est généralement peu précise, or on pourrait aussi faire la même chose,
en utilisant la dérivée calculée, non pas au début de l’intervalle, mais à la fin en t + δt (méthode
d’Euler implicite).
δt
ih̄Ψp+1 = ih̄Ψp + HD Ψp+1 δt soit : 1 + i HD Ψp+1 = Ψp
h̄
où c’est la fonction d’onde p + 1 (en t + δt ) qui est prise pour la dérivée.
Comme HD est une matrice, il faut maintenant résoudre un système linéaire pour obtenir Ψp+1 .
• L’idée de la méthode de Crank et Nicolson est faire la moyenne des deux 1 .
Montrer que cela revient à écrire :
δt δt
1 + i HD Ψp+1 = 1 − i HD Ψp (5)
2h̄ 2h̄
où Ψp est connu, obtenu au cours du pas d’intégration précédent, et Ψp+1 est inconnu.
3– Le membre de droite de l’équation (5) est le produit d’une matrice par un vecteur, donc un
vecteur que l’on peut calculer ; le membre de gauche est lui aussi le produit d’une matrice par un
vecteur, mais ce vecteur est inconnu : il faut donc, à chaque pas de calcul, résoudre un système
linéaire :
AX = B (6)
Par identification avec l’équation (5), dire quels types d’objets mathématiques sont A, B et X. Donner
les expressions de A et B.
2
avec : m = 1, ω = 10.
Écrire une subroutine def_pot(x,v,n) qui remplisse deux tableaux real, dimension(n) :: x, v,
le premier contenant les valeurs de xℓ , le second celles de vℓ .
Appeler ce sous-programme par un programme principal qui fasse écrire ces valeurs dans un fichier
appelé 2 tds.pot. Tracer et imprimer la courbe correspondante à l’aide de gnuplot.
2– La condition initiale est donnée par une gaussienne légèrement excentrée par rapport à l’origine :
1. (x−x0 )2
ψ(x, t = 0) = √ e− 2σ2
σ 2π
où π = arccos(−1), x0 = 0.25 et σ = 0.2.
Comme précédemment, écrire une subroutine def_psi(x,psi,n) qui utilise le tableau x pour remplir
le tableau complex, dimension(n) :: psi.
Dans le programme principal, on fera écrire les valeurs de x et de P (x) = ψ ∗ (x)ψ(x) dans le fichier
tds.psi : tracer et imprimer la courbe de P (x) résultante.
3– Dans le programme principal normaliser numériquement la fonction d’onde initiale de façon
que : Z Z
P (x) dx = ψ ∗ (x, t = 0)ψ(x, t = 0) dx = 1.
3
Pour la compilation, invoquer la bibliothèque lapack avec l’option : -llapack
Imprimer ce nouveau programme, tracer et imprimer la courbe de la normalisation en fonction du
temps, pour 1000 pas de temps.
5– Ajouter un calcul de l’énergie :
Z
E(t) = ψ ∗ (x, t) H ψ(x, t) dx
Faire écrire cette quantité dans un fichier tds.traj. Tracer, imprimer et commenter 3 . On prendra
5000 pas de temps.
2– Ajouter au programme principal un calcul à chaque pas de temps de la densité de probabilité
de présence de la particule :
P (x, t) = ψ ∗ (x, t)ψ(x, t)
et faire écrire cette quantité dans un fichier tds.psi. Ce fichier doit avoir 3 colonnes contenant le
temps pour la première, la position x pour la seconde et P (x, t) pour la troisième. Tracer avec la
commande splot de gnuplot 4 .
3– Modifier le potentiel pour qu’il ait la forme d’un double puits :
2 !2
x
V (x) = ∆V −1
x1
Prendre x1 = 1 et ∆V = 10.
Garder la gaussienne de départ en modifiant le décalage : x0 = 1. au lieu de 0.25. On fera 50000
pas d’intégration, mais on n’écrira P (x, t) que tous les cinq pas.
Vérifier que la normalisation et l’énergie restent stables. Tracer hxi en fonction du temps, puis
P (x, t). Commenter.
4– Faire quelques essais pour ∆V croissant, par exemple : 1, 5, 10, 20. Commenter les courbes
obtenues.
4
La commande gnuplot tds_1D_anim.plt lancera donc gnuplot dans une boucle (à cause de la com-
mande reread) dans laquelle il appellera le programme tds_1D_anim puis tracera la somme des carrés
des deuxième et troisième colonnes du fichier tds_anim.psi en fonction de la première. Tant que l’on
maintiendra la touche return enfoncée cette opératon se répétera ; si on la lâche, cela s’interrompera
mais redémarrera dès qu’on l’enfonce à nouveau. Pour sortir, taper tab.
Reste à créer le programme tds_1D_anim.f90 : il suffit de modifier assez légèrement le programme
de simulation initial. Là encore, il y a plusieurs façons de procéder. L’idée est de limiter le nombre
de pas d’intégration temporelle à par exemple une vingtaine, mais l’état initial sera lu dans le fichier
tds_anim.psi et l’état final écrit dans le même fichier. Ainsi, à chaque tour de la boucle de gnuplot,
on tracera une version actualisée de la fonction d’onde. Toutefois, si le fichier n’existe pas (utiliser la
commande inquire(file=’tds_anim.psi’,exist=ok) où ok est une variable logique qui prend la
valeur .TRUE. si le fichier existe et .FALSE. sinon) au premier pas de calcul, il faut créer une fonction
d’onde comme précédemment.
Ensuite faire quelques essais pour ajuster les paramètres de façon à ce que l’animation se déroule
à une vitesse agréable. . .