5.2 La mati`ere consid´er´ee comme un milieu continu
5.2.2 La m´ethode des diff´erences finies
∂x , ∂
∂y , ∂
∂z , ∂
∂t
Les syst`emes macroscopiques ne sont pas les seuls suscep-tibles de ce genre de traitement : l’´equation de Schr¨odinger pour une particule dans un potentiel est aussi une ´equation aux d´eriv´ees partielles,
i¯h∂
∂tψ(~r, t) =
−¯h2
2m∆ +V(~r)
ψ(~r, t)
ainsi que bien sˆur les ´equations de Maxwell de l’´electromagn´etisme.
Ces questions ne sont pas forc´ement faciles `a traiter, et, parfois mˆeme dans certaines conditions et pour des raisons diverses, on ne sait pas les r´esoudre. Cependant, il existe deux classes principales de m´ethodes pour s’y attaquer : les m´ethodes dediff´erences finies et les m´ethodes d’´el´ements finis. L’on mentionnera ´egalement les m´ethodes dites spec-trales.
5.2.2 La m´ ethode des diff´ erences finies
Si f est une fonction de plusieurs variables x1, x2,. . ., xn, on peut approximer la d´eriv´ee partielle par rapport `a xi par :
∂f
∂xi ≃
f(x1, . . . , xi+δx2i, . . . , xn)−f(x1, . . . , xi−δx2i, . . . , xn) δxi
(5.4) c’est la d´efinition de la d´eriv´ee partielle, mais on ne passe pas `a la limite : δxi prend une valeur petite mais finie, c’est l`a que r´eside l’approximation et c’est de l`a que vient l’expression diff´erences finies.
Dans les paragraphes qui suivent, diff´erentes variantes de la m´ethode sont montr´ees `a l’aide d’exemples.
5.2.2.1 Le sch´ema explicite
Prenons par exemple l’´equation de propagation d’une onde ´electromagn´etique dans un milieux unidimensionnel (eq. (5.1) ) : il faut d’aborddiscr´etiserle temps et l’espace,
x=i δx t=j δt
ainsi, l’indice entieri repr´esente l’espace et l’indice entier j le temps, et :
E(x, t) =E(i δx, j δt) =Ei,j
De mˆeme la vitesse de phase se r´e´ecrit : vϕ(i δx) =vi
L’´equation (5.4) des diff´erences finies permet d’´ecrire :
∂E(x, t)
∂x ≃ Ei+1,j−Ei,j
δx
(5.5)
ou ∂E(x, t)
∂x ≃ Ei,j−Ei−1,j
δx
(5.6) ce sont deux approximations possibles, ´equivalentes mais qui n’ont pas exactement la mˆeme valeur. . . en fait, il faudrait pouvoir prendre la valeur du champ au demi-pas : c’est parfois possible, parfois, non. Ce qui a ´et´e ´ecrit ici, c’est plutˆot :
∂E(x+δx
2, t)
∂x et
∂E(x−δx
2, t)
∂x
c’est-`a-dire les d´eriv´ees au demi-pas ; or ce sont les d´eriv´ees secondes, et non les d´eriv´ees premi`eres, qui nous int´eressent dans ce probl`eme :
∂2E(x, t)
∂x2 ≃
∂E(x+δx
2 , t)
∂x −
∂E(x−δx
2 , t)
∂x δx
et en rempla¸cant les d´eriv´ees premi`eres par les expressions (5.5) et (5.6), on obtient ais´ement l’approximation :
∂2E(x, t)
∂x2 ≃ Ei+1,j+Ei−1,j−2Ei,j
δx2
La mˆeme op´eration peut ˆetre effectu´ee pour la d´eriv´ee temporelle, sauf que c’est maintenant l’indice j qui est affect´e, et en fin de compte, l’´equation de propagation (5.1) se r´e´ecrit :
Ei+1,j+Ei−1,j−2Ei,j
δx2 = 1
vi2
Ei,j+1+Ei,j−1−2Ei,j
δ2t
Ce que l’on cherche, c’est le champE en tous points `a l’instantt+δt, le connaissant aux instanttett−δt, ainsi :
Ei,j+1= viδt
δx
2
(Ei+1,j+Ei−1,j −2Ei,j) +Ei,j−Ei,j−1 ∀i (5.7) ce qui se programme fort ais´ement en quelques lignes.
On appelle cela un sch´emaexplicite puisque la solution apparaˆıt explicitement : on doit connaˆıtre les conditions initiales et calculer pas `a pas les r´esultats au cours du temps.
La figure 5.1 montre un exemple simple de propaga-tion `a travers une lame transparente d’un paquet d’ondes gaussien avec les r´eflexions sur les dioptres. On y voit bien sˆur le ralentissement du paquet dans le di´electrique (la pente est plus forte, autrement dit, il faut plus de temps
−2 −1.5
−1 −0.5 0 0.5 1 1.5 2
x
t
0 5 10 15 20
0 5 10 15 20 25 30
Figure 5.1 – Propagation d’une onde `a travers une lame transparente obtenue par l’´equation (5.7). En abscisse, la coordonn´ee spatiale x, en ordonn´ee le temps. La condition initiale est donn´ee par un paquet d’ondes gaussien se d´epla¸cant dans le sens des x croissants, puisque l’on doit d´efinir les deux premiers pas de temps pour initialiser l’´equation (5.7).
pour parcourir la mˆeme distance) et les interf´erences entre les ondes incidentes et r´efl´echies.
On pourrait, par exemple, compliquer le probl`eme en consid´erant :
D=ε0 (1 +χ1)E+χ2E2
soit une d´ependance non-lin´eaire de D en fonction du champ ´electrique (ici un d´eveloppement limit´e au deuxi`eme ordre, χ1 ´etant la susceptibilit´e du premier or-dre habituelle et χ2 le terme du deuxi`eme ordre), ce qui permet de sortir du domaine habituel des di´electriques lin´eaires.
5.2.2.2 Le sch´ema implicite
Si l’on combine l’´equation de Fourier (5.2) et la conser-vation de la chaleur (5.3), on obtient :
div
κ(~r)gradT~ (~r)
=−Q(~r)˙
soit, si l’on se restreint `a un probl`eme `a une dimension :
∂κ(x)
∂x
∂T(x)
∂x +κ(x)∂2T(x)
∂x2 =−Q(x)˙ (5.8) Comme dans le cas pr´ec´edent, on peut discr´etiser le probl`eme :
Ti=T(i δx) κi=κ(i δx) Q˙i = ˙Q(i δx) On a de nouveau le probl`eme que l’on ne connaˆıt pas les valeurs des fonctions au demi-pas pour calculer les d´eriv´ees premi`eres : on peut s’en sortir n´eanmoins en consid´erant des intervalles de 2δx, et donc le demi-pas devient main-tenantδx. . . Cela donne, ainsi :
κi+1−κi−1
2δx
Ti+1−Ti−1
2δx +κiTi+1+Ti−1−2Ti
δx2 =−Q˙i
et :
−κi+1−κi−1+ 4κi
4 Ti+1+2κiTi−−κi+1+κi−1+ 4κi
4 Ti−1
=−Q˙iδx2
Le r´esultat important ici est que l’on obtient un syst`eme d’´equations lin´eaires dont les inconnues sont les Ti : la temp´erature en chaque point, or, le nombre d’´equations et d’inconnues est donn´e par la discr´etisation :
n= L δx
o`u L est la longueur de l’´echantillon. Autrement dit, le nombre d’´equations peut ˆetre ´enorme et il est donc exclu de tenter de le r´esoudre `a la main !
Il suffit alors de poser :
AT=Q (5.9)
avec :
A=
. .. ... 0 0 0 0 0
0 . .. . .. 0 0 0 0
0 0 . .. . .. 0 0 0
0 0 −κi+1−κi−1+ 4κi
4 2κi−−κi+1+κi−1+ 4κi
4 0 0
0 0 0 . .. . .. 0 0
0 0 0 0 . .. . .. 0
0 0 0 0 0 . .. ...
100 Licence de physique L3 : PHYTEM, Universit´e Pierre et Marie Curie Paris-6 & ENS-Cachan
une tr`es grosse matricen×n, et deux matrices colonne :
T=
T1
... Ti
... Tn
Q=
−Q˙1δx2 ...
−Q˙iδx2 ...
−Q˙nδ2x
Il reste `a r´egler la question des conditions aux limites qui, dans ce cas ci, se r´eduisent `a peu de choses, par ex-emple :
T0=Ta et Tn+1=Tb
on introduit des points qui n’interviennent pas dans le syst`eme (5.9), i = 0 et i = n+ 1 qui repr´esentent les extr´emit´es de l’´echantillon et on fixe leurs temp´eratures `a Ta et Tb. Cela oblige `a modifier la premi`ere et la derni`ere ligne deAet deQ.
On peut aussi laisser les conditions aux limites libres, la seule contrainte ´etant alors ˙Q(x).
On fait appel alors `a un sous-programme de bib-lioth`eque, ou bien pris dans un manuel de ≪ recettes num´eriques ≫, capable de r´esoudre le syst`eme (5.9). Si n est grand, le syst`eme est parfois lourd `a r´esoudre, cepen-dant, la matriceAcomporte principalement des z´eros (on dit qu’elle est creuse), et dans le cas pr´esent elle est tridi-agonale ce qui facilite souvent la r´esolution num´erique du syst`eme d’´equations.
Le r´esultat d’un exemple simple est montr´e sur la figure 5.2.
Figure 5.2 – Une solution num´erique de l’´equation (5.9) en fixant des conditions de temp´erature fixes aux deux extr´emit´es (T(x = 0) = 2 et T(x = 1) = 0) et sans production de chaleur. La conductivit´e κ d´epend de x.
On retrouve le r´esultat connu que la temp´erature varie lin´eairement tant que κ est constant, un changement de pente ayant lieu `a chaque changement de valeur de la con-ductivit´e.
Ce sch´ema est appel´e implicite puisqu’on n’ob-tient pas d’expression du type Ti = . . ., comme pr´ec´edemment, mais un syst`eme d’´equations qu’il faut r´esoudre num´eriquement.
Si l’on veut r´esoudre un probl`eme `a trois dimensions, la m´ethode est la mˆeme dans le principe, la mise un œu-vre ´etant un peu plus lourde. Les indices (ℓ, m) de A de-viennent composites : m ↔ (i, α) ; α ∈ {x, y, z} et en
renum´erotant :m= 3(i−1) +αo`uαprend les valeurs 1, 2, 3. La mˆeme op´eration est ´evidemment faite pourℓ.
On con¸coit ais´ement que la matriceApeut facilement devenir ´enorme `a tel point qu’il faut parfois recourir `a des m´ethodes sophistiqu´ees pour r´esoudre le syst`eme lin´eaire ! 5.2.2.3 Contourner le sch´ema implicite
Une fa¸con d’´eviter le sch´ema implicite pour retrouver un sch´ema explicite est d’´ecrire une ´equation d’´evolution tem-porelle du syst`eme au lieu de tenter de calculer d’embl´ee une situation d’´equilibre o`u tous les points d´ependent les uns des autres. Avec une ´equation d’´evolution, on part d’une situation initiale et l’´etat au pas suivant d´epend ex-plicitement de l’´etat initial : le syst`eme, si tout se passe bien, doit ´evoluer vers l’´equilibre que l’on cherchait. Par exemple, l’´equation stationnaire (5.3) peut ˆetre remplac´ee par une ´equation hors d’´equilibre :
C∂T(~r)
∂t = ˙Q(~r)−divφ
c’est-`a-dire que la variation temporelle locale de temp´erature (multipli´ee par la capacit´e calorifiqueCd’une cellule) est la production locale de chaleur diminu´ee de la chaleur qui s’´ecoule hors de la cellule. En combinant cela avec la loi de Fourier (5.2), on obtient :
C∂T(~r)
∂t = ˙Q(~r)−div
κ(~r)grad~ T(~r)
On tombe ainsi sur un sch´ema explicite similaire `a celui de la propagation d’une onde du paragraphe 5.2.2.1. Le mˆeme probl`eme que pour la figure 5.2 est ainsi trait´e sur la figure 5.3.
Figure 5.3 – ´Evolution temporelle de la distribution de la temp´erature dans le cas repr´esent´e par la figure 5.2.
L’´etat initial est donn´e par T = 0 sur tout le barreau sauf `a la deuxi`eme extr´emit´e o`u elle vaut 2. Le syst`eme
´evolue spontan´ement vers la situation d’´equilibre trouv´ee pr´ec´edemment.
L’avantage d’une telle proc´edure est d’´eviter les risques d’instabilit´e num´erique li´es `a la r´esolution du syst`eme d’´equations, mais l’inconv´enient en est un coˆut en ressources de calcul qui peut s’av´erer prohibitif.
5.2.2.4 Questions de stabilit´e
Mˆeme les sch´emas explicites peuvent parfois r´eserver des surprises. . . Reprenons, par exemple, l’´equation de
Schr¨odinger `a une dimension et d´ependante du temps d’une particule dans un potentiel :
i¯h∂ψ(x, t)
∂t =−¯h2 2m
∂2ψ(x, t)
∂x2 +V(x)ψ(x, t) Il est coutumier, dans ce genre de probl`eme, de se placer dans un syst`eme d’unit´es o`u ¯h= 1 et ¯h
2m = 1. On peut discr´etiser le probl`eme comme pr´ec´edemment :
ψjℓ=ψ(j δx, ℓ δt) Vj=V(j δt)
Cela donne ais´ement : ψℓ+1j =ψℓj+iδt
ψj+1ℓ +ψℓj−1−2ψℓj
δx2 −Vjψℓj
!
que l’on peut ´ecrire matriciellement :
ψℓ+1= (1−iδtHD)ψℓ (5.10) o`uHD est l’Hamiltonien discr´etis´e :
HD=
Tout cela est fort beau. . . mais le d´efaut d’une telle m´ethode est qu’elle est instable ! On peut tenter de la stabiliser en la sym´etrisant un peu mieux. En effet, on a appliqu´e l’Hamiltonien discr´etis´e `a la fonction d’onde `a l’instant t; on aurait pu tout aussi bien l’appliquer `a la fonction d’onde `a l’instantt+δt:
ψℓ+1=ψℓ−iδtHDψℓ+1
Il s’agit de la mˆeme ´equation que (5.10), seulement HD
est appliqu´e `aψℓ+1 et non `aψℓ. Ni l’une, ni l’autre de ces
´equations n’est enti`erement satisfaisante, alors, on peut faire un compromis en faisant une moyenne :
ψℓ+1=ψℓ−iδtHD
ψℓ+1+ψℓ 2
On est dans la mˆeme situation que pour la m´ethode de Cranck et Nicholson (paragraphe 4.9.5). L’inconnue dans ce probl`eme estψℓ+1puisqu’on cherche la fonction d’onde
` peut se r´esoudre `a partir d’un syst`eme lin´eaire du type :
Aψℓ+1=B
o`u Aest une matrice tridiagonalen×net B un vecteur den´el´ements :
Un tel probl`eme -qui suit le sch´ema implicite- se r´esout ais´ement `a l’aide d’un sous-programme de biblioth`eque ad´equat (il s’agit d’une matrice triadiagonale, ce qui sim-plifie les choses), en prenant soin toutefois de travailler avec des nombres complexes (figures 5.4, 5.5 et 5.6). Un des charmes de cette m´ethode est que la norme de la fonc-tion d’onde est conserv´ee. . .
10
Figure 5.4 – Solution de l’´equation (5.11) dans le cas d’une barri`ere de potentiel qui va dex= 0.5 `a x= 0.75.
La condition initiale pour la fonction d’onde est un pa-quet gaussien centr´e en x= 0.5. Cette figure montre les premiers pas de la simulation : on voit la la densit´e de probabilit´e de pr´esence s’´elargir de pr´ef´erence du cˆot´e du puits de potentiel, mais une partie continue `a passer de l’autre cˆot´e. On voit ´egalement les r´eflexions sur les parois (l’´echelle des courbes de niveaux est logarithmique).
5.2.2.5 Crit`eres de stabilit´e
Evidemment, la question est de savoir s’il existe des´ crit`eres permettant de savoir a priori si un algorithme est stable ou non. Il s’agit malheureusement l`a d’un tr`es vaste programme ! Les sp´ecialistes de math´ematiques appliqu´ees et ceux de m´ecanique d´emontrent de nombreux et fort beaux th´eor`emes de convergence ou de non-convergence : c’est h´elas pour un physicien essentiellement pr´eoccup´e de savoir si≪ ¸ca marche ≫ou≪ comment faire pour que ¸ca marche≫, un monde quelque peu labyrinthique. . .
102 Licence de physique L3 : PHYTEM, Universit´e Pierre et Marie Curie Paris-6 & ENS-Cachan
Figure 5.5 – Mˆeme chose que la figure 5.4, seulement le paquet initial est centr´e en x = 0.35. On en voit passer n´eanmoins une partie de l’autre cˆot´e par effet tunnel.
0
Figure5.6 – Mˆeme chose que la figure 5.5 en 3-D (l’´echelle verticale est logarithmique).
Il arrive cependant qu’il faille en passer par l`a, quitte
`a solliciter l’aide d’un sp´ecialiste. Cependant, souvent un peu de flair suffit : on a vu avec l’´equation de Schr¨odinger que tenter d’´ecrire des ´equations aussi sym´etriques que possible pouvait arranger des choses. Une autre pr´ecaution
`a prendre est d’essayer de faire que l’´enorme matrice que l’on cherche `a inverser ou diagonaliser soit ≪aussi diago-nale que possible≫: autrement dit s’efforcer de rendre les termes les plus ´eloign´es de la diagonale aussi faibles que possible par rapport aux termes diagonaux, ou bien trou-ver des structures du type≪tridiagonale par blocs≫que certains algorithmes sont capables de traiter efficacement.
5.2.2.6 Syst`emes harmoniques
Des syst`emes harmoniques en mouvement oscillant peu-vent ob´eir `a des syst`emes similaires. Si l’on ´etudie, par exemple, les oscillations harmoniques d’une poutre de sec-tion variable, on doit r´esoudre l’´equasec-tion suivante (ici l’on ne tient compte ni du champ de pesanteur, ni d’aucune autre force ext´erieure) :
∂4z
∂x4+ ρ Ee2(x)
∂2z
∂t2 = 0
o`u z(x, t) est le d´eplacement de la poutre `a l’abscisse x et `a l’instantt,ρ sa masse volumique, E le module d’Y-oung du mat´eriau dont elle est constitu´ee et e(x) son
´epaisseur qui peut ˆetre soit constante soit variable le long de la poutre1. On peut tenter de r´esoudre directement l’´equation ci-dessus `a partir de conditions initialesad hoc en utilisant les m´ethodes d´ej`a expos´ees, mais on peut aussi ne chercher que les mouvements p´eriodiques en fonction du temps. Dans ce cas, on cherche des solutions du type :
z(x, t) =u(x) eiωt ce qui donne :
∂4u
∂x4 −c(x)ω2u(x) = 0 avec des notations ´evidentes.
En discr´etisant de la fa¸con habituelle, on obtient sans difficult´e, au bout de quelques lignes de calcul :
uℓ+2−4uℓ+1+ 6uℓ−4uℓ−1+uℓ−2
Les valeurs propresλp deAdonnent : λp=ω2pδ4x
soit, au coefficient δx4 pr`es, les carr´es des pulsations pro-presωpdu syst`eme harmonique, c’est-`a-dire les pulsations auxquelles le syst`eme peut vibrer. Les vecteurs propres Up donnent les d´eplacements de la poutre pour chaque
≪mode propre≫ de pulsation propreωp.
A l’aide d’un programme de biblioth`eque appropri´e, rien` de tout cela ne doit poser de gros probl`eme. . . si ce n’est que ce genre de programme≪pr´ef`ere ≫quand la matrice est sym´etrique ! Il suffit de poser alors :
z(x, t) = ζ(x) Posons comme pr´ec´edemment :
D=
1. Voir par exemple G. Bruhat,M´ecanique, Masson (1967) p. 653.
. .. . .. . .. . .. 0 0 0
0 . .. . .. . .. . .. 0 0
0 +1
√cℓ−2cℓ
−4
√cℓ−1cℓ
6 cℓ
−4
√cℓ+1cℓ
+1
√cℓ+2cℓ
0
0 0 . .. . .. . .. . .. 0
0 0 0 . .. . .. . .. . ..
Z=
ζ1
... ζℓ
... ζn
Il suffit d’´ecrire explicitement quelques termes pour mon-trer que D est sym´etrique. Cela ne change rien pour les valeurs propres, celles deDsont les mˆemes que celles deA, seulement les vecteurs propres donnent les d´eplacements pond´er´es par c(x) : il suffit d’en tenir compte (voir par exemple la figure 5.7).
−0.1
−0.08
−0.06
−0.04
−0.02 0 0.02 0.04 0.06 0.08 0.1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
12 34 56
Figure5.7 – Les six premiers modes propres de vibration d’une poutre homog`ene fix´ee `a une extr´emit´e (`a gauche) et libre `a l’autre, calcul´es avec 500 points de discr´etisation.