cours methodes d’approximation des … · r est donn ee. ps’appelle l’ordre de cette edp. 1.2...

47
Master MAP M1 Math APPLIQUEE UE2 EDP2 2010/2011 1 COURS METHODES D’APPROXIMATION DES EQUATIONS AUX DERIVEES PARTIELLES PAR DIFFERENCES FINIES ET VOLUMES FINIS DAVEAU CHRISTIAN 1 0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1 1.2 Temps t= 0.44118 LDG uex 0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1 1.2 Temps t= 0.5 LDG uex 1. Universit´ e de Cergy-Pontoise, D´ epartement de math´ ematique, 95302, Cergy-Pontoise, cedex France.

Upload: dinhthien

Post on 11-Sep-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

Master MAP M1 Math APPLIQUEE UE2 EDP2 2010/2011 1

COURS METHODES D’APPROXIMATIONDES EQUATIONS AUX DERIVEES PARTIELLES

PAR DIFFERENCES FINIES ET VOLUMES FINIS

DAVEAU CHRISTIAN 1

0 0.2 0.4 0.6 0.8 10

0.2

0.4

0.6

0.8

1

1.2

Temps t= 0.44118

LDGuex

0 0.2 0.4 0.6 0.8 10

0.2

0.4

0.6

0.8

1

1.2

Temps t= 0.5

LDGuex

1. Universite de Cergy-Pontoise, Departement de mathematique, 95302, Cergy-Pontoise, cedex France.

2

Table des matieres

1 Introduction 51.1 Definition d’une equation aux derivees partielles (e.d.p) . . . . . . . . 51.2 Exemples et classification si l’ordre est ≤ 2. . . . . . . . . . . . . . . 5

2 Approximation de problemes elliptiques par la methode des differ-ences finies 72.1 Introduction du modele . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2 En une dimension d’espace . . . . . . . . . . . . . . . . . . . . . . . . 7

2.2.1 Etude de l’existence et unicite de la solution . . . . . . . . . . 72.2.2 Approximation par la methode des differences finies (DF) . . . 102.2.3 Etude mathematique de la methode des DF : stabilite au sens

de la norme l∞, consistance . . . . . . . . . . . . . . . . . . . 112.3 En deux dimension d’espace . . . . . . . . . . . . . . . . . . . . . . . 132.4 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3 Approximation de problemes hyperboliques par la methode desdifferences finies 193.1 Equation de transport . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193.1.2 Resolution de l’equation de transport a coefficients constants . 203.1.3 Approximation par DF . . . . . . . . . . . . . . . . . . . . . . 20

3.2 D’autres schemas explicites, schema saute-mouton . . . . . . . . . . . 223.2.1 Notion de CFL . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.3 Equation des ondes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233.3.1 Formule de d’Alembert . . . . . . . . . . . . . . . . . . . . . . 233.3.2 Cone de dependance et propagation a vitesse finie . . . . . . . 263.3.3 Regularite du probleme de Cauchy f = 0 . . . . . . . . . . . . 263.3.4 Regularite de la solution avec un terme source . . . . . . . . . 273.3.5 Conservation de l’energie-Unicite . . . . . . . . . . . . . . . . 273.3.6 Approximation par DF . . . . . . . . . . . . . . . . . . . . . . 28

3.4 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4 TABLE DES MATIERES

4 Approximation d’un probleme parabolique par la methode des differencesfinies 334.1 Probleme modele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334.2 Schema de Crank et Nicholson . . . . . . . . . . . . . . . . . . . . . . 33

4.2.1 Etablissement du schema . . . . . . . . . . . . . . . . . . . . . 334.2.2 Etude theorique du schema de Crank et Nicholson : stabilite,

consistance . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

5 Approximation d’un probleme elliptique par la methode des vol-umes finis 375.1 Probleme modele, maillage volumes finis . . . . . . . . . . . . . . . . 375.2 Schema volumes finis et notion de Flux numerique . . . . . . . . . . . 375.3 Analyse mathematique du schema . . . . . . . . . . . . . . . . . . . . 385.4 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415.5 Annexe I : Memento Scilab . . . . . . . . . . . . . . . . . . . . . . . . 425.6 Annexe II : une petite bibliotheque en scilab . . . . . . . . . . . . . . 43

Chapitre 1

Introduction

1.1 Definition d’une equation aux derivees partielles (e.d.p)

C’est une equation dont l’inconnue est une fonction et portant sur les deriveespartielles de cette fonction :

– l’inconnue : u : Rn → R– l’equation F (x, u(x), Du(x), ...Dpu(x)) = 0 ∀x ∈ Rn (ou Ω) avec

F : Rn × R× Rn2..× Rnp → R est donnee. p s’appelle l’ordre de cette edp.

1.2 Exemples et classification si l’ordre est ≤ 2.

Les edp sont des transcriptions mathematiques de phenomenes intervenant enphysique, chimie, finance, biologie....

On distingue trois grandes categories d’edp :

1. les edp de type elliptique dont le prototype est l’equation de Poisson

−∆u(x) =n∑

i=1

∂2u

∂x2i(x) = f(x) ∀x ∈ Ω ⊂ Rn.

2. les edp de type parabolique dont le prototype est l’equation de la chaleur :

∂T

∂t(x, t)− α∆T (x, t) = 0 ∀x ∈ Ω ⊂ Rn, ∀t > 0, α > 0.

Il s’agit d’un probleme d’evolution car la variable t du temps intervient.

3. les edp de type hyperbolique dont les prototypes sont– l’equation de transport :

∂u

∂t(x, t) + a

∂u

∂x(x, t) = 0 ∀x ∈ Ω ⊂ Rn, ∀t > 0, a ∈ R

6 Introduction

– l’equation des ondes :

∂2u

∂t2(x, t)− ∂2u

∂x2(x, t) = 0 ∀x ∈ Ω ⊂ Rn, ∀t > 0.

Si on considere une edp d’ordre ≤ 2 a coefficients constants du type

a∂2u

∂x2(x, t) + b

∂2u

∂xy(x, t) + c

∂2u

∂y2(x, t) + d

∂u

∂x(x, t) + e

∂u

∂y(x, t) + f u = 0

avec a, b, c, d, e, f des reels donnes alors si la forme quadratique

q(x, y) = ax2 + bxy + cy2 + dx+ ey + f

– est une ellipse l’edp est dite elliptique,– est une hyperbole l’edp est dite hyperbolique,– est une parabole l’edp est dite parabolique.

Chapitre 2

Approximation de problemeselliptiques par la methode desdifferences finies

2.1 Introduction du modele

Le probleme modele est le suivant : soit Ω un domaine borne de Rn et f unefonction aussi reguliere que necessaire de Ω a valeurs dans R. Nous cherchons usolution de l’equation de Poisson :

−∆u(x) =n∑

i=1

∂2u

∂x2i(x) = f(x) ∀x ∈ Ω ⊂ Rn.

Il faut preciser les conditions aux limites : nous prenons des conditions homogenesde Dirichlet

u(x) = 0∀x ∈ ∂Ω

ou ∂Ω designe la frontiere de l’ouvert Ω.

2.2 En une dimension d’espace

2.2.1 Etude de l’existence et unicite de la solution

Le probleme devient

−u′′(x) = f(x), 0 < x < 1, u(0) = u(1) = 0. (1)

ou f ∈ C0([0, 1]) est donnee.

Proposition 2.2.1 ∀f ∈ C0([0, 1]), ∃!u ∈ C2([0, 1]) (solution classique) donnee par

u(x) =

∫ 1

0

G(x, y)f(y) dy ∀x ∈ [0, 1] (2)

8 Approximation de problemes elliptiques par la methode des differences finies

ou G s’appelle la fonction de Green du probleme et est definie par

G(x, y) =

y(1− x) si 0 ≤ y ≤ x,x(1− y) si x ≤ y ≤ 1.

Preuve :1) Existence : on peut proceder de 2 facons ; soit on integre deux fois l’equation (1),soit on montre directement que l’expression (2) est solution de (1).On va montrer que (2) est solution de (1) :

du

dx=

d

dx(

∫ 1

0

G(x, y)f(y) dy) =d

dx(

∫ x

0

y(1− x)f(y) dy +

∫ 1

x

x(1− y)f(y) dy) =

x(1− x)f(x)−∫ x

0

yf(y) dy − x(1− x)f(x) +

∫ 1

x

(1− y)f(y) dy =∫ 1

x

f(y) dy −∫ 1

0

yf(y) dy.

Notons que u ∈ C1([0, 1]).d2u

dx2= −f(x).

Donc u ∈ C2([0, 1]) et est solution de (1).

Remarque 2.2.1 On aurait pu etre tenter d’ecrire

du

dx=

∫ 1

0

d

dxG(x, y)f(y) dy

mais ceci est faux car x→ G(x, y) n’est pas derivable sur [0, 1] pour tout y ∈ [0, 1].

2) Unicite : le probleme etant lineaire, il suffit de montrer que pour f = 0 la solutionde (1) est nulle : si u1 et u2 sont solutions alors

− d2

dx(u1 − u2)(x) = 0, (u1 − u2)(0) = (u1 − u2)(1) = 0.

Pour montrer ce resultat il suffit de montrer que toute solution de (1) s’ecrit sous laforme (2). En effet

