Université A.
Mira de BEJAIA
Faculté de Technologie, Département GE
Module UEF 1122
Année 2022/2023
Série de TD n°4
Exercice 1
On cherche à résoudre l’équation différentielle suivante à l’aide de la méthode des différences
finies :
2u ( x )
= 12 x 2 + e− x ….(*)
x 2
u ( x)
u ( 0 ) = 1, = 3.6321 (Condition de Neumann)
x x =1
1. Donnez le schéma numérique du problème en utilisant les différences centrées de
deuxième ordre pour l’approximation de la deuxième dérivée et le développement
régressif basé sur 3 points pour l’approximation de la première dérivée.
2. Réaliser une application numérique en prenant un pas h=0.2
Exercice 2
On cherche à discrétiser l’équation différentielle suivante à l’aide de la méthode des
différences finies :
2 u ( x, y ) 2 u ( x, y )
+ = 1 + e( x − y ) …(**)
x 2
xy
• Avec: u ( 0, y ) = u ( x,0) = u ( x,6) = 0 pour 0 x 1 et u (1, y ) = 10
u ( x, y )
• avec : u ( 0, y ) = u ( x,0) = u ( x,6) = 0 pour 0 x 1 et = 1 …(***)
x x =1
1. Donnez, pour chaque cas, le schéma numérique aux différences centrées de deuxième
ordre du problème (on prend le pas hx pour l’axe horizontal et hy pour l’axe vertical)
dans un point quelconque du domaine correspondant à la maille (i,j).
2. Réaliser une application numérique en prenant hx=0.25, hy=2.
Exercice 3
L’équation régissant la répartition de chaleur sur un fil conducteur de longueur 8cm en
fonction du temps est donnée par l’expression suivante :
( x, t ) 2 ( x, t )
=k
t x 2
Avec : ( 0, t ) = 100, (8, t ) = 50, ( x,0) = 0 pour tout 0<x<8
Résoudre le problème par la méthode des différences finies implicite et explicite.
Université A.Mira de BEJAIA
Faculté de Technologie, Département GE
Module UEF 1122
Année 2022/2023
Solution
Exo 1
Avant de résoudre l’équation différentielle donnée, il faut d’abord passer par les étapes
suivantes :
• Il faut déterminer le domaine d’étude et de définition de l’équation (la schématisation
peut vous aider dans la résolution) et ceci à partir des conditions aux limites.
u ( x)
Nous avons u(0) = 1 , donc nous avons la limite à (0) et = 3.6321 donc une
x x =1
limite pour x=1.
Ce qui nous donne un domaine x 0.1
Puisque nous avons une seule dimension (une seule variable x) donc le domaine est
donné sur une ligne rectiligne (une droite).
• La discrétisation du domaine :
Pour passer en numérique, la discrétisation s’impose avec un pas donné.
Dans la méthode des différences finies, le pas est généralement de l’ordre de
10−3 ,10−4 ,... , dans cet exercice, on essayera de dérouler la méthode en prenant un pas
arbitraire h, on aura donc k nœuds à définir.
• On schématise le domaine et on définit sur le schéma les conditions aux limites et les
numéros des nœuds.
x=(k-1)h
1 2 …… i i+1 …… k-2 k-1 k
x=h x=2h x=ih x=1=kh
u(0) = 1
Chaque nœud correspondant à l’abscisse ih, est numéroté (i) jusqu’à k=(1/h) et on aura donc
(k) nœuds au total.
1. L’approximation de la deuxième dérivée avec le schéma des différences centrées de
deuxième ordre utilise la relation suivante :
2u ( x ) u ( xi −1 ) + u ( xi +1 ) − 2u ( xi )
x x = x ( x )
2 2
i
On applique cette relation sur les nœuds du domaine au point (i), on aura :
Université A.Mira de BEJAIA
Faculté de Technologie, Département GE
Module UEF 1122
Année 2022/2023
u ( ( i − 1) h ) + u ( ( i + 1) h ) − 2u ( ih ) 1
= 12 ( ih ) + e−ih pour : i = 1 → k − 1, k =
2
2
h h
Pour le nœuds (k) et lorsque (x=1), on ne peut pas discrétiser l’équation car l’équation
n’est définie que sur le domaine x 0.1 et pour le point (x=1), on discrétise la
condition aux limites de Neumann où il est demandé d’utiliser le développement de
Taylor arrière (régressif) d’ordre 2 basé sur 3 points (xi ,xi-1, xi-2) :
Remarque : on ne peut pas utiliser le schéma centré car on est sur la limite à
droite
h2
u ( xi − h) = u ( xi ) − hu '( xi ) + u ''( xi ) + O(h 2 )
2
4h 2
u ( xi − 2h) = u ( xi ) − 2hu '( xi ) + u ''( xi ) + O '(h 2 )
2
u ( xi − 2h) − 4u ( xi − h) = −3u ( xi ) + 2hu '( xi ) + O ''(h 2 )
On aura donc :
u ( xi − 2h) − 4u ( xi − h) + 3u ( xi )
u '( xi ) =
2h
Donc au point x=1, on obtient les nouvelles expressions suivantes :
i = 1 → k − 1: u (ih) = 0.5 u ( (i − 1)h ) + u ( (i + 1)h ) − h 2 (12i 2 h 2 + e −ih )
1
i = k : u (1) = −u ( (k − 2)h ) + 4u ( (k − 1)h ) + 7.2642h
3
En utilisant la numérotation :
i = 1 → k − 1: ui = 0.5 ui −1 + ui +1 − h 2 (12i 2 h 2 + e −ih )
1 avec : u0 = 1 , condition aux limites
i = k : uk = −uk −2 + 4uk −1 + 7.2642h
3
2. Application numérique : h=0.2
Nous avons h=0.2, donc k=1/0.2=5
On trouve le système d’équations suivant qu’on peut résoudre avec les méthodes itératives
déjà étudiées.
i = 1: u (0.2) = 0.5u (0.4) + 0.474025 i = 1: u1 = 0.5u2 + 0.474025
i = 2 : u (0.4) = 0.5u (0.2) + 0.5u (0.6) − 0.0518064 i = 2 : u2 = 0.5u1 + 0.5u3 − 0.0518064
i = 3 : u (0.6) = 0.5u (0.4) + 0.5u (0.8) − 0.0973762 ou i = 3 : u3 = 0.5u2 + 0.5u4 − 0.0973762
i = 4 : u (0.8) = 0.5u (0.6) + 0.5u (1) − 0.16258658 i = 4 : u = 0.5u + 0.5u − 0.16258658
4 3 5
−1 4 −1 4
i = 5 : u (1) = 3 u (0.6) + 3 u (0.8) + 2.4214 i = 5 : u5 = u3 + u4 + 2.4214
3 3
Exo2
1. Pour les conditions de Dirichlet :
Université A.Mira de BEJAIA
Faculté de Technologie, Département GE
Module UEF 1122
Année 2022/2023
1 6
On pose : k x = , ky =
hx hy
Le nombre total de nœuds est (k x − 1)(k y − 1) et le numéro correspondant au nœud (i,j)
est donné par l’expression : n = ( j − 1)(k x − 1) + i
La discrétisation du problème posé donne le schéma numérique suivant :
i = 1 → kx − 1
Pour ,
j = 1 → ky −1
u ( ( i − 1) hx , jhy ) + u ( ( i + 1) hx , jhy ) − 2u ( ihx , jhy )
(**) +
hx2
u ( ( i + 1) hx , ( j + 1) hy ) + u ( ( i − 1) hx , ( j − 1) hy ) − u ( ( i − 1) hx , ( j + 1) hy ) − u ( ( i + 1) hx , ( j − 1) hy ) ( ihx − jhy )
= 1+ e
4hx hy
On trouvera donc la formule donnant :
1 y (
4h u ( i − 1) hx , jhy ) + 4hy u ( ( i + 1) hx , jhy ) + hxu ( ( i + 1) hx , ( j + 1) hy ) + hxu ( ( i − 1) hx , ( j − 1) hy )
u ( ihx , jhy ) =
(
8hy −hxu ( ( i + 1) hx , ( j − 1) hy ) − hxu ( ( i − 1) hx , ( j + 1) hy ) − 4hx 2 hy 1 + e(ihx − jhy ) )
i = 1 → kx − 1
Pour ,
j = 1 → ky −1
Application numérique :
Pour : hx = 0.25, hy = 2 , nous aurons : k x = 4, k y = 3
u ( 0.5, 2 ) + 0 − 2u ( 0.25, 2 ) u ( 0.5, 4 ) + 0 − 0 − 0
= 1 + e(
0.25 − 2 )
i = 1, j = 1, n = 1: +
( 0.25)
2
4 ( 0.25 )( 2 )
u ( 0.25, 2 ) + u ( 0.75, 2 ) − 2u ( 0.5, 2 ) u ( 0.75, 4 ) + 0 − u ( 0.25, 4 ) − 0
i = 2, j = 1, n = 2 : + = 1 + e( 0.5− 2)
( 0.25)
2
4 ( 0.25 )( 2 )
10 + u ( 0.5, 2 ) − 2u ( 0.75, 2 ) 10 + 0 − u ( 0.5, 4 ) − 10
= 1 + e(
0.75 − 2 )
i = 3, j = 1, n = 3 : +
( )
0.25
2
4 ( 0.25 )( 2 )
0 + u ( 0.5, 4 ) − 2u ( 0.25, 4 ) 0 + 0 − 0 − u ( 0.5, 2 )
i = 1, j = 2, n = 4 : + = 1 + e( 0.25 − 4)
( 0.25)
2
4 ( )( )
0.25 2
u ( 0.25, 4 ) + u ( 0.75, 4 ) − 2u ( 0.5, 4 ) 0 + u ( 0.25, 2 ) − 0 − u ( 0.75, 2 )
= 1 + e( )
0.5 − 4
i = 2, j = 2, n = 5 : +
( 0.25)
2
4 ( 0.25 )( 2 )
10 + u ( 0.5, 4 ) − 2u ( 0.75, 4 ) 10 + u ( 0.5, 2 ) − 0 − 10
= 1 + e(
0.75 − 4 )
i = 3, j = 2, n = 6 : +
( 0.25)
2
4 ( 0.25 )( 2 )
On peut vérifier par le schéma suivant :
Université A.Mira de BEJAIA
Faculté de Technologie, Département GE
Module UEF 1122
Année 2022/2023
U=0
(4) (5) (6)
4
U=0 U=10
(1) (2) (3)
2
0 0.25 0.5 0.75 1
U=0
Après simplification, on trouve le schéma discrétisé suivant qu’on peut résoudre avec les
méthodes itératives relaxées :
u (0.25, 2) = 0.5u (0.5, 2) + 0.015625u (0.5, 4) − 0.0366804
u (0.5, 2) = 0.5u (0.25, 2) + 0.5u (0.75, 2) + 0.015625u (0.75, 4) − 0.015625u (0.25, 4) − 0.0382228
u (0.75, 2) = 0.5u (0.5, 2) − 0.015625u (0.5, 4) + 4.959797
u (0.25, 4) = 0.5u (0.5, 4) − 0.015625u (0.5, 2) − 0.031985
u (0.5, 4) = 0.5u (0.25, 4) + 0.5u (0.75, 4) + 0.015625u (0.25, 2) − 0.015625u (0.75, 2) − 0.0321937
u (0.75, 4) = 0.5u (0.5, 4) + 0.015625u (0.5, 2) + 4.9675383
Sous une forme matricielle :
−0.0366804
u (0.25, 2) 0 0.5 0 0 0.015625 0 u (0.25, 2)
u (0.5, 2) 0.5 0 0.5 −0.015625 0 0.015625 u (0.5, 2) −0.0382228
4.959797
u (0.75, 2) 0 0.5 0 0 −0.015625 0 u (0.75, 2)
= + −0.031985
u (0.25, 4) 0 −0.015625 0 0 0.5 0 u (0.25, 4) −0.0321937
u (0.5, 4) 0.015625 0 −0.015625 0.5 0 0.5 u (0.5, 4)
4.9675383
u (0.75, 4) 0 0.015625 0 0 0.5 0 u (0.75, 4)
2. Dans le cas des conditions de Neumann pour x=1, les nœuds qui étaient définis dans la
question précédente (u=10) deviennent des inconnues dans cette question comme
montré sur le schéma suivant, ce qui nous donnera pour cet exemple un nombre de
nœuds total égal à : k x (k y − 1) + 2
U=0
(10)
(6) (7) (8)
4 (9)
(2) (3) (4)
2 (5)
(1)
U=0 0 0.25 0.5 0.75 1
U=0
Université A.Mira de BEJAIA
Faculté de Technologie, Département GE
Module UEF 1122
Année 2022/2023
On utilise pour l’approximation de la première dérivée le schéma arrière d’ordre 2 basé sur
3points donné par l’expression suivante :
u ( xi − 2h) − 4u ( xi − h) + 3u ( xi )
u( xi ) =1
2h
i = 1 → kx − 1
Pour :
j = 1 → ky −1
u ( ( i − 1) hx , jhy ) + u ( ( i + 1) hx , jhy ) − 2u ( ihx , jhy )
(**) +
hx2
u ( ( i + 1) hx , ( j + 1) hy ) + u ( ( i − 1) hx , ( j − 1) hy ) − u ( ( i − 1) hx , ( j + 1) hy ) − u ( ( i + 1) hx , ( j − 1) hy ) ( ihx − jhy )
= 1+ e
4hx hy
i = kx u ( ( k x − 2 ) hx , jhy ) − 4u ( ( k x − 1) hx , jhy ) + 3u (1, jhy )
Et (***) =1
j = 0 → ky 2hx
On obtiendra les expressions permettant de donner le système d’équation à résoudre :
4hy u ( ( i − 1) hx , jhy ) + 4hy u ( ( i + 1) hx , jhy ) + hxu ( ( i + 1) hx , ( j + 1) hy ) +
1
u (ihx , jhy ) = hx u ( ( i − 1) hx , ( j − 1) hy ) − hxu ( ( i − 1) hx , ( j + 1) hy ) − hxu ( ( i + 1) hx , ( j − 1) hy ) −
8hy
(
4hx 2 hy 1 + e( x y )
ih − jh
)
pour : i = 1 → k x − 1, j = 1 → k y − 1
u (1, jhy ) = 4u ( ( k x − 1) hx , jhy ) − u ( ( k x − 2 ) hx , jhy ) + 2hx pour : i = k x , j = 0 → k y
1
3
Application numérique :
On aura donc :
Université A.Mira de BEJAIA
Faculté de Technologie, Département GE
Module UEF 1122
Année 2022/2023
0.5
(1) : j = 0, i = 4 : u (1, 0) =
3
(2) : j = 1, i = 1: u (0.25, 2) = 0.5u (0.5, 2) + 0.015625u (0.5, 4) − 0.0366804
(3) : j = 1, i = 2 : u (0.5, 2) = 0.5u (0.25, 2) + 0.5u (0.75, 2) + 0.015625u (0.75, 4) − 0.015625u (0.25, 4) − 0.0382228
(4) : j = 1, i = 3 : u (0.75, 2) = 0.5u (0.5, 2) + 0.5u (1, 2) + 0.015625u (1, 4) − 0.015625u (0.5, 4) − 0.015625u (1, 0) − 0.0402032
4 1 0.5
(5) : j = 1, i = 4 : u (1, 2) = u (0.75, 2) − u (0.5, 2) +
3 3 3
(6) : j = 2, i = 1: u (0.25, 4) = 0.5u (0.5, 4) − 0.015625u (0.5, 2) − 0.031985
(7) : j = 2, i = 2 : u (0.5, 4) = 0.5u (0.25, 4) + 0.5u (0.75, 4) + 0.015625u (0.25, 2) − 0.015625u (0.75, 2) − 0.0321937
(8) : j = 2, i = 3 : u (0.75, 4) = 0.5u (0.5, 4) + 0.5u (1, 4) + 0.015625u (1, 6) + 0.015625u (0.5, 2) − 0.015625u (1, 2) − 0.0324617
4 1 0.5
(9) : j = 2, i = 4 : u (1, 4) = u (0.75, 4) − u (0.5, 4) +
3 3 3
0.5
(10) : j = 3, i = 4 : u (1, 6) =
3
Sous forme
matricielle
u (1,0) 0 0 0 0 0 0 0 0 0 0 u (1,0) 0.5 / 3
u (0.25,2) 0 0 0.5 0 0 0 0.015625 0 0 0 u (0.25,2) −0.0366804
u (0.5,2) 0 0.5 0 0.5 0 −0.015625 0 0.015625 0 0 u (0.5,2) −0.0382228
u (0.75,2) −0.015625 0 0.5 0 0.5 0 −0.015625 0 0.015625 0 u (0.75,2) −0.0402032
u (1,2) 0 0 −1 / 3 4/3 0 0 0 0 0 0 u(1,2) 0.5 / 3
= +
u (0.25,4) 0 0 −0.015625 0 0 0 0.5 0 0 0 u (0.25,4) −0.031985
u (0.5,4) 0 0.015625 0 −0.015625 0 0.5 0 0.5 0 0 u (0.5,4) −0.0321937
u (0.75,4) 0 0 0.015625 0 −0.015625 0 0.5 0 0.5 0.015625 u (0.75,4) −0.0324617
u (1,4) 0 0 0 0 0 0 −1 / 3 4/3 0 0 u (1,4) 0.5 / 3
u (1,6)
0 0 0 0 0 0 0 0 0 0 u (1,6) 0.5 / 3