286
8 Approximation numérique des problèmes aux limites
N
j=1
du j
dt
(t)
b
a
ϕ j ϕ i dx + μ
N
j=1
u j (t)
b
a
dϕ j
dx
dϕ i
dx
dx =
=
b
a
f(t)ϕ i dx,
i = 1, . . ., N.
En utilisant les mêmes notations qu’en (8.37), on obtient
M
du
dt
(t) + A fe u(t) = f fe (t),
(8.43)
où (A fe ) ij = μ
b
a
dϕj
dx
dϕi
dx dx, (f fe (t)) i =
b
a
f(t)ϕ i dx et M ij = (
b
a
ϕ j ϕ i dx)
pour i, j = 1, . . . , N. La matrice M est appelée matrice de masse. Comme
elle est inversible, le système d’équations différentielles ordinaires (8.43)
peut s’écrire sous forme normale
du
dt
(t) = −M
−1 A fe u(t) + M
−1
f fe (t).
(8.44)
Pour résoudre (8.43) de manière approchée, on peut à nouveau appliquer
le θ-schéma
M
u
k+1
− u
k
Δt
+ A fe
θu
k+1 + (1 − θ)u
k
= θf
k+1
fe
+ (1 − θ)f
k
fe . (8.45)
Comme d’habitude, l’exposant k indique que la quantité considérée est
calculée au temps t
k = kΔt, où Δt > 0 est le pas de temps. Comme avec
les différences finies, en prenant θ = 0, 1 et 1/2, on obtient respectivement
les schémas d’Euler explicite, implicite et de Crank-Nicolson. Ce dernier
est le seul à être d’ordre 2 en Δt.
Pour chaque k, (8.45) est un système linéaire de matrice
K =
1
Δt
M + θA fe .
Comme les matrices M et A fe sont symétriques définies positives, la
matrice K l’est aussi. De plus, K est indépendante de k et peut donc être
factorisée une fois pour toute en t = 0. Dans le cas monodimensionnel
considéré, cette factorisation est basée sur la méthode de Thomas (voir
Section 5.6) et nécessite un nombre d’opérations proportionnel à N .
Dans le cas multidimensionnel, on effectuera plutôt une factorisation
de Cholesky K = R
T R, où R est une matrice triangulaire supérieure
(voir (5.16)). Par conséquent, à chaque pas de temps, on doit résoudre
les deux systèmes linéaires triangulaires de taille N suivants
⎧
⎨
⎩
R
T
y =
1
Δt
M − (1 − θ)A fe
u
k + θf
k+1
fe
+ (1 − θ)f
k
fe ,
Ru
k+1 = y.
8 Approximation numérique des problèmes aux limites
N
j=1
du j
dt
(t)
b
a
ϕ j ϕ i dx + μ
N
j=1
u j (t)
b
a
dϕ j
dx
dϕ i
dx
dx =
=
b
a
f(t)ϕ i dx,
i = 1, . . ., N.
En utilisant les mêmes notations qu’en (8.37), on obtient
M
du
dt
(t) + A fe u(t) = f fe (t),
(8.43)
où (A fe ) ij = μ
b
a
dϕj
dx
dϕi
dx dx, (f fe (t)) i =
b
a
f(t)ϕ i dx et M ij = (
b
a
ϕ j ϕ i dx)
pour i, j = 1, . . . , N. La matrice M est appelée matrice de masse. Comme
elle est inversible, le système d’équations différentielles ordinaires (8.43)
peut s’écrire sous forme normale
du
dt
(t) = −M
−1 A fe u(t) + M
−1
f fe (t).
(8.44)
Pour résoudre (8.43) de manière approchée, on peut à nouveau appliquer
le θ-schéma
M
u
k+1
− u
k
Δt
+ A fe
θu
k+1 + (1 − θ)u
k
= θf
k+1
fe
+ (1 − θ)f
k
fe . (8.45)
Comme d’habitude, l’exposant k indique que la quantité considérée est
calculée au temps t
k = kΔt, où Δt > 0 est le pas de temps. Comme avec
les différences finies, en prenant θ = 0, 1 et 1/2, on obtient respectivement
les schémas d’Euler explicite, implicite et de Crank-Nicolson. Ce dernier
est le seul à être d’ordre 2 en Δt.
Pour chaque k, (8.45) est un système linéaire de matrice
K =
1
Δt
M + θA fe .
Comme les matrices M et A fe sont symétriques définies positives, la
matrice K l’est aussi. De plus, K est indépendante de k et peut donc être
factorisée une fois pour toute en t = 0. Dans le cas monodimensionnel
considéré, cette factorisation est basée sur la méthode de Thomas (voir
Section 5.6) et nécessite un nombre d’opérations proportionnel à N .
Dans le cas multidimensionnel, on effectuera plutôt une factorisation
de Cholesky K = R
T R, où R est une matrice triangulaire supérieure
(voir (5.16)). Par conséquent, à chaque pas de temps, on doit résoudre
les deux systèmes linéaires triangulaires de taille N suivants
⎧
⎨
⎩
R
T
y =
1
Δt
M − (1 − θ)A fe
u
k + θf
k+1
fe
+ (1 − θ)f
k
fe ,
Ru
k+1 = y.