∀x ∈ [0, 1],

∫ 1

0

G(x, y)0 dy = 0.

Soit u solution de (1) en integrant deux fois on a

u(x) = −∫ x

0

(

∫ s

0

f(y) dy) ds+ ax+ b

avec a et b a determiner avec les conditions aux limites u(0) = u(1) = 0. On obtient

b = 0 et a =∫ 1

0(∫ s

0f(y) dy) ds.

2.2 En une dimension d’espace 9

D’ou ∀x ∈ [0, 1],

u(x) = x

∫ 1

0

(

∫ s

0

f(y) dy) ds−∫ x

0

(

∫ s

0

f(y) dy) ds

(Fubini) = x

∫ 1

0

(

∫ 1

y

f(y) ds) dy −∫ x

0

(

∫ x

y

f(y) ds) dy

(on inverse l’ordre d’integration)

= x

∫ 1

0

(1− y)f(y) dy −∫ x

0

(x− y)f(y) dy)

=

∫ 1

0

f(y)[x(1− y)− (x− y)X[0,x](y)] dy

ou X[0,x] est la fonction indicatrice de [0, x]. Soit G : [0, 1]2 → R definie par

G(x, y) = x(1− y)− (x− y)X[0,x](y) ∀(x, y) ∈ [0, 1]2

si y ∈ [0, x], G(x, y) = x(1−y)−(x−y) = y(1−x) et si y ∈ [x, 1], G(x, y) = x(1−y).Ce qui termine la demonstration de la proposition.

Theoreme 2.2.1 L’application T : C0([0, 1]) → C2([0, 1]), f 7→ u solution de (1)est continue.

Preuve : T est lineaire (exo) il suffit donc de montrer que

||T (f)||C2([0,1]) ≤ C||f ||C0([0,1]) ∀f ∈ C0([0, 1])

ou C est une constante independante de f . On rappelle que

||u||C0([0,1]) = supx∈[0,1]|u(x)|

et ||u||C2([0,1]) = ||u||C0([0,1]) + ||u′||C0([0,1]) + ||u′′||C0([0,1]). Soit f ∈ C0([0, 1]) et usolution de (1), d’apres la proposition precedente

u(x) =

∫ 1

0

G(x, y)f(y) dy,

u′(x) =

∫ 1

x

f(y) dy −∫ 1

0

yf(y) dy

etu′′(x) = −f(x).

∀(x, y) ∈ [0, 1]2, |G(x, y)| ≤ 1

donc||u||C2([0,1]) ≤ 4||f ||C0([0,1]).

La deuxieme propriete importante est le principe du maximum.

10 Approximation de problemes elliptiques par la methode des differences finies

Proposition 2.2.2 Soit f ∈ C0([0, 1]), et u ∈ C2([0, 1]) la solution de (1). Alors

f ≥ 0 implique u ≥ 0.

Preuve ; supposons que f(x) ≥ 0 pour tout x ∈ [0, 1], comme G(x, y) ≥ 0 pour tout(x, y) ∈ [0, 1]2 alors u est l’integrale d’une fonction positive et est donc positive. Laderniere propriete est une propriete de delocalisation du support :

Proposition 2.2.3 Soit f ∈ C0([0, 1]) telle que f ≥ 0 et supp(f) ⊂ [x0, x0+ ε] avecx0 ∈ [0, 1] et ε > 0, on considere la solution u de (1) alors

