• Aucun résultat trouvé

La m´ethode des diff´erences finies

Dans le document Licence de physique L3 PHYTEM (Page 98-103)

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−Ei1,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+Ei1,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+Ei1,j−2Ei,j

δx2 = 1

vi2

Ei,j+1+Ei,j1−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+Ei1,j −2Ei,j) +Ei,j−Ei,j1 ∀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−κi1

x

Ti+1−Ti1

xiTi+1+Ti1−2Ti

δx2 =−Q˙i

et :

−κi+1−κi1+ 4κi

4 Ti+1+2κiTi−−κi+1i1+ 4κi

4 Ti1

=−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+1i−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 : ψℓ+1jj+iδt

ψj+1j1−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 :

ℓ+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 typetridiagonale par blocsque 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−4u1+u2

Les valeurs propresλp deAdonnent : λp2pδ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 programmepr´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,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.

Dans le document Licence de physique L3 PHYTEM (Page 98-103)