100% ont trouvé ce document utile (1 vote)
77 vues2 pages

Schéma de Crank-Nicholson et équation de chaleur

Ce document présente plusieurs schémas aux différences finies pour résoudre l'équation de la chaleur, notamment les schémas d'Euler explicite et implicite, de Crank-Nicholson, DuFort-Frankel et de Gear. Il contient également des exercices sur la consistance du schéma de Crank-Nicholson et sur l'intégration par parties discrète.

Transféré par

eran
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
100% ont trouvé ce document utile (1 vote)
77 vues2 pages

Schéma de Crank-Nicholson et équation de chaleur

Ce document présente plusieurs schémas aux différences finies pour résoudre l'équation de la chaleur, notamment les schémas d'Euler explicite et implicite, de Crank-Nicholson, DuFort-Frankel et de Gear. Il contient également des exercices sur la consistance du schéma de Crank-Nicholson et sur l'intégration par parties discrète.

Transféré par

eran
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Université de Nice Sophia-Antipolis

Master 1 MASS/MATH - Analyse Numérique - Année 2006/2007

Schémas aux différences finies pour l’équation de la chaleur


Considérons l’équation de la chaleur en un dimension d’espace dans l’intervalle [ 0, 1 ] :
2

 ∂u − ∂ u = 0, ∀(x, t) ∈ (0, 1) × + ,

∂t ∂x2 ∗

u(x, 0) = u0 (x), ∀x ∈ (0, 1).

On discrétise le domaine en utilisant un maillage régulier (t n , xj ) = (n∆t, j∆x), ∀n ≥ 0, j ∈


{0, 1, ..., N + 1} où ∆x = 1/(N + 1) et ∆t > 0.
On définit unj := u(x − j, tn ).
On prend comme conditions aux limites des conditions de Dirichlet homogènes : u(0, t) =
u(1, t) = 0, ∀t ∈ + ∗ .
Pour les érudits (et eux seuls) : pour respecter la propriété intellectuelle, certains schémas
portent le nom de leurs auteurs présumés, par exemple :
– Schéma d’Euler explicite

un+1
j − unj unj+1 − 2unj + unj−1
− = 0.
∆t ∆x2
– Schéma d’Euler implicite

un+1
j − unj un+1 n+1
j+1 − 2uj + un+1
j−1
− = 0.
∆t ∆x2
– Schéma de Crank-Nicholson
un+1
j − unj unj+1 − 2unj + unj−1 un+1 n+1
j+1 − 2uj + un+1
j−1
− 2
− 2
= 0.
∆t 2∆x 2∆x
– Le θ schéma
un+1
j − unj unj+1 − 2unj + unj−1 un+1 n+1
j+1 − 2uj + un+1
j−1
−θ − (1 − θ) = 0.
∆t ∆x2 ∆x2
– Schéma de DuFort-Frankel
un+1
j − ujn−1 unj+1 − un+1
j − ujn−1 + unj−1
− = 0.
2∆t ∆x2
– Schéma de Gear
3un+1
j − 4unj + ujn−1 un+1 n+1
j+1 − 2uj + un+1
j−1
− = 0.
2∆t ∆x2
Soit U k := (uk0 , . . . , ukN +1 )t

Exercice 1.
Ecrire sous forme matricielle (c’est-à-dire sous la forme SU n+1 = T U n en précisant les ma-
trices S et T ) les schémas ci-dessus.
Lesquels sont implicites ?

1
Exercice 2.
Etude de la consistance du schéma de Crank-Nicholson.
– Ecrire le développement limité de u(x j ± ∆x, t) au voisinage du point (xj ,t) à l’ordre 4.
– En déduire une expression de

∂2u unj+1 − 2unj + unj−1


(xj , tn ) −
∂x2 ∆x2
– Ecrire le développement limité de u(x, t n+1 ) au voisinage du point (x,tn ) à l’ordre 2.
– En déduire une expression de

∂u un+1
j − unj
(xj , tn ) −
∂t ∆t
– ”Recoller les morceaux” et conclure.

On note δ+ (resp δ− ) l’application qui à une suite v associe la suite w définie par :
pour tout n dans (resp ∗ ), w(n) := v(n + 1) − v(n) (resp w(n) := v(n) − v(n − 1))
(dérivations discrètes).
On note S (comme Somme) l’application qui à une suite v associe la suite p définie par :
p(0) = v(0) et, pour tout n dans ∗ , p(n) := v(0) + . . . + v(n) ( intégration discrète).

Exercice 3.
Intégration “ par parties” discrète avec une “application”
Vérifier que, pour toutes les suites f et g on a l’identité
N
X N
X
Sg(k)(f (k + 1) − f (k)) = Sg(N )f (N + 1) − Sg(0)f (0) − g(k)f (k)
k=0 k=0

autrement écrit :

Sg(0)(f (1)−f (0))+. . .+Sg(N )(f (N +1)−f (N )) = Sg(N )f (N +1)−Sg(0)f (0)−[g(0)f (0)+. . .+g(N )f (N )]

ce qu’on peut encore noter

< g, f >N N
0 = Sg(N )f (N + 1) − Sg(0)f (0)− < Sg, δ + f >0

Soit A l’application qui à une suite v associe la suite q définie par :


q(0) := 2v(0) − v(1) et pour tout n dans ∗ , q(n) = −v(n − 1) + 2v(n) − v(n + 1)
Soit une suite f telle que f (N + 1) = 0.
– Calculer SAf (n) pour n compris entre 0 et N.
– En déduire que, si f (0) = 0 alors < Af, f > N0 =< δ+ f, δ+ f >0
N

Vous aimerez peut-être aussi