∀x ∈]0, 1[, u(x) > 0.

Preuve : il suffit de remarquer que G(x, y) > 0 pour tout (x, y) ∈]0, 1[2. Donc

u(x) =

∫ 1

0

G(x, y)f(y) dy =

∫ x0+ε

x0

G(x, y)f(y) dy > 0 ∀x ∈ [0, 1].

Bilan : on retiendra qu’une equation elliptique– est regularisante : si les donnees f ∈ C0 alors la solution u ∈ C2

– a une solution qui depend de maniere continue des donnees– a une solution positive si les donnees sont positive– a en general une solution non nulle sur tout l’interieur du domaine meme si lesdonnees ne sont non nulles que sur un domaine tres petit.

Si les donnees ne sont pas reguliere, f /∈ C0([0, 1]), il faudra definir en quel sensl’equation est verifiee et etudier l’existence et l’unicite de solutions. Pour etendre lesresultats, on utilisera la theorie des distributions et on cherchera la solution dans unespace de Sobolev.

2.2.2 Approximation par la methode des differences finies (DF)

Nous introduisons un maillage de [0, 1] : pour N fixe, on introduit un pas dediscretisation h = 1/(N + 1) et nous posons xj = j ∗ h, avec j = 0, ..., N + 1 lesN + 2 points du maillage.

Le but de la methode numerique consiste a calculer des valeurs les plus exactespossibles de u(xi) pour i = 1, N .

La premiere etape consiste a trouver une formule qui permet d’approcher laderivee −u′′ en chacun des points xj a l’aide des valeurs (u(xj))j=1,N . Pour cela, onutilise des developpements de Taylor de u :

u(x+ h) = u(x) + hu′(x) +h2

2u′′(x) +

h3

6u(3)(x) +

h4

24u(4)(ψ)

2.2 En une dimension d’espace 11

avec ψ ∈ [x, x+ h].

u(x− h) = u(x)− hu′(x) +h2

2u′′(x)− h3

6u(3)(x) +

h4

24u(4)(θ)

avec θ ∈ [x− h, x]. On en deduit

u′′(x) =u(x− h) + u(x+ h)− 2u(x)

h2+O(h3) (2).

Le principe de la methode consiste a calculer un vecteur U = (U1, ..., UN) tels queUi soit une bonne approximation de u(xi). En faisant x = xi dans (2) on obtient leschema numerique

−Uj+1 − 2Uj + Uj−1

h2= Fj = f(xj) j = 1, N (3)

avec les conditions aux limites qui permettent de determiner U0 et UN+1

U0 = UN+1 = 0.

Ce schema s’ecrit sous forme matricielle

AU = F

avec A matrice tridiagonale symetrique et inversible d’ordre N donnee par

A =1

h2

2 −1

−1. . . . . .. . . . . . −1

−1 2

.

On veut calculer un vecteur U = (U1, ..., UN) tel que les nombres |Uj − U(xj)|soient petits. On va meme prouver que ces quantites |Uj − U(xj)| tendent uni-formement vers 0 lorsque h tend vers 0.

2.2.3 Etude mathematique de la methode des DF : stabilite au sens dela norme l∞, consistance

Comme souvent pour des methodes numeriques, on va prouver deux proprietesfondamentales pour le schema numerique (3) : la stabilite et la consistance. On endeduira alors la convergence de la methode.

Definition 2.2.1 On dira que le schema numerique (3) est stable au sens de lanorme l∞ si

||U ||l∞ = supj=1,N |Uj| ≤ C

avec C constante independante de N .

12 Approximation de problemes elliptiques par la methode des differences finies

Definition 2.2.2 Le schema numerique (3) est consistant avec l’equation (1) si pourtoute fonction u suffisamment reguliere, on a

| − u′′(xj) +u(xj+1)− 2u(xj) + u(xj−1)

h2| ≤ Chp j = 1, N

p ≥ 1. Le nombre p s’appelle l’ordre du schema numerique.

Proposition 2.2.4 Le schema numerique (3) est consistant avec l’equation (1) etil est d’ordre 2. En outre on a si u ∈ C4([0, 1])

| − u′′(xj) +u(xj+1)− 2u(xj) + u(xj−1)

h2| ≤ h2

12maxx∈[0,1]|u(4)(x)| j = 1, N

preuve : Exercice 2.

Definition 2.2.3 On dira qu’une matrice A ≥ 0 si on a Aij ≥ 0 ∀i, j.

Lemme 2.2.1 Soit U ∈ Rn tel V = AU ≤ 0. Alors U ≤ 0.

Preuve : Soit i ∈ [[1, N ]] l’indice tel que Ui = maxj=1,NUj. Supposons Ui > 0.Examinons trois cas :

– si i = 1. 2U1 − U2 = h2V1 ≤ 0. Mais U1 ≥ U2 si bien que 2U1 − U2 ≥ U1 ce quicontredit U1 > 0.

– si i = N , meme traitement– si 2 ≤ i ≤ N − 1. Nous avons 2Ui − Ui+1 − Ui−1 = h2Vi ≤ 0. D’autre part2Ui−Ui+1−Ui−1 = (Ui−Ui+1)+ (Ui−Ui−1) ≥ 0. Donc 2Ui−Ui+1−Ui−1 = 0,d’ou Ui = Ui+1 = Ui−1. De proche en proche on se ramene au cas i = 1.

Proposition 2.2.5 La matrice A est inversible et si on note A−1 = (bij) on aA−1 ≥ 0 et

0 <∑j=1,N

bij ≤1

8, ∀i = 1, N.

Preuve : A est inversible ssi KerA = 0. Soit U ∈ KerA on AU ≤ 0 donc U ≤ 0d’apres le lemme 2.2.1 et A(−U) ≤ 0 donc U ≥ 0 d’ou U = 0. On en deduit aussi queles coefficients de l’inverse sont tous positifs ou nuls en utilisant la base canoniquede RN .D’autre part, avec la fonction v(x) = x(1 − x)/2, on obtient le systeme U = AVavec U = (1, ..., 1) et V = (v(x1), ...v(xN)). Ainsi∑

j=1,N

bij = v(xi) ≤ maxx∈[0,1]v(x) ≤1

8.

Proposition 2.2.6 Le schema numerique (3) est stable au sens de la norme l∞.

2.3 En deux dimension d’espace 13

Preuve :

|Ui| = |∑j=1,N

bijFj| ≤1

8supj=1,N |Fj|.

Proposition 2.2.7 La methode est convergente et on a si u ∈ C4([0, 1])

maxi=1,N |u(xi)− Ui| ≤h2

96maxx∈[0,1]|u(4)(x)|.

Preuve : Soit Ej = Uj −U(xj) l’erreur numerique ; On a d’apres la proposition 2.2.1

|2EJ − Ej+1 − Ej−1

h2| ≤ h2

12maxx∈[0,1]|u(4)(x)| j = 1, N.

En posant Vj =2EJ−Ej+1−Ej−1

h2 on a

Ei =∑j=1,N

bijVj

si bien que

|Ei| ≤ (∑j=1,N

bij)maxj=1,N |Vj| ∀i = 1, N.

On conclut alors avec la proposition 2.2.3.

2.3 En deux dimension d’espace

La methode se generalise facilement en dimension 2 et 3. Considerons le problemede Poisson dans Ω =]0, a[×]0, b[

−∆u(x, y) = f(x, y) ∀(x, y) ∈ Ω

u(x, y) = 0 sur ∂Ω

ou f est une fonction donnee reguliere dans Ω.

Pour mailler Ω, on considere 2 entiers N et M et on definit les pas d’espace dansles 2 directions par hx = a

N+1et hy =

bM+1

. On pose

xi = ihx, 0 ≤ i ≤ N + 1, yj = jhy, 0 ≤ j ≤M + 1.

Nous cherchons maintenant une approximation Ui,j du reel u(xi, yj) pour chaquecouple (i, j). En utilisant un developpement de Taylor, on a

−∂2u

∂x2(xi, yj) =

2u(xi, yj)− u(xi+1, yj)− u(xi−1, yj)

h2x+O(h2x),

14 Approximation de problemes elliptiques par la methode des differences finies

−∂2u

∂y2(xi, yj) =

2u(xi, yj)− u(xi, yj+1)− u(xi, yj−1)

h2x+O(h2y).

Ainsi on a le schema numerique suivant :

2Ui,j − Ui+1,j − Ui−1,j

h2x+2Ui,j − Ui,j+1 − Ui,j−1

h2y= Fi,j = f(xi, yj) 1 ≤ i ≤ N, 1 ≤ j ≤M

avec les conditions aux limites qui se traitent de la facon suivante

U0,j = UN+1,j = 0, 0 ≤ j ≤M + 1,

Ui,0 = Ui,M+1 = 0, 0 ≤ i ≤ N + 1.

Le schema s’ecrit sous forme maricielle

AU = F

ou A est une matrice tridiagonale par blocs d’ordre M ∗N

A =

B C

C. . . . . .. . . . . . C

C B

avec

B =

2

h2x+h2

y− 1

h2x

− 1h2x

. . . . . .

. . . . . . − 1h2x

− 1h2x

2h2x+h2

y

,

C =

− 1

h2y

0

0. . . . . .. . . . . . 0

0 − 1h2y

et U et F les vecteurs definis par U = (U1, U2, ..., UM), F = (F1, F2, ..., FM) ou

Uj = (U1,j, ...UN,j), Fj = (F1,j, ...FN,j) 1 ≤ j ≤M.

Nous avons les resultats suivants a demontrer en exercice.

Proposition 2.3.1 Le schema numerique est consistant et il est d’ordre 2.

Proposition 2.3.2 Le schema numerique est stable au sens de la norme l∞.

Proposition 2.3.3 La methode est convergente et on a si u ∈ C4([0, 1])

maxi=1,N, j=1,M |u(xi, yj)− Ui,j| ≤ C(h2x + h2y).

2.4 Exercices 15

2.4 Exercices

Exercice 2.4.1 Montrer que le schema en DF

−uj+2 + 16uj+1 − 30uj + 16uj−1 − uj−2

12h2

est precis d’ordre 4 pour l’approximation de u′′.

Exercice 2.4.2 Soit la matrice dite du Laplacien carree d’ordre n− 1 :

A =1

h2

2 −1

−1. . . . . .. . . . . . −1

−1 2

.

Nous allons chercher les valeurs propres et accessoirement les vecteurs propres deA.

1. Soit p = (p1, ..., pn−1) un vecteur propre associe a la valeur propre λ, donnerles relations verfiees par pk pour 1 ≤ k ≤ n− 1. en posant p0 = 0 et pn = 0.

2. On cherche des solutions particulieres sous la forme pk = sin(kα), k = 0, .., n.En deduire λ en fonction de α.

3. Avec la condition de bord pn = 0 en deduire α. puis les n − 1 valeurs propresde A.

4. On dit que A est normale si AA∗ = A∗A. Pour une matrice normale

cond2(A) =|λmax(A)||λmin(A)|

ou λmax(A) et λmin(A) sont respectivement la plus grande et la plus petite valeurpropre singuliere de A (les valeurs propres singulieres de A sont les racinescarrees positives des valeurs propres de A∗A). Montrer que

cond2(A) ≈4

π2h2.

En deduire que limn→+∞cond2(An) = +∞. On dira qu’une matrice est bienconditionnee si pour une norme donnee cond(A) = |A||A−1| ≈ 1 et mal condi-tionnee si cond(A) >> 1. Conclure pour la matrice du Laplacien. Le condition-nement permet de quantifier la sensiblite de la solution x du systeme Ax = baux perturbations des donnees A et b Exemple celebre :

8 6 4 11 4 5 18 4 1 11 4 3 6

x =

19111414

.

16 Approximation de problemes elliptiques par la methode des differences finies

La solution est x = (1, 1, 1, 1)t. Si vous prenez19.0111.0514.0714.07

la solution est x = (−2.34, 9.745,−4.85,−1.34)t.

Exercice 2.4.3 (Simulations numeriques) On considere le probleme de convectionet diffusion :

−u′′(x) = f(x), x ∈]0, 1[, u(0) = u′(1) = 0.

On va discretiser −u′′ par la formule habituelle pour que le schema soit d’ordre 2.Les conditions aux limites : pour u(0) = 0 on va ecrire u0 = 0 pour u′(1) = 1 on vadiscretiser de 2 manieres

– premiere methode : on ecrit uN+2 = uN+1 dans la formule

2ui − ui+1 − ui−1

h2= fi = f(xi), 1 ≤ i ≤ N + 1.

– deuxieme methode : on ecrit

uN+2 = uN+1 +h2

2u′′(1) = uN+1 −

h2

2f(1).

Programmer les deux schemas avec f(x) = x. Calculer la solution exacte et tracersur une meme figure la solution exacte et la solution numerique pour les deux cas.Tracer l’erreur en fonction du nombre de mailles pour les deux schemas en echellelogarithmique. On tracera les deux droites de regression lineaire dont on calculerales equations. Conclure.

Exercice 2.4.4

−u′′(x) + c(x)u(x) = f(x), 0 < x < 1, u(0) = α, u(1) = β. (1)

ou f et c sont continues sur [0, 1] et α et β deux reels. On suppose de plus quec(x) ≥ 0 pour tout x ∈ [0, 1].

1. Donner un schema de differences finies pour resoudre (1) en prenant pour u′′

la meme approximation que dans le cours.

2. Ecrire ce schema sous forme matricielle Ax = b (faites attention pour lapremiere et derniere ligne).

3. On note (., .) le produit scalaire dans Rn, montrer que pour tout v = (v1, ..., vn) ∈Rn, on a

(Av, v) =n−1∑1

civ2i + n2(v21 +

n−1∑i=2

(vi − vi−1)2)

et en deduire que A est inversible.

2.4 Exercices 17

4. Simulation numerique : prendre n = 100, sur [0, 2] c(x) = 1, f(x) = 6cos(3x)sin(x)+11cos(x)sin(3x) de telle sorte que la solution exacte est u(x) = cos(x)sin(3x).Ecrire un script qui calcule la solution par le schema de DF et qui affiche lasolution exacte et numerique sur une meme figure.

18 Approximation de problemes elliptiques par la methode des differences finies

Chapitre 3

Approximation de problemeshyperboliques par la methode desdifferences finies

3.1 Equation de transport

3.1.1 Introduction

On considere le probleme modele

∂u

∂t(x, t) + a

∂u

∂x(x, t) = 0 ∀x ∈ R, t ≥ 0 (1)

avec la condition initiale u(x, 0) = u0(x) ∀x ∈ R.

Exercice 3 :

1. Montrer que u(x, t) = u0(x− at) est la solution pour t ≥ 0.

2. En deduire que

infy∈Ru0(y) ≤ u(x, t) ≤ supy∈Ru0(y) ∀x ∈ R, t ≥ 0.

3. Nous definissons la variation totale d’une fonction par

V T (u) =

∫R|u′(x)|dx.

Montrer que la solution u de (1) est a variation constante.

Correction :

1. ∂u∂t(x, t) = −au′0(x−at), ∂u

∂x(x, t) = u′0(x−at) et u(x, 0) = u0(x) donc u solution

de (1) ;

2. u(x, t) = u0(x− at) et x− at ∈ R.

20 Approximation de problemes hyperboliques par la methode des differences finies

3.

V T (u) =

∫R|∂u∂x

(x, t)| dx =

∫R|u′0(x− at)| dx =

∫R|u′0(x)| dx = V T (u0).

Nous allons chercher des schemas numeriques qui preservent ces deux proprietes.

3.1.2 Resolution de l’equation de transport a coefficients constants

3.1.3 Approximation par DF

Le principe de la methode consiste a calculer une approximation uni de la solutionexacte u de (1) au point x = i∆x, t = n∆t. En utilisant des developpement de taylor,on a par exemple :

∆t∂u

∂t(x, t) = u(x, t+∆t)− u(x, t) +O(∆t2),

2∆x∂u

∂x(x, t) = u(x+∆x, t)− u(x−∆x, t) +O(∆x3).

On en deduit un premier schema numerique :

un+1i = uni − a

∆t

2∆x(uni+1 − uni−1), i ∈ Z. (1)

Il s’agit d’un schema explicite a savoir si on connait la suite (un) on en deduit lasuite (un+1) de facon explicite. On dit aussi que le schema est centre en espace carla formule qui approche la derivee partielle ∂u

∂x(x, t) fait intervenir les points j− 1 et

j + 1.

Etude de la stabilite au sens de la norme l2

Pour etudier la stabilite on introduit la fonction en escalier vn definie par

vn(x) = vni pour (i− 1

2)∆x < x < (i+

1

2)∆x.

Le produit scalaire sur L2 qui est

(u, v) =

∫Ru(x)v(x) dx

coincide avec le produit scalaire de l2 = (vj)j∈Z,∑

j |uj|2 < +∞ qui est

(u, v) = h∑j

ujvj.

Par consequent l2 est isomorphe au sous espace de L2 des fonctions constantes parmorceaux : la fonction vn peut etre assimilee a la suite (vni )i∈Z.

3.1 Equation de transport 21

Definition 3.1.1 On dira que le schema numerique (1) est stable au sens de lanorme l2 si

||vn||L2(R) ≤ C ∀n ≥ 0

avec C constante independante de n.

Proposition 3.1.1 Le schema numerique (1) est inconditionnement instable ausens de la norme l2.

Preuve : pour une fonction de u ∈ L2 on peut considerer sa transformee de Fourier

F(u)(ζ) =

∫Ru(x)exp(−ixζ)dx.

On rappelle que pour toute fonction u ∈ L2,

F(τq(u))(ζ) = exp(iqζ)F(u)(ζ)

ou τq(u) = u(x+ q).Le schema en variable de Fourier s’ecrit alors

F(vn+1)(ζ) = A(ζ)F(vn)(ζ)

ou A(ζ) s’appelle le coefficient d’amplification et vaut

A(ζ) = 1− ia∆t

∆xsin(∆xζ).

Alors F(vn)(ζ) = (A(ζ))nF(v0)(ζ). Si sin(∆xζ) 6= 0 alors |A(ζ)| > 1 donc le schemaest numeriquement instable car ||vn||L2 = ||F(vn)||L2 → ∞ quand n tend versl’infini.

Etude d’un schema implicite

A la place du schema (1) on considere le schema implicite centre

un+1i = uni − a

∆t

2∆x(un+1

i+1 − un+1i−1 ), i ∈ Z. (2)

On parle de schema implicite car il faut resoudre un systeme lineaire pour obtenirla suite (un+1) a partir de (un).

Proposition 3.1.2 Le schema numerique (2) est stable au sens de la norme l2.

Proposition 3.1.3 Le schema numerique (2) est consistant avec l’equation de trans-port (1) et est d’ordre 2 en espace et un en temps.

La preuve des deux propositions est laissee au lecteur.

22 Approximation de problemes hyperboliques par la methode des differences finies

3.2 D’autres schemas explicites, schema saute-mouton

3.2.1 Notion de CFL

Introduisons maintenant d’autres schemas :– des schemas explicites : si a < 0 on decentre en aval

un+1i = uni − a

∆t

∆x(uni+1 − uni ), i ∈ Z. (3)

– si a > 0 on decentre en amont

un+1i = uni − a

∆t

∆x(uni − uni−1), i ∈ Z. (4)

– le schema saute-mouton :

un+1i = un−1

i − a∆t

∆x(uni+1 − uni−1), i ∈ Z. (5)

Proposition 3.2.1 Les schemas numeriques (3) et (4) sont stables au sens de lanorme l∞ sous la condition CFL (Courant Friedrichs-Lax)

|a|∆t∆x

≤ 1.

Ils sont consistants avec l’equation de transport d’ordre 1 en temps et espace.

Preuve : pour le schema (3) : on a

un+1i = uni (1 + a

∆t

∆x)− a

∆t

∆xuni+1

|un+1i | ≤ |uni |(1 + a

∆t

∆x| − a

∆t

∆x|uni+1|.

d’ou

|un+1i | ≤ ||un||l∞ .

Ainsi

||un||l∞ ≤ ||u0||l∞ = C.

Proposition 3.2.2 Le schema numerique saute-mouton (5) est consistant avec l’equationde transport d’ordre 2 en temps et espace. Il est stable au sens de la norme l2 sousla condition CFL (Courant Friedrichs-Lax)

|a|∆t∆x

≤ 1.

3.3 Equation des ondes 23

Preuve : pour la stabilite :En variables de Fourier le schema s’ecrit(

F(vn+1)(ζ)F(vn)(ζ)

)=

(−2ia∆t

∆xsin(∆xζ) 11 0

)(F(vn)(ζ)F(vn−1)(ζ)

).

Sous la condition CFL les valeurs propres de la matrice est

λ1 = −ia∆t∆x

sin(∆xζ) +

√1− a2

∆t2

∆x2sin2(∆xζ)

λ2 = −ia∆t∆x

sin(∆xζ)−√

1− a2∆t2

∆x2sin2(∆xζ)

Comme |λ1| = |λ2| = 1 donc la puissance nieme de la matrice est donc bornee. (An estbornee si et seulement si son rayon spectral ρ(A) ≤ 1, ρ(A) = max|λk|, λkvaleur propre de A).

3.3 Equation des ondes

3.3.1 Formule de d’Alembert

On s’interesse ici a l’approximation de l’equation des ondes :1c2

∂2u∂t2

− ∂2u∂x2 = f(x, t), ∀x ∈ R, t > 0,

u(x, t = 0) = u0(x), ∀x ∈ R,∂u∂x(x, t = 0) = u1(x), ∀x ∈ R.

Dans tout ce qui suit, on suppose que les donnees initiales sont a support compact

u0(x) = u1(x) = 0∀|x| ≥ L.

Theoreme 3.3.1 La solution du probleme est donnee par la formule de d’Alembert

u(x, t) =u0(x+ ct) + u0(x− ct)

2+

1

2c

∫ x+ct

x−ct

u1(s) ds+1

2c

∫ t

0

∫|y−x|≤c(t−s)

f(y, s)dy ds.

Remarque 3.3.1 Cette formule montre en particulier que la solution du problemede Cauchy (ie f = 0) se decompose sous la forme

u(x, t) = u+(x, t) + u−(x, t)

ou– u+(x, t) = f(x− ct) correspond a une onde qui se propage dans la direction desx > 0,

– u−(x, t) = g(x+ ct) correspond a une onde qui se propage dans la direction desx < 0.

24 Approximation de problemes hyperboliques par la methode des differences finies

Preuve du theoreme : on se restreint au cas f = 0, si ce n’est pas le cas lademonstration reste semblalble mais plus technique. L’idee est d’utiliser la relation∂2t − c2∂2x = (∂t − c∂x)(∂t + c∂x) c’est a dire voir l’equation des ondes comme deuxequations de transport se propageant en sens inverse, et d’introduire des variablesqui permettent d’integrer directement :

∂ξ ⇐⇒ ∂t + c∂x et ∂η ⇐⇒ ∂t − c∂x

c’est a dire

ξ = x+ ct

η = x− ct

et

U(ξ, η) = u(x, t).

On a donc

x =ξ + η

2,

t =ξ − η

2c,

et

∂ξU = ∂xu∂ξx+ ∂tu∂ξt =1

2c(∂t + c∂x)u,

∂ηU = ∂xu∂ηx+ ∂tu∂ηt = − 1

2c(∂t − c∂x)u.

L’equation des ondes se reecrit

∂2ξηU(ξ, η) = 0. (∗)

Les conditions initiales en t = 0 deviennent en ξ = η

U(ξ, ξ) = u0(ξ),

∂ηU(ξ, ξ)− ∂ξU(ξ, ξ) = −u1(ξ)c

.

En integrant (∗) respectivement par rapport a ξ puis η on obtient :

(i) ∂ηU(ξ, η) = G(η),

(ii) ∂ξU(ξ, η) = F (ξ)

et la deuxieme condition initiale devient

G(ξ)− F (ξ) = −u1(ξ)c

.

3.3 Equation des ondes 25

Integrons (i) par rapport a η entre η0 = ξ et η :

U(ξ, η)− U(ξ, ξ) =

∫ η

ξ

G(s) ds

ce qui se reecrit avec la CL

U(ξ, η)− u0(ξ) =

∫ η

ξ

G(s) ds.

De meme, on integre (ii) par rapport a ξ entre ξ0 = η et ξ

U(ξ, η)− U(η, η) = −∫ ξ

η

F (s) ds

donc

U(ξ, η)− u0(η) = −∫ η

ξ

F (s) ds

et en sommant on a

2U(ξ, η) = u0(ξ) + u0(η) +

∫ ξ

η

u1(s)

cds

ce qui donne la formule de d’Alembert.

Exercice 3.3.1 On rappelle que la transformee de Fourier en espace de f est

F(f)(k) = f(k) =1√2π

∫f(x)e−ikx dx

et la transformee de Fourier inverse

f(x) =1√2π

∫f(k)eikx dk.

1. Montrer que la transformee de la solution de l’equation des ondes a l’expressionsuivante :

u(k, t) = u0(k)cos(ckt) + u1(k)sin(ckt)

ck.

2. Montrer que

F(τx0f)(k) = e−ikx0 f(k)

avec τx0f(x) = f(x− x0)

F(f ∗ g)(k) =√2πf(k)g(k).

26 Approximation de problemes hyperboliques par la methode des differences finies

3. Montrer que

1√2π

F−1(cos(ckt) =1

2(δ(x− ct) + δ(x+ ct))

(on rappelle que δ = 1√2π) et

H(k) =1

i√2πvp(

1

k) +

√π

ou H est la fonction d’Heaviside et vp( 1k) la valeur principale de 1

kdefinie par :

< vp(1

k), ϕ >= limε→0

∫|x|>ε

ϕ(k)

kdk.

En deduire que

F(H(x− x0)−H(x+ x0))(k) = −√

2

π

sin(kx0)

k.

4. Conclure

3.3.2 Cone de dependance et propagation a vitesse finie

D’apres la formule de d’Alembert, on voit que pour calculer la solution au pointM = (x, t) on n’a besoin des conditions initiales et du second membre seulementdans le cone de sommet M et de base [A,B] avec A = (x− ct, 0) et B = (x+ ct, 0)appele cone de dependance D(M). On en deduit une propriete essentielle des ondesqui est leur propagation a vitesse finie. En effet, si on se donne f a support dansK = [a, b] en x et les conditions initiales u0 et u1 a support dans K, la solution esta support dans [a− ct, b+ ct].

3.3.3 Regularite du probleme de Cauchy f = 0

D’apres la formule de d’Alembert, on voit que si u0 ∈ Ck+1(R) et u1 ∈ Ck(R)alors u(., t) ∈ Ck(R). Autrement dit, dans l’equation des ondes, ∂tu et c∂xu sont dememe nature, et si on suppose que (∂tu(0), c∂xu(0)) ∈ Ck(R) × Ck(R) alors on a(∂tu(., t), c∂xu(., t)) ∈ Ck(R) × Ck(R). On dit que l’equation des ondes conserve laregularite, et ceci est une caracteristique de la famille des equations hyperboliqueslineaires. Les equations paraboliques (equation de la chaleur) regularisent : memepour une donnee non reguliere, la solution est reguliere pour t > 0. Les equations hy-perboliques non lineaires peuvent introduire des singularites, meme pour des donneestres regulieres (equations de Burgers et chocs).

3.3 Equation des ondes 27

3.3.4 Regularite de la solution avec un terme source

Si on compare aux problemes elliptiques, type Laplacien, il est naturel de sedemander si on gagne deux crans de regularite en passant de f a u ? La reponse engeneral est non... On va voir qu’on ne gagne qu’un cran de regularite. On n’obtientpas facilement d’informations a partir de la formule explicite de la solution, maisplutot a partir de son expression en Fourier. On peut montrer que la solution duprobleme source verifie

u(k, t) =

∫ t

0

sin(ck(t− s))

ckf(k, s) ds

ce qui implique

c∂u

∂x(k, t) = i

∫ t

0

sin(ck(t− s))f(k, s) ds

∂u

∂t(k, t) =

∫ t

0

cos(ck(t− s))f(k, s) ds

Par Cauchy-Schwarz on obtient alors :

|c∂u∂x

(k, t)|2 ≤ t

∫ t

0

|f(k, s)|2 ds,

|∂u∂t

(k, t)|2 ≤ t

∫ t

0

|f(k, s)|2 ds.

Finalement Plancherel nous permet de conclure :

||c∂u∂x

||2L2(t) ≤ t

∫ t

0

∫R|f(k, s)|2 dx ds,

||∂u∂t

||2L2(t) ≤ t

∫ t

0

∫R|f(k, s)|2 dx ds

ce qui montre que

f ∈ L2loc(R+, L2(R)) =⇒ u ∈ L∞(R+, H1(R)) ∩W 1,∞(R+, L2(R)).

3.3.5 Conservation de l’energie-Unicite

On definit l’energie par

E(t) =1

2

∫R(|∂u∂t

|2 + |∂u∂x

|2) dx.

28 Approximation de problemes hyperboliques par la methode des differences finies

Exercice 3.3.2 1- En absence de terme source (f = 0), montrer qu’il y a conser-vation de l’energie, i.e.

E(t) = E(0) =1

2||u1||2 +

1

2||∂u0∂x

||2, ∀t > 0.

On pourra montrer ce resultat de deux facons. La premiere facon consiste a partir del’equation des ondes, a la multiplier par ∂tu et a integrer par parties. La deuxiemedemonstration se fait directement a partir de la formule de d’Alembert.2- En deduire l’unicite de la solution.3- On rajoute maintenant un terme source f ∈ L2(R). Montrer que, a tout instant,l’energie reste bornee :

E(t)1/2 ≤ E(0)1/2 + C

∫ t

0

||f ||(s) ds.

3.3.6 Approximation par DF

Exercice 3.3.3 On s’interesse a l’approximation de l’equation des ondes 1D :

∂2u

∂t2− ∂2u

∂x2= 0, x ∈ R, t > 0, (1).

On considere pour (1) le schema numerique :

un+1h − 2unh + un−1

h

∆t2+ Aα

hunh = 0

avec

Aαhuh(x) = −αu(x+ h)− 2u(x) + u(x− h)

h2−(1−α)u(x+ 2h)− 2u(x) + u(x− 2h)

4h2, α ∈ R.

1. Montrer que pour toute fonction u suffisamment reguliere, on a

u(x+ h)− 2u(x) + u(x− h)

h2=d2u

dx2(x) +

h2

12

d4u

dx4(x) +O(h4).

2. En deduire α tel que pour toute fonction u suffisamment reguliere

Aαhuh(x) = −d

2u

dx2(x) +O(h4).

On notera α0 cette valeur de α.

3. Determiner le symbole de Aαhuh(x), c’est a dire la fonction Aα

h telle que :

F(Aαhu)(ζ) = Aα

hFu(ζ).

(on exprimera Aαh uniquement a l’aide de sin2(ζh/2) et on rappelle que

F(τqhuh)(ζ) = eiqζhuh(ζ),

avec (τqhuh)(x) = uh(x+ qh)).

3.4 Exercices 29

4. Par la methode de Fourier, montrer que la condition de stabilite L2 pour leschema numerique pour α = α0 est

h≤

√3

2.

(on montrera que un+1h (ζ) + (∆t2Aα0

h (ζ) − 2)unh(ζ) + un−1h (ζ) = 0 et Aα0

h (ζ) ≤4α0∆t2

h2 .)

3.4 Exercices

Exercice 3.4.1 Soit le schema de Lax-Friedrichs pour l’equation de transport

vn+1i =

vni−1 + vni+1

2− a

∆t

2∆x(vni+1 − vni−1).

1. Montrer que ce schema est consistant et donne l’ordre.

2. Sous la CFL

|a|∆t∆x

≤ 1

montrer que le schema est stable au sens de la norme L2.

3. Montrer que le schema verifie le principe de maximum discret

infj∈Zv0j ≤ vni ≤ maxj∈Zv

0j .

.

4. Montrer alors que la variation totale de la solution numerique

V T n =∑j∈Z

|vnj − vnj−1|

est decroissante.

Exercice 3.4.2 Equation de convectionOn se propose de resoudre numeriquement l’equation de convection avec conditionsde periodicite au bord

∂u∂t

+ V ∂u∂x

= 0 pour tout (x, t) ∈ [a, b]×]0, T ]u(t = 0, x) = u0(x) pour tout x ∈ Ru(t, a) = u(t, b) pour tout t ∈ R+

(3.1)

On prendra a = −10, b = 10.a. Quelle est la solution exacte de cette equation ?b. Implementer le schema explicite centre de l’equation d’advection. Verifier qu’ilest inconditionnellement instable.

30 Approximation de problemes hyperboliques par la methode des differences finies

c. Rendre le schema precedent L2 stable en utilisant une version implicite du schema(utiliser les fonctions lufact etlusolve(splu,b) pour resoudre le systeme lineaire).On comparera la solution obtenue avec la solution exacte pour tout temps.d. Implementer les schemas explicites decentres amont et aval. Etudier stabilite etconvergence.e. Meme questions pour les schemas de Lax-Friedrichs et Lax-Wendroff. Comparerle comportement de ces deux derniers schemas lorsque la condition initiale est uncreneau.

Conseils de programmation : Scilab est optimise pour effectuer rapidement desoperations sur les matrices et vecteurs. Il est donc fortement conseille d’effectuervos operations directement sur les vecteurs et non sur les elements de ces vecteurs.Ainsi, il est beaucoup plus rapide (et clair) d’effectuer sous Scilab

u=v+w;

pour additionner les deux vecteurs v et w, que d’effectuer une boucle explicite

for i=1:size(v,’c’)

u(i)=v(i)+w(i);

end

De meme, il vaut mieux effectuer l’operation

u(2:10)=v(1:9);

que

for i=1:9

u(i+1)=v(i);

end

pour decaler un vecteur sur la droite. En particulier, pour le travail demande ici,seule la boucle sur la variable en temps est necessaire.

Exercice 3.4.3 (Simulations numeriques) On considere le probleme de convectionet diffusion :

∂u

∂t(x, t) + a

∂u

∂x(x, t)− µ

∂2u

∂x2(x, t) = 0 ∀x ∈ R, t ≤ 0, u(x, 0) = u0(x).

On prend a = 1 et CFL = 0.6 Le temps physique de la simulation est T = 0.2s Onajoute les conditions aux limites vn0 = vn1 , v

nN+1 = vnN de type Neumann ; comme le

domaine est non borne pour faire des calculs sur ordinateur, on se donne un domainede calcul par ex ici Ω = [0, 1] et on ajoute des conditions aux limites qui laissentsortir les ondes du domaine de calcul. Programmer en matlab ou scilab les schemas

3.4 Exercices 31

implicite, saute mouton Lax-Friedrichs et decentre pour les deux conditions initialessuivantes

v0(x) =

0 si x < 0.375

16sin(4π x−0.3750.25

) (x−0.375)2(x−0.625)2

0.254si 0.375 ≤ x ≤ 0.625

0 si x > 0.625

v0(x) =

1 si x < 0.50 si x > 0.5

Exercice 3.4.4 En vous inspirant du script du schema decentre amont programmerle schema de Lax-Wendroff

vn+1i = vni − V

∆t

2∆x(vni+1 − vni−1) + V 2 ∆t2

2∆x2(vni+1 − 2vni + vni−1)

avec les donnees :dx = 0.1 ; // dx = pas d’espaceV = 70 ; // vitesse de convectioncfl = 0.9 ; // cfldt = dx*cfl/V ; // dt = pas de tempsTfinal=0.5 ; // Temps final souhaitelg=10 ; // Demi-longeur du domaine

nx = 2*lg/dx+1 ; // nx = nombre de noeudsnt = int(Tfinal/dt) ; // nt = nombre de pas de temps effectues.

Tfinal=nt*dt ; // Temps final.

//// initialisation//

x=linspace(-lg,lg,nx) ;

f0=creneau ;//f0=bosse ;

Partie theorique:

1. Montrer que le schema est consistant a l’ordre 2.

2. Calculer le coefficient d’amplification et montrer que A(ξ); ξ ∈ R est uneellipse dont les axes principaux sont horizontaux et verticaux. Calculer A(0),

32 Approximation de problemes hyperboliques par la methode des differences finies

A(π2) et A(3π

2) et en deduire que le schema est stable pour la norme L2 ssi

a∆t

∆x≤ 1.

Chapitre 4

Approximation d’un problemeparabolique par la methode desdifferences finies

4.1 Probleme modele

On considere le probleme modele

∂u

∂t(x, t)− α

∂2u

∂x2(x, t) = f(x, t) ∀x ∈ Ω =]0, 1[, t ≥ 0 (1)

avec les conditions aux limites homogenes de Dirichlet

u(0, t) = u(1, t) = 0, ∀t ≥ 0,

et la condition initiale u(x, 0) = g(x) ∀x ∈ Ω. On suppose α > 0.

4.2 Schema de Crank et Nicholson

4.2.1 Etablissement du schema

Soit un entier N definissons le pas d’espace ∆x = 1N+1

. On considere le schemale plus utilise, le schema de Crank et Nicholson :

un+1j = unj + α

∆t

2∆x2(unj+1 − 2unj + unj−1)

+α∆t

2∆x2(un+1

j+1 − 2un+1j + un+1

j−1 ) + ∆tfnj 1 ≤ j ≤ N, ∀n ≥ 0

un0 = unN+1 = 0, ∀n ≥ 0

etu0j = gj = g(xj), 0 ≤ j ≤ N + 1.

34 Approximation d’un probleme parabolique par la methode des differences finies

4.2.2 Etude theorique du schema de Crank et Nicholson : stabilite, con-sistance

Proposition 4.2.1 Le schema numerique de Crank et Nicholson est stable au sensde la norme l2 et consistant avec (1) d’ordre 2 en temps et espace.

Preuve :Etude de la consistance : on a

u(j∆x, (n+ 1)∆t)− u(j∆x, n∆t)

∆t− α

2∆x2[u((j+1)∆x, n∆t)−2u(j∆x, n∆t)−u((j−1)∆x, n∆t)

+u((j + 1)∆x, (n+ 1)∆t)− 2u(j∆x, (n+ 1)∆t)− u((j − 1)∆x, (n+ 1)∆t)] =

u(j∆x, (n+ 1)∆t)− u(j∆x, n∆t)

∆t−α2[∂2u

∂x2(j∆x, n∆t)+

∂2u

∂x2(j∆x, (n+1)∆t)]+O(∆x2).

D’autre part,

u(j∆x, (n+ 1)∆t)− u(j∆x, n∆t)

∆t=∂u

∂t(j∆x, n∆t) +O(∆t)

et∂u

∂t(j∆x, (n+

1

2)∆t) =

∂u

∂t(j∆x, n∆t) +

∆t

2

∂2u

∂t2(j∆x, n∆t) +O(∆t2)

d’ou

u(j∆x, (n+ 1)∆t)− u(j∆x, n∆t)

∆t=∂u

∂t(j∆x, (n+

1

2)∆t) +O(∆t2).

Avec l’estimation

1

2[∂2u

∂x2(j∆x, n∆t) +

∂2u

∂x2(j∆x, (n+ 1)∆t)] =

∂2u

∂x2(j∆x, (n+

1

2)∆t) +O(∆t2)

on a le resultat

u(j∆x, (n+ 1)∆t)− u(j∆x, n∆t)

∆t− α

2∆x2[u((j+1)∆x, n∆t)−2u(j∆x, n∆t)−u((j−1)∆x, n∆t)

+u((j + 1)∆x, (n+ 1)∆t)− 2u(j∆x, (n+ 1)∆t)− u((j − 1)∆x, (n+ 1)∆t)] =

∂u

∂t(j∆x, (n+

1

2)∆t)− α

∂2u

∂x2(j∆x, (n+

1

2)∆t+O(∆x2 +∆t2).

Etude de la stabilite :Le schema de Crank et Nicholson peut aussi s’ecrire sous la forme

Un+1 = ∆fF n + Un − α∆tA(Un+1 + Un

2)

4.2 Schema de Crank et Nicholson 35

avec

A =1

h2

2 −1

−1. . . . . .. . . . . . −1

−1 2

.

Ainsi si on prend F = 0

Un+1 = (I +α∆t

2A)−n(I − α∆

2A)nU0.

Or les valeurs propres de

(I +α∆t

2A)−1(I − α∆

2A)

sont les reels2− α∆tλk2 + α∆tλk

, 1 ≤ k ≤ N

avec

λk = 21

∆x[1− cos(

N + 1)], 1 ≤ k ≤ N.

Les λk sont les valeurs propres de A.

Exercice 4.2.1 On considere le probleme

∂u

∂t− α

∂2u

∂x2= f(x, t), x ∈ R, t ≥ 0,

avec α > 0 et la donnee initiale u(x, 0) = u0(x). On considere le schema numeriquede DF

un+1j+1 − unj∆t

+unj − unj−1

∆x− α

unj+1 − 2unj + unj−1

∆x2= f(j∆x, n∆t), j ∈ Z, n ∈ N.

1. Calculer en variable de Fourier le schema numerique.

2. Calculer le coefficient d’amplification et etudier la stabilite L2 du schema.

3. Quelle est la precison du schema.

Exercice 4.2.21 Equation de la chaleur - Schema explicite

3 On se propose de resoudre numeriquement l’equation de la chaleur∂u∂t

− ν ∂2u∂x2 = 0 pour tout (x, t) ∈ R×]0, T ]

