Professional Documents
Culture Documents
Fiche6 MDF ENSAM-C
Fiche6 MDF ENSAM-C
FICHE 6 :
METHODE DES DIFFERENCES FINIES
La méthode des différences finies (MDF) est une méthode de résolution numérique des problèmes aux limites,
tout comme les méthodes des volumes finis et des éléments finis, ainsi que diverses approches sans maillage.
Utilisée pour la première fois par Euler en 1768 en dimension une, puis généralisée au cas 2D par Runge en 1908,
la MDF est, depuis, largement utilisée en physique numérique (pour les géométries simples). Sa popularité
provient, certainement, de sa simplicité mathématique et sa mise en œuvre informatique. Néanmoins, son
manque de flexibilité pour les géométries complexes a entravé son implémentation dans l’industrie. En effet, la
majorité des codes de calculs commerciaux utilisés en pratique, sont basés sur la méthode des éléments finis qui
sera étudiée en 4ième année.
A- APPLICATIONS
Pour mettre en évidence la méthode des différences finies, on traite quelques problèmes aux limites classiques
sous formes d’applications :
où, les 𝑎, 𝑏, 𝛼 et 𝛽 sont des réels, 𝑝(𝑥), 𝑞(𝑥) et 𝑓(𝑥) sont des fonctions données.
Soit (𝑥𝑖 )0≤𝑖≤𝑁+1 une famille de nœuds sur le domaine [𝑎, 𝑏]. On pose, 𝑥0 = 𝑎 ,𝑥𝑁+1 = 𝑏 et pour tout
𝑖 ∈ ⟦0, 𝑁⟧, ℎ𝑖 = 𝑥𝑖+1 − 𝑥𝑖 . Pour simplifier la présentation, on suppose que les nœuds sont équirépartis ce qui
revient à dire que les ℎ𝑖 sont une constante unique pour tout 𝑖 ∈ ⟦0, 𝑁⟧ qu’on note ℎ. On a :
𝑏−𝑎
ℎ=
{ 𝑁+1
𝑥0 = 𝑎 𝑥𝑖−1 𝑥𝑖 𝑥𝑖+1 𝑥𝑁+1 = 𝑏
∀𝑖 ∈ ⟦0, 𝑁 + 1⟧, 𝑥𝑖 = 𝑎 + 𝑖ℎ
Dans cette étape, on réécrit le problème (1) sur la grille de l’étape 1, ce qui nous permet d’obtenir le problème
L'idée de base de la MDF est de remplacer les dérivés par des différences finies (schémas aux différences). Cela
peut se faire de plusieurs manières,
Par la suite, on rappelle quelques formules aux différences et leurs ordres de précision :
1
𝑓 ′ (𝑥𝑖 ) = [−3𝑓(𝑥𝑖 ) + 4𝑓(𝑥𝑖+1 ) − 𝑓(𝑥𝑖+2 )] + 𝑂(ℎ2 )
2ℎ
1
= [𝑓(𝑥𝑖+1 ) − 𝑓(𝑥𝑖−1 )] + 𝑂(ℎ2 ). (3)
2ℎ
1
𝑓 ′ (𝑥𝑖 ) = [𝑓 − 8𝑓𝑖−1 + 8𝑓𝑖+1 − 𝑓𝑖+2 ] + 𝑂(ℎ4 ).
12ℎ 𝑖−2
1
𝑓 ′ (𝑥𝑖 ) = [−25𝑓𝑖 + 48𝑓𝑖+1 − 36𝑓𝑖+2 + 16𝑓𝑖+3 − 3𝑓𝑖+4 ] + 𝑂(ℎ4 ).
12ℎ
1
𝑓 (3) (𝑥𝑖 ) = [𝑓 − 3𝑓𝑖+2 + 3𝑓𝑖+1 − 𝑓𝑖 ] + 𝑂(ℎ)
ℎ3 𝑖+3
1
= 3 [𝑓𝑖+2 − 2𝑓𝑖+1 + 2𝑓𝑖−1 − 𝑓𝑖−2 ] + 𝑂(ℎ2 )
2ℎ
1
𝑓 (4) (𝑥𝑖 ) = [𝑓 − 4𝑓𝑖+3 + 6𝑓𝑖+2 − 4𝑓𝑖+1 + 𝑓𝑖 ] + 𝑂(ℎ)
ℎ4 𝑖+4
1
= 4 [𝑓𝑖+2 − 4𝑓𝑖+1 + 6𝑓𝑖 − 4𝑓𝑖−1 + 𝑓𝑖−2 ] + 𝑂(ℎ2 )
ℎ
On peut approcher l’ensemble des 𝑁 équations de la formule (2) en y remplaçant la dérivée seconde par la
formule aux différences (4) et la dérivée première par la formule aux différences (3). Ce qui nous permet d’obtenir
le nouveau système discret suivant :
1 𝑝(𝑥𝑖 )
(𝑦(𝑥𝑖+1 ) − 2𝑦(𝑥𝑖 ) + 𝑦(𝑥𝑖−1 )) + (𝑦(𝑥𝑖+1 ) − 𝑦(𝑥𝑖−1 )) + 𝑞(𝑥𝑖 )𝑦(𝑥𝑖 ) = 𝑓(𝑥𝑖 ), ∀𝑖 ∈ ⟦1, 𝑁⟧,
{ℎ 2 2ℎ
𝑦(𝑥0 ) = 𝛼 et 𝑦(𝑥𝑁+1 ) = 𝛽.
Soit,
ℎ ℎ
(1 − 𝑝(𝑥𝑖 )) 𝑦(𝑥𝑖−1 ) + (ℎ2 𝑞(𝑥𝑖 ) − 2)𝑦(𝑥𝑖 ) + (1 + 𝑝(𝑥𝑖 )) 𝑦(𝑥𝑖+1 ) = ℎ2 𝑓(𝑥𝑖 ), ∀𝑖 ∈ ⟦1, 𝑁⟧,
{ 2 2 (5)
𝑦(𝑥0 ) = 𝛼 et 𝑦(𝑥𝑁+1 ) = 𝛽.
ℎ 𝛼 ℎ
(1 − 𝑝(𝑥1 )) 𝑦⏞0 + (ℎ2 𝑞(𝑥1 ) − 2)𝑦1 + (1 + 𝑝(𝑥1 )) 𝑦2 = ℎ2 𝑓(𝑥1 ),
2 2
ℎ ℎ
(1 − 𝑝(𝑥2 )) 𝑦1 + (ℎ2 𝑞(𝑥2 ) − 2)𝑦2 + (1 + 𝑝(𝑥2 )) 𝑦3 = ℎ2 𝑓(𝑥2 ),
2 2
ℎ ℎ
(1 − 𝑝(𝑥3 )) 𝑦2 + (ℎ2 𝑞(𝑥3 ) − 2)𝑦3 + (1 + 𝑝(𝑥3 )) 𝑦4 = ℎ2 𝑓(𝑥3 ),
2 2
⋮
ℎ ℎ
(1 − 𝑝(𝑥𝑁 )) 𝑦𝑁−1 + (ℎ2 𝑞(𝑥𝑁 ) − 2)𝑦𝑁 + (1 + 𝑝(𝑥𝑁 )) 𝑦⏟ 2
𝑁+1 = ℎ 𝑓(𝑥𝑁 ),
{ 2 2
𝛽
𝐴𝑌 = 𝑏, (6)
Où :
Le système linéaire (6) admet une solution unique si et seulement si le déterminant de sa matrice 𝐴 est non nul.
Si on pose :
On démontre que le déterminant de 𝐴 , det(𝐴) = 𝐷𝑁 , est calculé moyennant la relation récurrente suivante :
𝐷0 = 1
𝐷1 = ℎ2 𝑞(𝑥1 ) − 2
ℎ ℎ
𝐷𝑁 = (ℎ2 𝑞(𝑥𝑁 ) − 2)𝐷𝑁−1 − (1 − 𝑝(𝑥𝑁−1 )) (1 + 𝑝(𝑥𝑁−1 )) 𝐷𝑁−2
{ 2 2
Par ailleurs, nous avons le résultat suivant : Soient 𝑝, 𝑞 et 𝑓 sont des fonctions continues sur [𝑎, 𝑏]. Si 𝑞(𝑥) ≤ 0,
2
pour tout 𝑥 de [𝑎, 𝑏] alors le système tridiagonal (6) admet une solution unique pourvue que on a ℎ < 𝑀, où 𝑀 =
max |𝑝(𝑥)|.
𝑎≤𝑥≤𝑏
2- EQUATION DE LAPLACE EN 2D
où, Ω est un domaine de ℝ2 de frontière 𝜕Ω, 𝛼 un réel donné et 𝑓(𝑥) une fonction donnée.
Pour simplifier la présentation, on prend Ω = ]𝑎, 𝑏[ × ]𝑐, 𝑑[ où les 𝑎, 𝑏, 𝑐 et 𝑑 sont des réels donnés.
Pour cela, Soient 𝑁𝑥 (resp. ℎ𝑥 ) le nombre de nœuds (resp. le pas ) suivant l’axe des abscisses, 𝑁𝑦 (resp. ℎ𝑦 ) le
nombre des nœuds (resp. le pas) suivant l’axe des ordonnées.
16 15 14 13 12 11
𝑑
17 10
33 34 35 36
18 9
29 30 31 32
19 8
25 26 27 28
20 7
21 22 23 24
𝑐
1 2 3 4 5 6
𝑂 𝑎 𝑏
Figure 1 : Exemple de grille sur 𝛺 où 𝑁𝑥 = 6 et 𝑁𝑦 = 6
Pour la numérotation globale des nœuds : On distingue les nœuds internes des nœuds frontières. Si on opte pour
la numérotation définie sur la figure 1,
𝑏−𝑎
ℎ𝑥 = For 𝑗 = 1. . (𝑁𝑦 − 2)
{ 𝑁𝑥 − 1
∀𝑖 ∈ ⟦0, 𝑁𝑥 − 1⟧, 𝑥𝑖 = 𝑎 + 𝑖ℎ𝑥 For 𝑖 = 1. . (𝑁𝑥 − 2)
𝑑−𝑐 [ 𝑵𝑰𝒊,𝒋 = 𝑵𝒇 + (𝒋 − 𝟏)(𝑵𝒙 − 𝟐) + 𝒊
ℎ𝑦 =
{ 𝑁𝑦 − 1 End 𝑖
∀𝑖 ∈ ⟦0, 𝑁𝑦 − 1⟧, 𝑦𝑗 = 𝑐 + 𝑗ℎ𝑦 [ End 𝑗
La correspondance (𝑖, 𝑗) → (𝑥𝑖 , 𝑦𝑗 ) → 𝑁𝑖,𝑗 (frontière / interne) nous permet de proposer un deuxième algorithme
qui sert à bien définir le contenu de 𝑋 ; la table des coordonnées et l’extraction du système matriciel :
Dans cette étape, on réécrit le problème (7) sur la grille de l’étape 1, ce qui nous permet d’obtenir une première
version du problème discret comme suit :
𝜕2𝑢 𝜕2𝑢
(𝑥 𝑖 , 𝑦𝑗 ) + (𝑥 , 𝑦 ) = 𝑓(𝑥𝑖 , 𝑦𝑗 ), ∀ (𝑖, 𝑗) ∈ ⟦1, 𝑁𝑥 − 1⟧ × ⟦1, 𝑁𝑦 − 1⟧,
{𝜕𝑥 2 𝜕𝑦 2 𝑖 𝑗 (8)
𝑢(𝑥𝑖 , 𝑦𝑗 ) = 𝛼, 𝑖 = 0 ou 𝑖 = 𝑁𝑥 ou 𝑗 = 0 ou 𝑗 = 𝑁𝑦 .
Si on pose 𝑢𝑖,𝑗 = 𝑢(𝑥𝑖 , 𝑦𝑗 ) et 𝑓𝑖,𝑗 = 𝑓(𝑥𝑖 , 𝑦𝑗 ), alors moyennant la numérotation globale et la correspondance
(𝑖, 𝑗) → (𝑥𝑖 , 𝑦𝑗 ) → 𝑁𝑖,𝑗 , le problème (8) nous permet d’obtenir une deuxième version du problème discret
comme suit :
𝜕 2 𝑢𝑁𝐼𝑖,𝑗 𝜕 2 𝑢𝑁𝐼𝑖,𝑗
{ 𝜕𝑥 2 + = 𝑓𝑁𝑖,𝑗 , ∀ 𝑁𝐼𝑖,𝑗 ∈ ⟦𝑁𝑓, 𝑁𝑥 × 𝑁𝑦 ⟧, (9)
𝜕𝑦 2
𝑢𝑘 = 𝛼, ∀ 𝑘 ∈ ⟦1, 𝑁𝑓⟧. .
On peut approcher l’ensemble des 𝑁𝑥 × 𝑁𝑦 équations du problème (8) (ou du problème (9)) en y remplaçant les
dérivées partielles secondes par la formule aux différences (4) suivant les deux directions comme suit :
1 1 1 1 1 1
2 𝑢𝑖−1,𝑗 + 2 𝑢𝑖+1,𝑗 − 2 ( 2 + 2 ) 𝑢𝑖,𝑗 + 2 𝑢𝑖,𝑗−1 + 2 𝑢𝑖,𝑗+1 = 𝑓𝑖,𝑗 , ∀
(𝑖, 𝑗) ∈ ⟦1, 𝑁𝑥 − 1⟧ × ⟦1, 𝑁𝑦 − 1⟧
ℎ𝑥 ℎ𝑥 ℎ𝑥 ℎ𝑦 ℎ𝑦 ℎ𝑦
{ 𝑢𝑖,𝑗 = 𝛼, 𝑖 = 0 ou 𝑖 = 𝑁𝑥 ou 𝑗 = 0 ou 𝑗 = 𝑁𝑦 .
(12)
Si on note 𝑈 le vecteur qui contient les approximations aux nœuds de la solution exacte 𝑢: Ω → ℝ, alors 𝑈 est
défini par 𝑈𝑁𝑖,𝑗 = 𝑢𝑖,𝑗 ≈ 𝑢(𝑥𝑖 , 𝑦𝑗 ). On note 𝐹 le vecteur second membre défini par 𝐹𝑁𝑖,𝑗 = 𝑓𝑖,𝑗 = 𝑓(𝑥𝑖 , 𝑦𝑗 ) alors
une nouvelle version du problème (12) s’écrit comme suit :
1 1 1 1 1 1
2 𝑈𝑁(𝑖−1),𝑗 + 2 𝑈𝑁(𝑖+1),𝑗 −2 ( 2 + 2 ) 𝑈𝑁𝑖,𝑗 + 2 𝑈𝑁𝑖,(𝑗−1) + 2 𝑈𝑁𝑖,(𝑗+1) = 𝐹𝑁𝑖,𝑗 , ∀ 𝑁𝑖,𝑗 ∈ ⟦1, (𝑁𝑥 × 𝑁𝑦 )⟧
ℎ⏟
𝑥 ℎ⏟
𝑥 ⏟ ℎ𝑥 ℎ𝑦 ℎ⏟
𝑦 ℎ⏟
𝑦
𝑏 𝑏 𝑎 𝑐 𝑐
(13)
𝐴𝑈 = 𝐹
Où,
et
On démontre que la matrice symétrique 𝐴 est définie positive donc inversible. Par conséquent la solution
approchée existe et elle est unique.
3- EQUATION DE LA CHALEUR EN 1D
4- EQUATION D’ONDE
B- EXERCICES
En utilisant la méthode des différences finies et l’intégration numérique, trouver une solution
approchée de ce modèle.