Exemple: Utilisation des différences finies
d'ordre 2
1. Contexte - Exemple traité
Soit à résoudre l'équation différentielle:
Et ce, dans le cadre des trois jeux de conditions aux limites,
de type Dirichlet (D), Neumann (N) ou mixtes (M):
Afin d'illustrer la
procédure générale,
on se focalise ici sur la résolution du problème
sur 8 points de collocation x
i
équirépartis sur
l'intervalle.
En clair, on aura ici
x
0 = x
A = -1 ,
x
7 = x
B = +1 et
conséquemment
x
i = x
0 + i.h (pour
i = 0,...,7), avec h = (x
B
- x
A) / 7 = 2 / 7.
2. Discrétisation de l'équation
différentielle
2.1. Utilisation des stencils pour construire
les matrices de dérivation étendues
Sur trois points équidistants (espacés d'un pas h),
les
matrices
de dérivation liant trois valeurs nodales consécutives
{y
i-1,
y
i,
y
i+1}
et leurs
dérivées nodales (première et seconde)
sont:
Ces stencils de base vont servir à construire les matrices
de dérivation étendues
d 2(1) et
d 2(2):
Sachant qu'une meilleure approximation est
généralement obtenue via un polynôme
d'interpolation centré, on utilise celle-ci
autant que possible.
Ainsi, la dérivé première
en x
i est, dès que possible,
déduite de la relation
y'
i
= (1/2h).(-1.y
i-1
+0.y
i
+1.y
i-1) donnée par l'application de la
matrice
D 2(1) au (sous-)vecteur
(y
i-1,
y
i,
y
i+1).
Ce n'est qu'au voisinage des frontières qu'il faut recourir
aux approximations décentrées.
Pour cet exemple, cela signifie que
y'
0
= (1/2h).(-3.y
0
+4.y
1
-1.y
2) (déduit de la première ligne
du système resultant de l'application de
D 2(1) au (sous-)vecteur
[y
0,
y
1,
y
2].
De même, la dernière ligne du système
résultant de l'application de
D 2(1) au (sous-)vecteur
[y
5,
y
6,
y
7]
implique
y
7'
= (1/2h).(1.y
5
-4.y
6
+3.y
7).
En regroupant toutes ces relations, on obtient la
matrice de dérivation (première)
étendue
d 2(1):
En procédant de manière identique
vis-à-vis des dérivées secondes,
à l'aide de
D 2(2),
on construit
d 2(2):
2.2. Construction de l'opérateur
différentiel L
Les éléments de l'opérateur différentiel
sont ici simplement:
L
ij =
d
2 ij(2) +
2 d
2 ij(1) -
3 d
ij(0)
Où, pour mémoire,
d(0) n'est
rien d'autre que la matrice identité.
Au final, la version discrétisée de
l'équation différentielle
L.
y = 
S
est donc:
3. Prise en compte des conditions aux limites
Imposer les conditions aux limites du problème
aux noeuds x
0 et x
7
impose de réécrire les première et dernière
lignes du système discrédisé.
3.1. Conditions aux limites de type Dirichlet
Les valeurs nodales y
0
= y(x
A) = Y
A
et y
7
= y(x
B) = Y
B
sont connues, ce qui permet de réécrire
le système reduit aux seules valeurs nodales inconnues:
3.2. Conditions aux limites de type Neumann
Seules les valeurs des dérivées aux frontières
sont connues:
y'(x
A) = Y'
A
et
y'(x
B) = Y'
B.
D'après
D 2(1),
appliqué au (sous-)vecteurs
[y
0,
y
1,
y
2] et
[y
5,
y
6,
y
7], on déduit les relations à satisfaire
aux frontières:
Et le système linéaire devient donc:
3.3. Conditions aux limites mixtes
On dispose des relations aux frontières:
C
A y(x
A)
+ y'(x
A) = K
A
et
C
B y(x
B)
+ y'(x
B) = K
B ,
où C
A, K
A,
C
B et K
B sont des constantes connues.
En utilisant (comme pour le cas Neumann décrit ci-dessus)
D 2(1) pour exprimer
les valeurs de y'
0 et
y'
7 en fonction des valeurs nodales voisines,
on obtient les relations:
Et le système linéaire devient alors:
4. Remarques et autres compléments
-
Document
récapitulatif (fichier PDF,5 pages, 53k) de cet exemple,
illustrant également la procédure pour un traitement
du problème
à l'ordre 4.
- Les systèmes linéaires obtenus dans les cas de
conditions aux limites de type Neumann et mixte sont quasi-tridiagonaux:
les première et dernière lignes contiennent trois termes.
On peut facilement les mettre sous forme tridiagonale
(en particulier si l'on souhaite utiliser un solver
spécifique à ce type de systèmes)
en se débarassant des termes offensants par
élimination Gaussienne.
Pour l'exemple ci-dessus, il faudrait ainsi ajouter
(-L 0 2 / L 1 2 =) 7/63
fois la deuxième ligne de L à la première
et de même ajouter
(-L 7 5 / L 6 5 =) -7/35
fois l'avant-dernière ligne à la dernière
(et ne pas oublier de faire subir ces mêmes transformations
aux second membre).
-
L'extension de ces procédures à un nombre plus important
de points de collocation est immédiate.
-
La discrétisation (et résolution) du
problème pour des jeux de points de collocation
non-équidistants suit exactement le même chemin,
le seul petit travail supplémentaire concernant
l'emploi de stencils (et
matrices de
dérivations correspondantes) variant celon
la valeur nodale autour de laquelle on les applique.