u(t = 0, x) = u0(x) pour tout x ∈ R. (4.1)

36 Approximation d’un probleme parabolique par la methode des differences finies

On rappelle que la solution exacte de cette equation est connue et que

u(x, t) =1√4πνt

∫ ∞

−∞u0(y) exp

(−(x− y)2

4νt

)dy. (4.2)

a. Ecrire un script scilab qui calcul numeriquement la solution de l’equation (4.1)a l’aide d’un schema explicite centre d’ordre 2. Afin de tester la methode, on pourrachoisir

u0(x) = max(0, 1− x2),

ν = 1 et T = 1. Bien entendu, il est impossible d’utiliser la methode des differencesfinies sur R tout entier. On se restreindra donc a un “gros” domaine, par exemple]− 10, 10[ et on imposera les conditions u(10, t) = u(−10, t) = 0 pour tout temps t.A chaque iteration en temps (ou toutes les p iterations), on visualisera la solutionobtenue.b. Verifier numeriquement que la condition CFL

2ν∆t ≤ (∆x)2

est necessaire et suffisante pour assurer la stabilite du schema.c. Calculer numeriquement la solution exacte donnee par (4.2) au temps finalt = T . Verifier visuellement la convergence de la solution calculee par la methodedes differences finies vers la solution exacte en superposant sur un meme graphiqueles deux solutions obtenue pour t = T .

2 Equation de la chaleur - Schema ImpliciteLe schema explicite precedent a le desavantage de necessiter l’usage de pas de tempsd’autant plus petits que la discretisation en espace est fine. Afin de circonvenir a ceprobleme, une solution consiste a utiliser le schema implicite centre.Reprendre toutes les questions precedentes avec le schema implicite centre. Verifieren particulier la stabilite du schema meme lorsque la condition CFL du schema ex-plicite n’est pas verifiee.Conseils de programmation : La matrice du systeme introduit est creuse. Cetteparticularite doit absolument etre exploitee. Elle permet d’economiser de manieredrastique capacites en temps de calcul et memoire. Pour la construction de la ma-trice, utiliser spzeros, speye et l’operateur colon. Pour la resolution du systemelineaire, utiliser la factorisation de Cholesky chfact(A) et chsolve

Chapitre 5

Approximation d’un problemeelliptique par la methode desvolumes finis

5.1 Probleme modele, maillage volumes finis

On considere le probleme suivant

−u′′(x) = f(x), ]0, 1[ (1)

u(0 = u(1) = 0, (2).

Definition 5.1.1 On appelle maillage volume finis de l’intervalle [0, 1] un ensemblede N mailles (Ki)i=1,N telles que Ki =]xi−1/2, xi+1/2[, avec x1/2 = 0 < x3/2 < ... <xi−1/2 < xi+1/2 < ... < xN+1/2 = 1, et on note hi = xi+1/2 − xi−1/2. On se donneegalement N points (xi)i=1,N situes dans les mailles Ki. On a donc

0 = x1/2 < x1 < x3/2 < ... < xi−1/2 < xi < xi+1/2 < ... < xN+1/2 = 1.

On notera hi+1/2 = xi+1 − xi, et h = maxi=1,Nhi+1/2 et pour des questions denotations on posera egalement x0 = 0 et xN+1 = 1.

5.2 Schema volumes finis et notion de Flux numerique

On integre l’equation (1) sur Ki, et on obtient :

−u′(xi+1/2) + u′(xi−1/2) =

∫Ki

f(x) d x.

On pose

fi =1

hi

∫Ki

f(x) d x.

38 Approximation d’un probleme elliptique par la methode des volumes finis

On introduit les variables discretes (ui)i=1,N , une par maille qui devraient etre debonne approximations de u(xi).

On a le schema numerique :

Fi+1/2 − Fi−1/2 = hifi, i = 1, N,

ou Fi+1/2 appele le flux numerique en xi+1/2 devrait etre une bonne approximationde −u′(xi+1/2).

Le principe de la methode des volumes finis est d’arriver a ecrire les flux numeriquesen fonctions des variables discretes (ui).

On pose alors

Fi+1/2 = −ui+1 − uihi+1/2

, i = 1, N

etF1/2 = − u1

h1/2FN+1/2 = − uN

hN+1/2

pour tenir compte des conditions aux limites de Dirichlet homogenes. On peut aussiecrire :

Fi+1/2 = −ui+1 − uihi+1/2

, i = 0, N + 1

en posant u0 = uN+1 = 0.On peut ecrire le schema sous forme matricielle

AU = b

avec U = (u1, ...uN), bi = fi, ı = 1, N et

A =

1h1( 1h1/2

− 1h3/2

) − 1h1

1h3/2

. . .1h2

1h3/2

1h2( 1h3/2

− 1h5/2

) − 1h2

1h5/2

. . . . . .

− 1hi

1hi−1/2

1hi( 1hi−1/2

− 1hi+1/2

) − 1hi

1hi+1/2

. . . . . .

. . . 1hN

1hN−1/2

1hN

( 1hN−1/2

− 1hN+1/2

)

5.3 Analyse mathematique du schema

Proposition 5.3.1 Si f ∈ C([0, 1]) et la solution exacte u ∈ C2([0, 1]) alors leschema volume finis (3) a une unqiue solution (ui).

5.3 Analyse mathematique du schema 39

Preuve : Avec fi = 0, le schema peut s’ecrire

−ui+1 − uihi+1/2

+ui − ui−1

hi−1/2

i = 1, N

avec u0 = uN+1 = 0. En multipliant par ui et en sommant de i = 1, N on obtient

N∑i=1

−ui+1 − uihi+1/2

+N∑i=1

ui − ui−1

hi−1/2

= 0.

En effectuant un changement d’indice sur la deuxieme somme, on obtient :

N∑i=1

−ui+1 − uihi+1/2

+

,∑i=0

N − 1ui+1 − uihi+1/2

= 0.

En regroupant les termes , on a donc

N∑i=1

((ui+1 − ui)

2

hi+1/2

+u21h1/2

+u2N

hN+1/2

= 0.

Ceci demontre l’unicite de (ui) et donc l’existence puisque le systeme est carred’ordre N . On rappelle qu’une matrice A est inversible ssi son noyau est reduit auvecteur nul.

Lemme 5.3.1 (Consistance des Flux) Soit u ∈ C2([0, 1]) solution de l’equation(1). On note F i+1/2 = −u′(xi+1/2) le flux exact en xi+1/2 et F ?

i+1/2 = −ui+1−ui

hi+1/2le

quotient diffrentiel qui approche la derivee premiere −u′(xi+1/2). On dit que le fluxest consistant s’il existe une constante C ∈ R+ ne dependant que de u telle quel’erreur de consistance sur le flux definie par

Ri+1/2 = F i+1/2 − F ?i+1/2,

verifie|Ri+1/2| ≤ Ch.

Preuve : utiliser des developpements de Taylor.

Definition 5.3.1 (Conservativite des flux) On dit que le schema est conservatifsi lorsque l’on considere une interface xi+1/2 entre les 2 mailles Ki et ki+1 le fluxentrant est egal au flux sortant.

Theoreme 5.3.1 Soit u ∈ C2([0, 1]) solution de l’equation (1). On pose ei = u(xi)−ui, i = 1, N et e0 = eN+1 = 0. Il existe C ≥ 0 ne dependant que de u telle que

1.N∑i=1

(ui+1 − ui)2

h≤ Ch2

40 Approximation d’un probleme elliptique par la methode des volumes finis

2.N∑i=1

e2i ≤ Ch

3.maxi=1,N |ei| ≤ Ch.

Preuve : Ecrivons le schema volumes finis :

Fi+1/2 − Fi−1/2 = hifi

et l’equation exacte integree sur la maille Ki

F i+1/2 − F i−1/2 = hifi.

En les soustrayant on a :

F i+1/2 − Fi+1/2 − F i−1/2 + Fi−1/2 = 0.

D’ouF ?i+1/2 − Fi+1/2 − F ?

i−1/2 + Fi−1/2 = −Ri+1/2 +Ri−1/2.

ou encore

− 1

hi+1/2

(ei+1 − ei) +1

hi−1/2

(ei − ei−1) = −Ri+1/2 +Ri−1/2.

On multiplie par ei et on somme de 1 a N :

N∑i=1

− 1

hi+1/2

(ei+1 − ei)ei +N∑i=1

+1

hi−1/2

(ei − ei−1)ei =N∑i=1

−Ri+1/2ei +N∑i=1

−Ri−1/2ei,

soit

N∑i=1

− 1

hi+1/2

(ei+1−ei)ei+N−1∑i=0

+1

hi+1/2

(ei+1−ei)ei+1 =N∑i=1

−Ri+1/2ei+N−1∑i=0

Ri+1/2ei+1.

En reordonnant les termes, on obtient

N∑i=0

(ei+1 − ei)2

hi+1/2

=N∑i=0

Ri+1/2(ei+1 − ei).

Or Ri+1/2 ≤ Ch donc :

N∑i=0

(ei+1 − ei)2

hi+1/2

≤ ChN∑i=0

(ei+1 − ei)√hi+1/2

√hi+1/2

5.4 Exercices 41

et par l’inegalite de Cauchy-Schwarz

N∑i=0

(ei+1 − ei)2

hi+1/2

≤ Ch(N∑i=0

(ei+1 − ei)2

hi+1/2

)1/2(N∑i=0

hi+1/2)1/2.

Or∑N

i=0 hi+1/2)1/2 = 1, on en deduit que :

N∑i=0

(ei+1 − ei)2

hi+1/2

≤ Ch(N∑i=0

(ei+1 − ei)2

hi+1/2

)1/2,

et donc

(N∑i=0

(ei+1 − ei)2

hi+1/2

)1/2 ≤ Ch.

Pour 3) :

|ei| = |i∑

j=1

ej − ej−1| ≤N∑j=0

|ej − ej−1|.

Donc par CS

|ei| ≤ (N∑j=0

(ej − ej−1)2

hj+1/2

)1/2(N∑j=0

hj+1/2)1/2

d’ou 3), et 2) s’en deduit immediatement.

