Universié Pierre e Marie Curie, Paris VI Licence de physique ENS Cachan PHYTEM PHYSIQUE NUMÉRIQUE TD 10 L équaion de Schrödinger dépendane du emps La résoluion de l équaion de Schrödinger indépendane du emps Hψ = Eψ) donne les éas propres énergie e foncion d onde) d un sysème quanique Touefois, un sysème quanique peu évoluer au cours du emps, e au lieu de s inéresser à ses éas saionnaires, on peu vouloir décrire cee évoluion emporelle Ainsi, l équaion de Schrödinger dépendane du emps s écri : i h ψ = Hψ 1) où, mainenan, la foncion d onde ψ{ r},{s}, ) dépend du emps en plus des aures variables du problème, coordonnées spaiales, spins, ec On se limie ici à un problème unidimensionnel pour une paricule de masse m soumise à un poeniel Vx), donc l équaion 1) devien : i h ψx,) = h2 2 ψx,) 2m x 2 x)ψx,) 2) Son connus le poeniel Vx) e l éa iniial ψx, = 0) e l on cherche à calculer ψx,) pour > 0 I Algorihme 1 Discréisaion de la variable d espace x : on écri que x = lδ x, où l es un nombre enier [1,n] Monrer que l équaion 2) peu se réécrire à l ordre le plus bas en δ x : i h Ψ) où Ψ) es un veceur qui conien oues les valeurs de ψx,) : Ψ) = ψ l ) = H D Ψ) 3), ψ l) = ψlδ x,), l [1,n] e, en posan V l = Vlδ x ), H D es le Hamilonien discréisé : 0 0 0 0 0 0 h2 h 2 2mδ x 2 mδ 2 l 1 h2 0 0 2 H D = 0 0 h2 h 2 2mδx 2 mδ 2 l h2 0 0 2 0 0 h2 h 2 2mδx 2 mδ 2 l+1 h2 0 0 2 0 0 0 0 L équaion 3) es ainsi une équaion maricielle 2 Discréisaion du emps Les méhodes de résoluion d équaions différenielles son nombreuses, mais il se rouve qu ici la méhode die de Crank & Nicolson s avère adapée : 1
on pose : Ψ p = Ψpδ ) un pas d inégraion par la méhode d Euler donnerai : i hψ p+1 = i hψ p +H D Ψ p δ soi : Ψ p+1 = 1 i δ ) h H D Ψ p 4) On le sai, cee méhode es généralemen peu précise, or on pourrai aussi faire la même chose, en uilisan la dérivée calculée, non pas au débu de l inervalle, mais à la fin en +δ méhode d Euler implicie) L équaion 4) devien Euler explicie i hψ p+1 = i hψ p +H D Ψ p+1 δ soi : Euler implicie 1+i δ ) h H D Ψ p+1 = Ψ p où c es la foncion d onde p+1 en +δ ) qui es prise pour la dérivée Comme H D es une marice, il fau mainenan résoudre un sysème linéaire pour obenir Ψ p+1 L idée de la méhode de Crank e Nicolson es faire la moyenne des deux 1 Monrer que cela revien à écrire : 1+i δ ) 2 h H D Ψ p+1 = 1 i δ ) 2 h H D Ψ p 5) où Ψ p es connu, obenu au cours du pas d inégraion précéden, e Ψ p+1 es inconnu 3 Le membre de droie de l équaion 5) es le produi d une marice par un veceur, donc un veceur que l on peu calculer; le membre de gauche es lui aussi le produi d une marice par un veceur, mais ce veceur es inconnu : il fau donc, à chaque pas de calcul, résoudre un sysème linéaire : AX = B 6) Par idenificaion avec l équaion 5), dire quels ypes d objes mahémaiques son A, B e X Donner les expressions de A e B II Mise en œuvre 1 On défini un inervalle de ravail [ a 2, a 2 ], divisé en n segmens égaux de longueur δ x; on prendra a = 5 e n = 200 Dans un premier emps, on considèrera un poeniel V harmonique : Vx) = 1 2 mω2 x 2 1 un peu comme quand on prend, pour les inégraions numériques, la méhode des rapèzes comme moyenne des méhodes des recangles à droie e à gauche 2
avec : m = 1, ω = 10 Écrire une subrouine def_pox,v,n) qui remplisse deux ableaux real, dimensionn) :: x, v, le premier conenan les valeurs de x l, le second celles de v l Appeler ce sous-programme par un programme principal qui fasse écrire ces valeurs dans un fichier appelé 2 dspo Tracer e imprimer la courbe correspondane à l aide de gnuplo 2 La condiion iniiale es donnée par une gaussienne légèremen excenrée par rappor à l origine: ψx, = 0) = 1 σ x x 0 ) 2 2π e 2σ 2 où π = arccos 1), x 0 = 025 e σ = 02 Comme précédemmen, écrire une subrouine def_psix,psi,n) qui uilise le ableau x pour remplir le ableau complex, dimensionn) :: psi Dans le programme principal, on fera écrire les valeurs de x e de Px) = ψ x)ψx) dans le fichier dspsi : racer e imprimer la courbe de Px) résulane 3 Dans le programme principal normaliser numériquemen la foncion d onde iniiale de façon que : Px) dx = ψ x, = 0)ψx, = 0) dx = 1 Imprimer le programme obenu 4 Dans le programme principal, il fau une boucle sur le emps qui à chaque pas définisse le sysème linéaire à résoudre à parir de l équaion 5), e calcule Ψ p+1 ou ψx,+δ )) à parir de la donnée de Ψ p ou ψx,)) La marice A de l équaion 6) es complexe e ridiagonale, on peu uiliser, pour résoudre le sysème linéaire, le sous-programme de la bibliohèque lapack : subrouine cgsvn,m,c,d,e,b,n,info) avec : argumens de ype foncion des argumens cgsv des argumens en enrée en sorie n ineger nombre de poins de discréisaion inchangé m ineger nombre de colonnes de B ici : m = 1) inchangé c complex, dimensionn) élémens sous-diagonaux de A sans obje d complex, dimensionn) élémens diagonaux de A sans obje e complex, dimensionn) élémens sur-diagonaux de A sans obje b complex, dimensionn) élémens de B élémens de X info ineger sans obje nul si succès Tous les élémens nuls de la marice A son ignorés Inroduire dans le programme principal une boucle sur le emps on prendra δ = 0001) qui : remplisse les ableaux c, d, e e b On pourra uiliser les consanes suivanes zi e id doiven êre complexes) :! consanes uiles hbar = 1! sysème d uniés m = 1! masse zi =00,10)! sqr-10) hm = hbar*hbar/m*dela_x*dela_x) id = zi*dela_/2*hbar) appelle le sous-programme cgsv calcule e écrive dans un fichier dsou la valeur de Px,) dx = ψ x,)ψx,) dx afin de vérifier que la normalisaion rese conservée 2 pour Time Dependen Schrödinger 3
Pour la compilaion, invoquer la bibliohèque lapack avec l opion : -llapack Imprimer ce nouveau programme, racer e imprimer la courbe de la normalisaion en foncion du emps, pour 1000 pas de emps 5 Ajouer un calcul de l énergie : E) = ψ x,)h ψx,)dx e vérifier qu elle rese aussi consane racer e imprimer la courbe) III Évoluion emporelle 1 Trajecoire de la paricule On peu définir la posiion de la paricule par le barycenre de sa densié de probabilié de présence : x = ψ x,)xψx,)dx Faire écrire cee quanié dans un fichier dsraj Tracer, imprimer e commener 3 On prendra 5000 pas de emps 2 Ajouer au programme principal un calcul à chaque pas de emps de la densié de probabilié de présence de la paricule : Px,) = ψ x,)ψx,) e faire écrire cee quanié dans un fichier dspsi Ce fichier doi avoir 3 colonnes conenan le emps pour la première, la posiion x pour la seconde e Px,) pour la roisième Tracer avec la commande splo de gnuplo 4 3 Modifier le poeniel pour qu il ai la forme d un double puis : Vx) = V ) x 2 2 1) x 1 Prendre x 1 = 1 e V = 10 Garder la gaussienne de dépar en modifian le décalage : x 0 = 1 au lieu de 025 On fera 50000 pas d inégraion, mais on n écrira Px,) que ous les cinq pas Vérifier que la normalisaion e l énergie resen sables Tracer x en foncion du emps, puis Px, ) Commener 4 Faire quelques essais pour V croissan, par exemple : 1, 5, 10, 20 Commener les courbes obenues IV Une animaion pour le plaisir) Il s agi ici de faire une animaion fin d observer l évoluion au cours du emps de la foncion d onde Ψx,) ou de la densié de probabilié de présence Pour cela, il y a plusieurs méhodes possibles; le plus simple es sans doue de créer un fichier de commandes pour gnuplo, appelé par exemple ds_1d_animpl :! ds_1d_anim # lancer le programme ds_1d_anim p [][0:2] ds_animpsi u 1:$2**2+$3**2) # racer psi**2x) pause mouse key # mainenir la ouche <RETURN> enfoncee pour poursuivre if MOUSE_KEY!= 9 ) reread # sorir si <TAB> 3 Le héorême d Ehrenfes di en subsance que le barycenre de la densié de probabilié de présence sui une rajecoire classique 4 On pourra aussi uiliser la commande se pm3d map pour obenir des niveaux de couleur 4
La commande gnuplo ds_1d_animpl lancera donc gnuplo dans une boucle à cause de la commande reread) dans laquelle il appellera le programme ds_1d_anim puis racera la somme des carrés des deuxième e roisième colonnes du fichier ds_animpsi en foncion de la première Tan que l on mainiendra la ouche reurn enfoncée cee opéraon se répéera; si on la lâche, cela s inerrompera mais redémarrera dès qu on l enfonce à nouveau Pour sorir, aper ab Rese à créer le programme ds_1d_animf90 : il suffi de modifier assez légèremen le programme de simulaion iniial Là encore, il y a plusieurs façons de procéder L idée es de limier le nombre de pas d inégraion emporelle à par exemple une vingaine, mais l éa iniial sera lu dans le fichier ds_animpsi e l éa final écri dans le même fichier Ainsi, à chaque our de la boucle de gnuplo, on racera une version acualisée de la foncion d onde Touefois, si le fichier n exise pas uiliser la commande inquirefile= ds_animpsi,exis=ok) où ok es une variable logique qui prend la valeur TRUE si le fichier exise e FALSE sinon) au premier pas de calcul, il fau créer une foncion d onde comme précédemmen Ensuie faire quelques essais pour ajuser les paramères de façon à ce que l animaion se déroule à une viesse agréable 5