L'équation de Schrödinger

Introduction

Cette équation a fait rêver ou cauchemarder des générations d'étudiants qui abordaient la physique quantique. Sa forme est assez simple mais ses implications sont fondamentales et pour tout dire très exotiques. Et sa compréhension intime est indispensable à celle du cours de physique quantique..
Dans cette page, je vais essayer de présenter de façon simple et sans aucun doute incomplète et un peu caricaturale l'équation de Schrödinger, son histoire, sa signification physique et bien sur, pour rester numéricien, quelques méthodes simplistes de simulation. J'aborderai les formes stationnaires et "time dependant" de cette équation.
Un point important: je me situerai toujours dans des conditions non relativistes. Car, on ne le dira jamais assez, l'équation de Schrödinger n'est pas relativiste. Pour tenir compte de la relativité, il faut passer à Dirac, et c'est là une autre histoire....
Autre point qui a son importance: il me semble indispensable de maîtriser le cours de physique ondulatoire (ou de mécanique des ondes) pour aborder l'étude de l'équation de Schrödinger. En effet, son établissement fait appel à des notions de base des ondes (solution de propagation, paquet d'ondes). Je ne rappelerai pas ici ces notions, que je suppose acquises.

Présentation

Avant d'aller plus loin, il me semble naturel et indispensable de présenter cette équation. Personnellement, je trouve sa forme belle!
Tout d'abord, voici l’équation de Schrödinger sous sa forme "time dependante", pour une particule libre, dans un état quelconque d’énergie (cas le plus simple):

\begin{align} i \hbar \dfrac{\partial}{\partial t}\Psi(\vec{r},t) = -\dfrac{\hbar ^2}{2m}\Delta\Psi(\vec{r},t) \end{align}

Lorsque la particule est immergée dans un potentiel scalaire U (par exemple dans un champ électrique), l’équation de Schrödinger devient:

\begin{align} i \hbar \dfrac{\partial}{\partial t}\Psi(\vec{r},t) = (-\dfrac{\hbar ^2}{2m}\Delta + U(\vec{r}))\Psi(\vec{r},t) \end{align}

La voici sous sa forme stationnaire, indépendante du temps, dite encore la forme «des états stationnaires», la forme la plus dépouillée :

\begin{align} H\Psi(\vec{r}) = E\Psi(\vec{r}) \end{align}

On verra dans la suite comment aboutir à ces équations et surtout ce qu’elles signifient! Notons qu'il existe des formes d'écriture plus ramassées, faisant appel à la notion d'hamiltonien, que j'aborderai plus loin.

Son histoire

Disons d'abord quelques mots d'Erwin Schrödinger. C'est un viennois, né en août 1887. Après ses études à Vienne, il devient titulaire de la chaire de physique théorique de Zürich (chaire qui fut précédemment occupée par von Laue et Einstein...) en 1920. Il réalisa ses travaux de synthèse de la mécanique ondulatoire de Broglie entre 1925 et 1926 et sortit son article fondateur "Quantification et valeurs propres" dans les célèbres "Annalen der Physik" - vol 79 - fin 1926.
A travers cet article, il réalise la synthèse entre l'approche de la dynamique des particules de Hamilton, introduite en physique quantique par Heisenberg et Dirac, et l'approche ondulatoire du même Hamilton, approche que défendait Schrödinger.
Schrödinger s'est aperçu qu'il était possible de passer du formalisme particulaire au formalisme ondulatoire en remplaçant les coordonnées p et q hamiltoniennes du premier formalisme par des opérateurs différentiels. Ce qui aboutit à sa célèbre équation.
Schrödinger quitta Zürich pour Berlin en 1927, où il succéda à Max Planck à la chaire de physique théorique.
Schrödinger est lauréat du Prix Nobel de 1933, avec P.A.M Dirac. Il est mort en 1961 à Vienne.

Comment construire l'équation de Schrödinger - La démarche générale

Examinons la démarche générale de Schrödinger pour aborder le problème du mouvement de l'électron autour du noyau d'hydrogène, en 1925. Il y avait à l'époque au moins 4 modèles en concurrence, qui devaient tous rendre compte des données expérimentales, en particulier la loi de Balmer-Rydberg. Ces modèles sont:

Dans ces mécaniques, la position de l'électron dépendait de 2 paramètres (introduits par Sommerfeld) et donc comportait 2 nombres quantiques. Schrödinger pense au problème comme à un problème général de dynamique et postule que le mouvement est défini par 3 paramètres, ceux de la dynamique classique sphérique, soit r, φ et θ.
Et c'est à ce moment qu'il a eu l'idée de génie de considérer ce mouvement comme un mouvement ondulatoire, défini par l'équation des cordes vibrantes. Il utilise le formalisme hamiltonien pour décrire le dynamique du mouvement et aboutit ainsi à son équation.
Pour rester dans les généralités, il faut souligner un point qui me semble essentiel. Schrödinger n'a jamais voulu donner une signification physique à son équation! Il a toujours considéré que c'était un outil mathématique pratique pour retrouver les coefficients numériques des séries de Balmer. En fait, cette équation signifie pour lui, que dans un atome, tout électron peut avoir un certain nombre d'états énergétiques En et qu'à chacune de ces énergies, correspond une position définie par ψ, la fonction d'onde de paramètre r, φ et θ. Et donc, son équation permet de calculer les valeurs de ψn qui sont associées à 3 nombres quantiques. C'est tout.... Bien sur, d'autres se sont chargés de changer cette approche!
Voyons maintenant tout ça en un peu plus de détails.

Les paquets d'ondes

Pour aborder l’équation de Schrödinger, il faut d’abord revenir sur quelques notions de mécanique ondulatoire, en particulier les paquets d’ondes.

La propagation d’une onde monochromatique est conforme à l’équation bien connue suivante:

\begin{align} \Delta \Psi = \dfrac{1}{c^2}\dfrac{\partial^2}{\partial t^2}\Psi \end{align}

Cette équation admet pour solution la fonction générale:

\begin{align} \Psi(\vec{r},t) = \Psi_0 \exp(-i(\omega t - \vec{k}.\vec{r})) \end{align}

\( (\omega t - \vec{k}.\vec{r}) \) représente la phase de l’onde en un point M quelconque à l’instant t. Le produit scalaire \( \vec{k}.\vec{r} \) est le déphasage entre l’origine et M, à l’instant t.
Cette équation et sa solution sont connues depuis le cours de mécanique ondulatoire.
Mais il y a comme un petit problème… On sait qu’une onde physique transporte une certaine quantité d’énergie qui ne peut pas être infinie. Sa densité moyenne est proportionnelle à |ψ|2.
Or si je considère la fonction indiquée ci-dessus et que je calcule l’énergie transportée entre –μ et +μ, j’obtiens une quantité infinie!
Il faut donc trouver une autre forme de solution qui me garantisse de ne pas diverger à l’infini. C’est ainsi que l’on introduit la notion de paquet d’ondes, en remarquant qu’une émission lumineuse (par exemple l’émission d’un photon par un atome) est toujours brève.
On définit donc une fonction f(ω),l’amplitude de l’onde, que l’on superpose à la solution, ce qui nous donne l’expression d’un paquet d’ondes:

\begin{align} \Psi(\vec{r},t) = \int_\Omega f(\omega)\exp(-i(\omega t - \vec{k}.\vec{r}))d\omega \end{align}

Notons que la fonction f(ω) est le spectre de pulsations de l’onde (je ne rentre pas dans les détails, car je n’en ai pas besoin maintenant).

L'équation de Schrödinger dépendante du temps

Voyons maintenant comment établir l’équation de Schrödinger dépendante du temps.
L’hypothèse physique est que l’onde associée à une particule (en l’occurrence un électron) ne s’étend pas dans tout l’espace mais est localisée dans un domaine fermé. Nous pouvons donc utiliser le formalisme du paquet d’ondes et partir de la définition donnée ci-dessus.

\begin{align} \Psi(\vec{r},t) = \int_\Omega f(\omega)\exp(-i(\omega t - \vec{k}.\vec{r}))d\omega \end{align}

Dans cette équation:

Je vais utiliser la formule de Broglie \( \vec{p} \) = ℏ*\( \vec{k} \) et la formule de Planck E = ℏ*ω pour écrire différemment la définition d’un paquet d’ondes:

\begin{align} \Psi(\vec{r},t) = \int_\Omega f(\omega)\exp(-\dfrac{i}{ℏ}(Et - \vec{p}.\vec{r}))d\omega \end{align}

Calculons la dérivée première de \( \Psi(\vec{r},t) \) par rapport à t, en dérivant sous l’intégrale, nous obtenons:

\begin{align} \dfrac{\partial}{\partial t}\Psi(\vec{r},t) = -\dfrac{iE}{ℏ}\int_\Omega f(\omega)\exp(-\dfrac{i}{ℏ}(Et - \vec{p}.\vec{r}))d\omega \end{align}

Pour la suite, je multiplie les deux membres de cette équation par iℏ. La dérivée seconde par rapport à x (en rappelant que p.r = pxx + pyy + pzz) donne:

\begin{align} \dfrac{\partial^2}{\partial x^2}\Psi(\vec{r},t) = -\dfrac{p^2_x}{ℏ^2}\int_\Omega f(\omega)\exp(-\dfrac{i}{ℏ}(Et - \vec{p}.\vec{r}))d\omega \end{align}

Je procède de la même façon pour les dérivées partielles par rapport à y et à z. Je somme les dérivées partielles en x, y et z et j'obtiens donc le laplacien de \( \Psi(\vec{r},t) \), puis je divise les deux membres par 2m, avec m la masse de la particule (supposée non nulle).
Puis je somme les dérivées partielles (la dérivée première par rapport au temps et le laplacien) ainsi obtenue. J’obtiens l’équation:

\begin{align} iℏ \dfrac{\partial}{\partial t}\Psi(\vec{r},t) + \dfrac{ℏ^2}{2m} \Delta \Psi(\vec{r},t) = (E -\dfrac{p^2}{2m})\int_\Omega f(\omega)\exp(-\dfrac{i}{ℏ}(Et - \vec{p}.\vec{r}))d\omega \end{align}

Notre particule est libre, son énergie E est donc égale à p²/2m. Il en ressort que l’intégrale sur le domaine Ω est nulle et donc:

\begin{align} -\dfrac{ℏ^2}{2m} \Delta \Psi(\vec{r},t) = iℏ \dfrac{\partial}{\partial t}\Psi(\vec{r},t) \end{align}

Je retrouve l’équation de Schrödinger dépendant du temps d’une particule libre!

Les opérateurs différentiels en physique quantique

Il n'est peut être pas inutile de rappeler ce qu'est un opérateur différentiel... Ce sont des objets mathématiques qui permettent de faire des "opérations" sur des champs vectoriels ou scalaires, et qui permettent de formuler des lois physiques sous forme locale (d'où le qualificatif de "différentiel"). Ils utilisent tous la notion de dérivée partielle. Vous connaissez sans doute le gradient, la divergence et le rotationnel. On ajoute pour notre usage le laplacien scalaire et vectoriel et le vecteur nabla (introduit par Hamilton).
Vous avez sans doute noté l'usage massif des opérateurs différentiels dans l'établissement de l'équation de Schrödinger. En fait, c'est une caractéristique de la physique quantique. A chaque grandeur de la mécanique classique, on fait correspondre un opérateur différentiel.
Il est utile de connaitre par coeur le tableau suivant:


Energie

Impulsion

Grandeur classique

E

px

py

pz

Opérateur

iħ∂/∂t

iħ∂/∂x

iħ∂/∂y

iħ∂/∂z

Plus fort encore… On peut retrouver l’équation de Schrödinger uniquement en manipulant les opérateurs différentiels que l’on appliquera à la fonction \( \Psi(\vec{r},t) \). Il suffit de se rappeler que pour une particule libre, son hamiltonien est égale à E:

\begin{align} H = \dfrac{\vec{p}^2}{2m} = E \end{align}

On définit l’opérateur hamiltonien de la particule libre à partir de son hamiltonien classique. Remarquons tout d’abord que:

\begin{align} \vec{p}^2 \mbox{ -> } -ℏ^2 \Delta \end{align}

En substituant cette expression de p² dans la définition de l’hamiltonien classique, j’obtiens l’opérateur hamiltonien libre:

\begin{align} H = -\dfrac{ℏ^2}{2m} \Delta \end{align}

En appliquant les deux opérateurs différentiels hamiltonien et énergie sur la fonction \( \Psi(\vec{r},t) \), je retrouve:

\begin{align} H\Psi(\vec{r},t) = E\Psi(\vec{r},t) \end{align}

Ou encore:

\begin{align} -\dfrac{ℏ^2}{2m} \Delta \Psi(\vec{r},t) = iℏ \dfrac{\partial}{\partial t}\Psi(\vec{r},t) \end{align}

On notera la puissance simplificatrice de l'usage des opérateurs en physique quantique!

Point important : Les règles de correspondance énoncées dans le tableau ci-dessus ne sont valables que pour des coordonnées cartésiennes. Elles seules assurent l'invariance de l'équation de Schrödinger en cas de rotation du référentiel.

Cas d'une particule immergée dans un potentiel scalaire

Pour traiter ce cas particulier, on remarquera que la forme classique de l’énergie d’une particule immergée dans un potentiel scalaire U(r) est;

\begin{align} E = \dfrac{\vec{p}^2}{2m} + U(\vec{r}) \end{align}

Appliquons à cette équation les règles de correspondance énoncées ci-dessus. On obtient immédiatement:

\begin{align} iℏ\dfrac{\partial}{\partial t}\Psi(\vec{r},t) = (-\dfrac{ℏ^2}{2m}\Delta + U(\vec{r}))\Psi(\vec{r},t) \end{align}

L’opérateur hamiltonien du système devient:

\begin{align} H = -\dfrac{ℏ^2}{2m}\Delta + U \end{align}

En utilisant cet opérateur, on peut simplifier l’écriture de l’équation de Schrödinger pour obtenir:

\begin{align} iℏ\dfrac{\partial}{\partial t}\Psi(\vec{r},t) = H\Psi(\vec{r},t) \end{align}

Ou encore:

\begin{align} H\Psi(\vec{r},t) = E\Psi(\vec{r},t) \end{align}

Forme bien connue et très ramassée de l’équation. N'oubliez quand même pas que l’opérateur hamiltonien n’est pas le même que dans le cas d’une particule libre….

L'équation de Schrödinger stationnaire

Pour une particule évoluant dans un potentiel constant ou nul, il existe des états d’énergie dits «stationnaires». Dans ces états, la densité de probabilité de présence \( ||\Psi ||^2 \) est indépendante du temps.
Dans ce cas, la fonction d'onde \( \Psi(\vec{r},t) \) répond à la contrainte ||ψ(r,t)||2 = ||ψ(r)||2. La forme des solutions de cette équation sont ψn(r,t) = ψ(r)eiαt où ψn(r,t) décrit l'état stationnaire d'énergie En. Si l'on reporte cette écriture dans l'équation de Schrödinger, on obtient:

\begin{align} iℏ\dfrac{\partial}{\partial t}\Psi_n(\vec{r},t) = -ℏ\alpha \Psi_n(\vec{r},t) = H\Psi_n(\vec{r},t) \end{align}

Comme on sait que Hψn = Enψn, on obtient la valeur de α:

\begin{align} \alpha = -\dfrac{E_n}{ℏ} \end{align}

D’où finalement l’équation:

\begin{align} \Psi_n(\vec{r},t) = \Psi_n(\vec{r})\exp(-\dfrac{iE_nt}{ℏ}) \end{align}

Que l’on écrit sous la forme condensée:

\begin{align} H_n\Psi(\vec{r}) = E_n\Psi_n(\vec{r}) \end{align}

Que signifie physiquement l'équation de Schrödinger

Premières remarques sur l'équation avec potentiel scalaire non nul

Reprenons l’équation d’une particule sous l’influence d’un potentiel scalaire non nul:

\begin{align} iℏ\dfrac{\partial}{\partial t}\Psi(\vec{r},t) = (-\dfrac{ℏ^2}{2m}\Delta + U(\vec{r}))\Psi(\vec{r},t) \end{align}

Remarquons que l’équation est de premier ordre en temps (la dérivée du membre de gauche) et du second ordre pour l’espace (le laplacien de droite). Cette équation peut être vue comme une équation de diffusion, irréversible, dont les modes propres sont décrits par des exponentielles complexes pures.
Et réécrivons là, en se rappelant de l’équivalence de l’opérateur E:

\begin{align} \Delta \Psi(\vec{r},t) + \dfrac{2m}{ℏ^2}(E - U(\vec{r}))\Psi(\vec{r},t) = 0 \end{align}

La forme des solutions dépend du signe de l’expression (E – U(r)), E étant une énergie donnée.

En mécanique classique, cette expression représente l’énergie cinétique de la particule (p²/2m), qui est bien sur toujours positive. La région de l’espace où (E – U(r)) est négative est une région interdite, inaccessible.

En mécanique quantique, la situation est différente. Il est possible d’accéder à cette région interdite. On trouve là les prémisses de l’explication de l’effet tunnel, par exemple.

L'interprétation de la fonction d'onde

Rappelons tout d'abord que l'équation de Schrödinger est un postulat. Elle ne découle d'aucune démonstration formelle ni d'aucun axiome. Schrödinger a postulé cette équation pour représenter les états d'un système quantique. Elle a été confrontée à l'expérience et celle-ci a montré que, jusqu'à présent, on pouvait déduire toutes les données expérimentales de l'équation.

Les physiciens font aussi un autre postulat : la fonction d'onde d'un système, que l'on note génériquement Ψ, contient toute l'information que l'on peut connaître du système. Il n'existe pas d'autre moyen d'aborder les propriétés de ce système. Du moins, dans l'état actuel des connaissances.

Voyons maintenant ce que signifie physiquement cette fonction \( \Psi \).

L'équation de Schrödinger est une équation aux valeurs propres pour l'opérateur hamiltonien du système. Ses solutions sont des fonctions propres (ou des combinaisons linéaires de fonctions propres) de l'hamiltonien. Encore faut-il donner un sens physique à ces fonctions propres, que l'on nomme génériquement \( \Psi \) ou fonction d'onde.

L'interprétation communément admise aujourd'hui est l'interprétation probabiliste proposée par Born et Jordan en 1926. C'est celle que je vais présenter très succintement. Il en existe d'autres, plus ou moins exotiques, dont on ne parlera pas.

Essayons de suivre le raisonnement. Plusieurs expériences, en particulier, les fentes de Young, laissaient à penser que la fonction d'onde pouvait avoir un rapport plus ou moins lointain avec une probabilité de présence de la particule dans un endroit donné. Cette supposition découle de la mécanique ondulatoire de Broglie.

Cette supposition présente quand même un léger problème : \( \Psi \) est une fonction complexe alors qu'un probabilité est réelle et même restreinte à des valeurs comprises entre 0 et 1. Sur le plan physique, il y a aussi un problème: pour expliquer la manip des fentes d'Young, il faut supposer que la fonction d'onde change de signe! Il ressort donc que Ψ ne peut être une probabilité.

C'est là qu'intervient la recherche d'analogies chère aux physiciens. En électromagnétisme, l'intensité des franges d'interférence est donnée par le carré des champs E et B. Born et Jordan ont donc eu l'idée d'étudier le carré du module de \( \Psi \), \( ||\Psi ||^2 \).

Ils ont postulé (encore un fois...) que la probabilité de présence d'une particule dans un volume d3r centré autour d'un point défini par le vecteur r est donné par:

\begin{align} dP(\vec{r},t) = ||\Psi(\vec{r},t)||^2 d^3r \end{align}

Cette équation est le fondement de l'interprétation probabiliste de l'équation de Schrödinger. \( ||\Psi(\vec{r},t)||^2 \) est donc une densité de probabilité, avec une dimension L-3 dans l'espace classique.

La fonction Ψ désigne une amplitude de probabilité de présence, toujours par analogie avec l'amplitude des champs électromagnétiques. Bien sur, ce postulat a quelques conséquences sur la nature de \( \Psi \).
L'une de ces conséquences est qu'elle doit posséder des propriétés d'intégrabilité bien particulières. On voit mal l'intégrale diverger ou ne pas être normalisée à 1, cela ferait tâche pour une probabilité.... Il faut aussi que cette intégrale soit finie sur un domaine fini. Cela lui interdit en passant de diverger à l'infini. On définit deux critères:

Ce qui se traduit par l'équation suivante:

\begin{align} \int_\mathbb{R^3}||\Psi(\vec{r},t)||^2 d^3r = 1 \end{align}

Une autre conséquence importante est que l'on doit disposer d'une équation de conservation. En effet, l'évolution de la probabilité au cours du temps est analogue à l'écoulement d'un fluide sans perte. Si la probabilité de présence augmente dans une région de l'espace, elle doit diminuer ailleurs! Aussi, on doit observer l'analogue d'un courant, un courant de "probabilité" qui s'écoule de la région de probabilité de présence la plus élevée mais la région de probabilité de présence la moins élevée. ça tombe bien, car Schrödinger avait déjà établi que son équation prévoyait une équation de conservation et donc la notion de courant!

Etude pratique d'un cas particulier

Tout ça peut sembler assez théorique, aussi je vous propose de regarder ce que ces belles choses donnent sur un exemple simple (sic!). Considérons l'équation de Schrödinger stationnaire pour une particule sur un axe (donc un problème de dimension 1), plongée dans un potentiel scalaire:

\begin{align} -\dfrac{ℏ^2}{2m} \dfrac{d^2\Psi}{dt^2} + U(x)\Psi = E\Psi \end{align}

Etudions le cas U(x) = 0. Dans ce cas, l'équation de Schrödinger devient:

\begin{align} -\dfrac{ℏ^2}{2m} \dfrac{d^2\Psi}{dt^2} = E\Psi \end{align}

La solution générale de cette équation est de la forme:

\begin{align} \Psi = A\exp(ikx) + B\exp(-ikx) \end{align}

avec A et B les constantes d'intégration. Notons que \( E = \dfrac{ℏ^2k^2}{2m} \). Appliquons l'interprétation de Born, en ne prenant que le cas k > 0 (soit B = 0) sachant que le raisonnement et les résultats sont identiques dans le cas k < 0. La solution générale devient:

\begin{align} \Psi = A\exp(ikx) \end{align}

Calculons la densité de probabilité selon l'expression ci-dessus. On obtient:

\begin{align} ||\Psi||^2 = \Psi \Psi^* = ||A||^2 \end{align}

Et là, nous avons notre premier problème! Vous constatez que la densité de probabilité de présence est une constante, ce qui est ennuyeux pour appliquer la condition de normalisation:

\begin{align} \int_{-\infty}^{+\infty}||\Psi||^2 dx = 1 \end{align}

Nous nous retrouvons avec une particule d'impulsion parfaitement connue (p = ℏ*k) mais dont la densité de probabilité de présence est une constante. Ce dernier fait signifie que nous ne savons pas situer la particule, alors que nous connaissons très exactement son impulsion: cela ne vous rappelle-t-il rien?
Mais ce n'est pas tout... Examinons maintenant le cas de la solution où A=B=1, soit:

\begin{align} \Psi(x) = \exp(ikx) + \exp(-ikx) = 2\cos(kx) \end{align}

Dans ce cas, la densité de probabilité de présence vaut:

\begin{align} ||\Psi||^2 = 4\cos^2(kx) \end{align}

Elle est maximum pour kx = n*π et nulle en kx = (n+1/2)*π. La fonction d'onde est une combinaison linéaire d'une onde de vecteur d'onde +k (et donc une impulsion correspondante de ℏ*k) et d'une onde de vecteur d'onde -k (impulsion = -ℏ*k), de même amplitude.
Quel sera le résultat, si nous procédons à la mesure de l'impulsion? Si on fait une mesure, le résultat sera ℏ*k ou -ℏ*k. Si on fait plusieurs mesures, on a 50% de chance de tomber sur un des deux résultats.
Dans ce cas, on a donc bien localisé la particule (car la densité de probabilité de présence est maximum pour kx = n*π), mais on a perdu la précision sur la mesure de l'impulsion. Amusant non, ce qu'on tire de Schrödinger...

Quelques manips numériques autour de Schrödinger

Simuler un paquet d'ondes

Je vous livre tel quel un petit programme de simulation de la propagation d'un paquet d'ondes. Le paquet possède une enveloppe gaussienne, mais vous pouvez tout à fait modifier ce point en changeant la fonction dans la subroutine Enveloppe. Voici le code en F77, développé dans l'environnement VFort, comme d'habitude! Il est fortement inspiré d'un programme proposé par P.Depondt dans son "Physique numérique".

C Programme de simulation d'un paquet d'ondes

C Dominique Lefebvre

C Scientific Programming

C Juin 2009

PROGRAM PaquetOndes

IMPLICIT NONE

C Declaration des constantes

DOUBLE PRECISION pi, Omega0, a

DOUBLE COMPLEX ci, u, Enveloppe

INTEGER n, nt , i, it

C Declaration des parametres

PARAMETER (pi = 3.141592654)

PARAMETER (n = 1000) ! pas d'integration sur Omega

PARAMETER (nt = 2000) ! pas d'integration sur le temps

C Declaration des variables

DOUBLE PRECISION Omega, dOmega,k,z,t,t0,dt

REAL TTAB(nt), UTAB(nt)

C Definition des caracteristiques du paquet 'onde

C Omega0 : frequence du signal (en Hz)

C a : intervalle entre les noeuds (en m)

Omega0 = 50.

a=2.

C Initialisation des constantes et parametres

ci = (0.d0, 1.d0)

dt = 0.1/Omega0

Omega0 = 2.*pi*Omega0

dOmega = Omega0/(n-1)

C calcul et representation de U(z,t) en fonction de z

10 CONTINUE

WRITE(*,'("z en cm (-1 pour sortir) : ",$)')

READ (*,*) z

IF (z . EQ. -1) GOTO 20

C Boucle sur t

DO it = 1, nt

u = (0.d0, 0.d0)

t = (it - nt/2)*dt

C Boucle sur Omega

DO i = 1, n

Omega = (i - 1)*dOmega

C Calcul de k avec l'equation de dispersion k = 2./a*ASIN(Omega/Omega0)

C Integration de F(Omega)

u = u + Enveloppe(Omega)*EXP(ci*(Omega*t - k*z))

ENDDO

TTAB(it) = REAL(t)

UTAB(it) = REAL(DBLE(u)) ! extraction de la partie reelle

ENDDO

C Dessin du paque d'ondes

CALL TraceCourbe(TTAB,UTAB,nt)

C Condition de sortie (simule le REPEAT WHILE)

GOTO 10

C fin du programme

20 WRITE(*,'("Fin du programme PaquetOndes",$)')

END

C ---------------------------------------------------------------

C Routine de calcul de l'enveloppe gaussienne

C ---------------------------------------------------------------

DOUBLE COMPLEX FUNCTION Enveloppe (Omega)

IMPLICIT NONE

DOUBLE PRECISION FrequCentrale, Omega, Largeur, pi

PARAMETER (pi = 3.141592654)

C Definition des parametres de la courbe enveloppe

FrequCentrale = 50.0 ! frequence centrale du paquet

Largeur = 5.0 ! largeur du paquet

FrequCentrale = 2.*pi*FrequCentrale

Largeur = 2.*pi*Largeur

C Definition de la gaussienne enveloppe

Enveloppe = EXP(-((Omega - FrequCentrale)/Largeur)**2)

END

C ---------------------------------------------------------------

C Routine de calcul de l'element MAX d'un vecteur de REAL

C T : vecteur de REAL C n : nombre (INTEGER)

C ---------------------------------------------------------------

REAL FUNCTION MaxArray (T,n)

IMPLICIT NONE

REAL T(*), MaxTab

INTEGER i,n

MaxTab = T(1)

DO i = 2,n

MaxTab = MAX(T(i),MaxTab)

ENDDO

MaxArray = MaxTab

END

Sur le plan technique, il n'y aucune ruse ni aucune difficulté. Notez que dans ce programme j'utilise la librairie graphique Dislin pour la première fois. Elle évite d'avoir à faire appel à Gnuplot, c'est quand même plus pratique! Le code source est dans le fichier PaquetOndes et le projet dans paquet (attention à linker la librairie Dislin!).

Son usage est très simple. Après avoir chargé le fichier projet et le code source dans Vfort et vérifié les répertoires de librairie, vous compilez et linkez le code. Puis vous l'exécutez. Au lancement, le programme vous demande la distance à laquelle vous voulez faire le calcul du paquet d'ondes. Vous lui indiquez. Puis le tracé apparaît dans une fenêtre graphique. Pour en sortir et continuer le programme, cliquez sur le bouton droit de votre souris. Le programme boucle en vous demandant une nouvelle cote. Si vous voulez sortir, tapez sur -1.

Sur le plan physique, je vous invite à faire quelques manip: modifier la largeur du paquet (la variable Largeur dans la subroutine Enveloppe) puis suivre la propagation du paquet en sélectionnant plusieur points z, par exemple 0, 10, 100, 200 unités de longueur. Vous verrez l'influence de la largeur du paquet sur sa forme après avoir parcouru une distance de plus en plus grande. Vous pouvez également étudier la propagation du paquet en fonction de la fréquence centrale du paquet ou de la fréquence du signal.

Pour conclure

Pour ceux qui voudraient approfondir le sujet, je leur conseille très vivement la lecture des ouvrages de base suivants:

Je vous recommande aussi:


Contenu et design par Dominique Lefebvre - tangenteX.com juin 2009    Licence Creative Commons   Contact : PhysiqueX ou

Cette œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Pas de Modification 3.0 France.