5.4 Exercices

Exercice 5.4.1 On considere le probleme

−u′′(x) = f(x), ]0, 1[ (1)

u(0 = a, u(1) = b, (2).

Ecrire les schemas differences finis et volumes finis avec un pas constant en donnantla matrice et le second membre.

Exercice 5.4.2 On s’interesse au conditionnement pour la norme euclidienne de lamatrice issue d’une discretisation par Differences Finies du probl‘eme aux limitessuivant :

−u′′(x) + u(x) = f(x), x ∈]0, 1[, u(0) = u(1) = 0.(1)

Soit N ∈ N. On note U = (uj) j = 1...N une valeur approchee de la solution udu probleme (1) aux points j

N+1, j = 1...N . On rappelle que la discretisation par

differences finies de ce probl‘eme consiste a chercher U comme solution du systemelineaire AU = f( j

N+1), j = 1...N ou la matrice A ∈ MN(R) est definie par A =

(N + 1)2B + Id, Id designe la matrice identite et

42 Approximation d’un probleme elliptique par la methode des volumes finis

B =

2 −1 0 . . . 0

−1 2 −1. . .

0. . . . . . . . . 0. . . −1 2 −1

0 . . . 0 −1 2

1. ( Valeurs propres de la matrice B.) On rappelle que le probleme aux valeurs

propres−u′′(x) = λu(x), x ∈]0, 1[, u(0) = u(1) = 0.(2)

admet la famille (λk, uk), k ∈ N∗, λk = (kπ)2 et uk(x) = sin(kπx) commesolution. Montrer que les vecteurs Uk = uk(

jN+1

) j = 1...N sont des vecteurspropres de la matrice B. En deduire toutes les valeurs propres de la matrice B.

2. En deduire les valeurs propres de la matrice A.

3. En deduire le conditionnement pour la norme euclidienne de la matrice A.

Exercice 5.4.3 (Non consistance des volumes finis) Montrer que la discretisationde l’operateur −u′′ par le schema volumes finis nest pas toujours consistante au sensdes differences finies, i.e. que l’erreur de consistance definie par

Ri =1

hi[

1

hi+1/2

(u(xi+1)− u(xi)) +1

hi−1/2

(u(xi)− u(xi−1))]− u′′(xi)

ne tend pas toujours vers 0 lorsque h tend vers 0.

5.5 Annexe I : Memento Scilab

Scilab peut-etre utilise directement en tapant les commandes en ligne, soit par l’in-termediaire de fichier de fonctions (.sci) et de scripts (.sce), c’est a dire de listesde commandes executables. La syntaxe de Scilab est tres proche de Matlab. Pourconnaıtre la fonction d’une commande Scilab, taper help suivi du nom de la com-mande. Par exemple

help help;

La commande apropos permet de rechercher les occurrences d’un mot dans l’aidede Scilab. Enfin, rappelons qu’une commande suivie d’un point virgule desactivesa sortie texte. Quelques commandes utiles (consulter l’aide de scilab pour plus dedetails)

Commandes diversesexec(’toto.sce’) - Execute le script toto.sce

5.6 Annexe II : une petite bibliotheque en scilab 43

getf(’fonctions.sci’) - Charge dans l’environnement Scilab les fonctions definiespar le fichier fonctions.scihalt() - Effectue une pause jusqu’a l’activation du claviermodulo(r,s) - Calcul le r modulo sfor ... end- Declaration d’une boucle. exemple :

for i=1:nx

u[i]=i;

endclear - Supprime les variables precedemment definiesexit - Pour quitter Scilab

Operations sur les vecteurs et matriceslinspace(x1,x2 ,n) - Creation d’un vecteur colonne aux valeurs equireparties: - Operateur d’extraction de sous-matrices et sous-vecteurs. exemple :

u(1:10)=v(5:15)

Copie le vecteur (v5, . . . , v15) dans le vecteur(u1, . . . , u15).

spzeros(n,p) - Creation d’une matrice creuse nulle de taille n× p.speye(n,n) - Creation d’une matrice identite creuse de taille n× n.spcho=chfact(A) - Factorisation de Cholesky de la matrice creuse Achsolve(spcho,b) - Calcul A−1b, ou spcho=chfact(A)

splu = lufact(A) - Factorisation LU de la matrice creuse Alusolve(splu,b) - Calcul A−1b, ou splu=lufact(A)

Commandes graphiquesxinit() - Creation d’une nouvelle fenetre graphiquexdel() - Suppression d’un fenetre graphiquexbasc() - Rafraıchit la fenetre graphiqueplotframe - Creation d’un cadre dans la fenetre graphique, exemple :

plotframe([0,1,0,1],[4,2,4,2],’’titre’’)

cree un systeme de coordonnees dans le carre unite munidu titre titre.

plot2d - Pour affiche une ou plusieurs courbes. exemple : plot2d(x,y,1,"000")xtitle - Definit le titre du graphique. exemple : xtitle(‘‘titre’’)

5.6 Annexe II : une petite bibliotheque en scilab

function us=shift(typ,u)//decale le tableau u de +1 ou -1//avec condition aux limites de Dirichletselect typcase ’+1’ then //shift +1

44 Approximation d’un probleme elliptique par la methode des volumes finis

[m,n] = size(u);us(1 :n-1) = u(2 :n) ;us(n) = 0. ;case ’-1’ then //shift -1[m,n] = size(u);us(2 :n) = u(1 :n-1) ;us(1) = 0. ; elseerror(’shift de +1 ou -1 ?’)end ;endfunction ;

function us=shiftp(typ,u)//decale le tableau u de +1 ou -1//avec condition aux limites periodiquesselect typcase ’+1’ then //shift +1[m,n] = size(u);us(1 :n-1) = u(2 :n) ;us(n) = u(1) ;case ’-1’ then //shift -1[m,n] = size(u);us(2 :n) = u(1 :n-1) ;us(1) = u(n) ;elseerror(’shift de +1 ou -1 ?’)end ;endfunction ;

function us=shift2d(typ,u)//decale le tableau u de +1 ou -1//dans les directions nord, sud, est, ouest//avec condition aux limites de Dirichletselect typcase ’n’ then //shift nord[m,n] = size(u);us(1 :m,1 :n-1) = u(1 :m,2 :n) ;us(1 :m,n) = 0. ;case ’s’ then //shift sud[m,n] = size(u);us(1 :m,2 :n) = u(1 :m,1 :n-1) ;us(1 :m,1) = 0. ;case ’e’ then //shift est

5.6 Annexe II : une petite bibliotheque en scilab 45

[m,n] = size(u);us(1 :m-1,1 :n) = u(2 :m,1 :n) ;us(m,1 :n) = 0. ;case ’o’ then //shift ouest[m,n] = size(u);us(2 :m,1 :n) = u(1 :m-1,1 :n) ;us(1,1 :n) = 0. ;elseerror(’shift nord, sud, est, ouest ?’)end ;endfunction ;

function y=creneau(x)y = (abs(x) < 3) ∗ 2− 1;endfunction ;

function y=bosse(x)y = max(0., 1.− x ∗ ∗2);endfunction ;

function y=noyau(x,t)y = exp(−x ∗ ∗2/(4 ∗ t))/sqrt(4 ∗ pi ∗ t);endfunction ;

function y=phase(x,lg)y = x− 2 ∗ lg ∗ int((x− lg)/(2 ∗ lg));endfunction ;

function f=source(x,y)f = (50 ∗ (((x− 0.5) ∗ ∗2)′ ∗ ones(y) + ones(x)′ ∗ ((y − 0.5) ∗ ∗2)) < 1) ∗ 5;endfunction ;

46 Approximation d’un probleme elliptique par la methode des volumes finis

Bibliographie

[1] P. G. Ciarlet, Introduction a l’analyse numerique et matricielle, Masson,1988.

[2] P. G. Ciarlet, The finite element method for elliptic problem, North Holland,1978.

[3] G. Allaire, S. M. Kaber , Algebre lineaire numerique, Ellipses, 2002.

[4] G. Allaire, S. M. Kaber , Introduction a Scilab, Exercices pratiques corrigesd’algebre lineaire, Ellipses, 2002.

[5] P. A. Raviart, Introduction a l’analyse numerique des equations aux deriveespartielles, Masson, 1992.

[6] A. Le Pourhiet, Resolution des equations aux derivees partielles, CepaduesEditions, 1988.

[7] B. Lucquin, O. Pironneau, Introduction au calcul scientifique, Masson,1996.

[8] S. Nicaise Analyse numerique et equations aux derivees partielles, Dunod,2000.

[9] L. Sainsaulieu, Calcul Scientifique,Masson, 1996.

[10] J. Rappaz, M. Picasso, Introduction a l’analyse numerique, Presses poly-techniques et unversitaires romandes, 1998.

[11] C. Zuily, Problemes de distributions, Hermann, 1978.