Cours de Méthodes Numériques Approfondies Département de Mécanique, UATL Master en Energétique A.U. 2016/2017 Chapitre 4 : Résolution des équations Aux dérivées partielles Méthode des Différences Finies L’un des enjeux les plus importants du calcul scientifique est la résolution d’équations aux dérivées partielles (qu’on abrègera en E.D.P). En effet, de très nombreux problèmes issus des sciences physiques (physique quantique, électromagnétisme, conductivité thermique) de la mécanique (mécanique des fluides, mécanique du solide, élasticité) de la chimie (mécanismes de réaction diffusion) ou encore de la biologie (dynamique des populations) et de la finance (pricing d’actifs) sont décrits à l’aide des E.D.P. Une E.D.P fournit une relation entre les dérivées partielles d’une fonction de plusieurs variables (qui peut ou non dépendre du temps). Il y a trois grandes classes des Parmi les E.D.P les plus classiques des EDP, tels qu’EDP parabolique, EDP elliptique et EDP hyperbolique. Il est noté que les solutions analytiques des équations EDP sont complexes d’une part, limité (cas simple où 1D ou certainement 2D) et impossible d’autres part. Pour cela, le recours aux méthodes numériques est indispensable. Parmi les méthodes numériques de résolution, en peut citer la méthode des différences finies, des éléments finis et des volumes finis. On s’intéresse dans ce chapitre à la résolution numérique (méthode des différences finies) de ces trois classes d’EDP. 1. Présentation de la méthode des différences finies La méthode des différences finies est une méthode numérique de résolution des EDP. Sa formulation est basée sur l’approximation locale au voisinage d’un point donné des fonctions dérivées. Ces dérivées sont approchées par des fonctions données par le développement en série de Taylor. Alors, cette méthode transforme l’EDP en un système d’équations aux différences finies. La résolution numérique de EDP par la méthode des différences finies besoin de : Domaine de calculs D : On découpant le domaine étudie en un maillage de forme et de dimensions adaptées à chaque problème. L’approximation des dérivées par des différences finies. Etablissement de l’équation EDP discrétisée. Conditions aux limites (conditions de frontière) Conditions initiales (pour les problèmes d'évolution). Résolution du système d’équations linaire obtenus de la discrétisation. Page 1 Cours de Méthodes Numériques Approfondies Département de Mécanique, UATL Master en Energétique A.U. 2016/2017 1.1 Domaine de calculs Les calculs par différences finies sont effectués suivant un maillage obtenu par un double réseau de parallèles aux axes et régulièrement espacés. L'intersection de 2 droites du maillage définit un nœud M de cordonnées xM , y M . Si les parallèles à l'axe x sont espacées de x h et les parallèles à l'axe y de y k , le nœud a comme coordonnées xM ix ih et y M iy ik ou d'une manière condensée (i, j ) . Ainsi la fonction U ( x, y) prend au point M ( xM , y M ) la valeur U (ix, jy) U (ih, jk ) ou U ij (Figure 1). Nœuds de frontière Domaine D Y ∆Y=k Nœuds internes i 1, j Ligne j i, j 1 i, j i 1, j M Ligne i i, j 1 h Figure 1. Domaine de calcul, nœuds internes et de frontières. 1.2 Approximation des dérivées Soit U ( x, y) une fonction de deux variables indépendantes que nous supposerons suffisamment différentiable. Si nous écrivons son développement en séries de Taylor en un point x h, y k , nous avons : U x h, y k U ( x, y) h U U h 2 2U ( x, y) k ( x, y) ( x, y) .... x y 2! y 2 1 h k (n 1)! x y ( n 1) U ( x, y ) .Rn (1) Avec le résidu Rn donné par : 1 Rn h k n! x y Encore: Rn O h k n ( n 1) U ( x h, y k ) 0,1 , 0,1 (2) (3) Cette équation signifie qu'il existe un nombre positif constant M tel que: Rn M h k n (4) Page 2 Cours de Méthodes Numériques Approfondies Département de Mécanique, UATL Master en Energétique A.U. 2016/2017 Le nœud ix, jy est entouré par les nœuds avoisinants montrés sur la figure 1. En développant en séries de Taylor pour U i 1, j U i 1, j , U i 2, j et U i 2, j autour de la valeur centrale U i , j , nous obtenons : h2 h3 h4 U xx U xxx U xxxx R5 2! 3! 4! (5) h2 h3 h4 hU x U xx U xxx U xxxx R ' 5 2! 3! 4! (6) U i 1, j U i , j hU x U i 1, j U i , j U i 2, j U i , j 2hU x 2h 2U xx 8h 3 2h 4 U xxx U xxxx R '' 5 6 3 (7) U i 2, j U i , j 2hU x 2h 2U xx 8h 3 2h 4 U xxx U xxxx R ''' 5 6 3 (8) Ux 2U U , U xx Etc... et toutes les dérivées sont évaluées au nœud U (i, j ) . x x 2 Approximation à l'ordre 1 en h de la dérivée première En négligeant les termes d'ordre 2 et plus dans les équations (5) et (6) nous obtenons : U i 1, j U i , j U O ( h) (9) x i , j h U x U i , j U i 1, j i, j h O ( h) (10) Nous avons donc approché U x par des différences finies d'ordre 1 progressives (ou à droite) et régressives (ou à gauche) respectivement. Approximation à l'ordre 2 en h de la dérivée première par les différences centrées En soustrayant (5) de (6) et en négligeant les termes d'ordre 4 et plus nous obtenons : U i 1, j U i 1, j U O( h 2 ) (11) x i , j 2h C'est l'approximation de U x par des différences finies centrées d'ordre 2. Approximation à l'ordre 1 en h de la dérivée seconde En multipliant l'équation (6) par 2, en ajoutant le résultat à l'équation (8), et en négligeant les termes d'ordre 3 et plus, nous obtenons : 2U x 2 i, j U i , j 2U i 1, j U i 2, j h 2 O( h 2 ) (12) C'est l'approximation de la dérivée seconde à l'ordre 1 en h par les différences à droite. De même, en utilisant les équations (5) et (7), nous obtenons l'approximation à l'ordre 1 en h de U xx par les différences à gauche : Page 3 Cours de Méthodes Numériques Approfondies Département de Mécanique, UATL 2U x 2 Master en Energétique A.U. 2016/2017 U i , j 2U i 1, j U i 2, j h i, j O( h 2 ) 2 (13) Approximation à l'ordre 2 en h de la dérivée seconde En ajoutant les équations (5) et (6) et en négligeant les termes d'ordre 4 et plus, nous obtenons : 2U x 2 U i 1, j 2U i , j U i 1, j i, j h O( h 2 ) 2 (14) C'est l'approximation de la dérivée seconde à l'ordre 2 en h par les différences centrées. Approximation à l'ordre 2 en h de la dérivée première par les différences à droite ou à gauche : De l'équation (6) nous pouvons tirer : U i 1, j U i , j h U U xx x i , j h 2 U x i, j 3U i , j 4U i 1, j U i 2, j 2h i, j h2 U xxx 6 i, j O( h 3 ) O( h 2 ) (15) (16) C'est l'approximation à l'ordre 2 en h de la dérivée première U x par les différences à droite. De même en utilisant les équations (5) et l’approximation de U xx (i,j) à l'ordre 1 en h par les différences à gauche, nous obtenons l'approximation à l'ordre 2 en h de U x par les différences à gauche : U x 3U i , j 4U i 1, j U i 2, j i, j 2h O( h 2 ) (17) Approximation de U y et U yy Les approximations de U y et U yy sont obtenues de la même façon que celles de U x et U xx sont données ci-dessous : U y U y U x U y 2 i, j i, j U i , j 1 U i , j U O( k ) , y k i, j i, j U i , j 1 U i , j 1 U O( k ) , x 2k U i , j U i , j 1 O( k ) k i, j 3U i , j 4U i , j 1 U i , j 2 O( k 2 ) 2k 3U i , j 4U i , j 1 U i , j 2 2U O( k 2 ) , 2 2k y U i , j 2U i , j 1 U i , j 2 U O( k 2 ) , 2 2 k y i, j 2 i, j (19) U i , j 2U i , j 1 U i , j 2 O( k 2 ) 2 k (20) U i , j 1 2U i , j U i , j 1 O( k 2 ) 2 k (21) i, j 2 (18) Page 4 Cours de Méthodes Numériques Approfondies Département de Mécanique, UATL Master en Energétique A.U. 2016/2017 Approximation de la dérivée croisée U xy : 2U xy U xy i, j 2 i, j 2U 1 U i1, j U i1, j1 U i1, j1 U i1, j1 O(hk ) yx i , j 4hk U y x i , j U x i , j 1 U x i , j 1 2k O( k 2 ) (22) (23) En utilisant l'approximation de U x par des différences finies centrées d'ordre 2, nous obtenons : U x U x U i1, j 1 U i1, j 1 O( h 2 ) 2h (24) U i1, j 1 U i1, j 1 O( h 2 ) 2h (25) i , j 1 i , j 1 Finalement : 2U xy i, j 2U 1 U i1, j U i1, j1 U i1, j1 U i1, j1 O(hk ) yx i , j 4hk (26) 1.3 Etablissement des équations aux différences finies En remplaçant es dérivées par les leurs différences finies approchées dans l’équation EDP de base gouvernant un tel phénomène, pour obtenir l’équation discrétisée. Cette équation pourra être valide que pour les nœuds situés à l’intérieur du domaine de calculs. Pour obtenir une approximation numérique de la solution de ce problème nous devons approcher les dérivées partielles de l'E.D.P en chaque nœud du domaine discrétisé (maillage). En utilisant les valeurs de la variable dépendante en ce nœud et aux nœuds avoisinants. 1.4 Conditions aux limites Il existe trois types de conditions aux limites pour les équations aux dérivées partielles EDP : - Condition de type Dirichlet, lorsque la variable est prend des valeurs définies sur la frontière (Exemple : température imposée pour les parois isotherme). - Condition de type Neumann, lorsque la dérivée de la variable est définies sur les frontière ou un flux de variable est imposé à la frontière (exemple : parois adiabatique T / X 0 ). - Condition de type Fourrier ou mixte, lorsque les deux conditions se présentent à la fois c’est-à-dire une la variable est une équation différentielle (mélange des deux types de conditions). Page 5 Cours de Méthodes Numériques Approfondies Département de Mécanique, UATL Master en Energétique A.U. 2016/2017 1.5 Conditions initiales Ce type de condition concerne les phénomènes d’évolution (régime variable ou instationnaire). Là où la variable doit être définie au temps initiale ( 0 ). 2.6 Résolution du système d’équations Les équations relatives à l’ensemble des nœuds forment un système linéaire de n équations à n inconnues U ij . Pour consoler l’écriture on convient de désigner la variable du nœud (i, j ) par un seul indice k, U ij devient U k k 1, n . Les équations résultantes pour les nœuds internes peuvent se mettre sous la forme matricielle suivante : a11 a12 ..... a1n U1 b1 a 21 a22 ...... a2 n U 2 b2 (27) . . . . . . . . ...... . . . a n1 an 2 ....... ann U n bn Lorsque le nombre de nœuds n’est pas trop grand, on peut résoudre facilement le système d’équation manuellement. Mais pour des problèmes plus complexe, de très grand nombre de nœuds, beaucoup des méthodes numériques peuvent être utilisées pour résoudre ce système d’équations (méthode de Gauss, Gauss-Seidel, …). 3. Résolution des EDP paraboliques Il existe essentiellement trois types de méthodes de base pour résoudre les E.D.P. paraboliques : méthodes explicites, implicites et du type Crank-Nicholson. Nous exposerons chacune d'elles en prenant l'exemple d'une équation linéaire à une variable d'espace x. U 2U t x 2 U ( x,0) f ( x) U (0, t ) g (t ) 0 U (1, t ) g 1 (t ) 0 x 1 0 x T 0t T , 0 t T (28) 0t T Où T est le temps où on veut la solution. L'équation (28) décrit par exemple, en coordonnées adimensionnelles, la conduction transitoire de la chaleur dans une barre isolée avec une distribution de température au temps t = 0 et ayant les extrémités maintenues à des températures qui peuvent être fonction du temps. Les condition initiale et g0(t) et g1(t) sont les conditions aux limites qui sont du type Dirichlet. 3.1 Méthode de résolution explicite Afin de résoudre l'équation (1) par les différences finies, nous diviserons l'intervalle [0, 1] en M intervalles Δx = h = 1/M par les points x0 = 0, x1,…., xM = 1, et l'intervalle [0 , T] en Page 6 Cours de Méthodes Numériques Approfondies Département de Mécanique, UATL Master en Energétique A.U. 2016/2017 N intervalles N. Δt = k = 1/N par les points t0 = 0, t1,…., tN où M et N sont des nombres entiers arbitrairement choisis. Le maillage obtenu est représenté sur les figures 2a-b. Figure 2a. Maillage dans le cas génér n est l’indice du temps. Figure 2b. La méthode explicite. Pour chaque nœud intérieur au domaine (c'est-à-dire les nœuds qui n'ont pas i = 0, i = M ou n = 0) les dérivées de l'équation (28) sont remplacées par les approximations suggérées. Ainsi, en désignant par Ui,n la valeur approchée de la fonction U au nœud (i, n) et en utilisant les différences à droite pour la dérivée par rapport à t et les différences centrées pour la dérivée spatiale, nous obtenons : U in 1 U in U in1 2U in U in1 k h2 (29) Ou en définissant t / x k / h 2 , alors; 2 U in1 U in1 (1 2 )U in U in1 (30) Dans la figure 1b, les croix et les cercles indiquent les nœuds intervenant dans la discrétisation de Ut et Uxx respectivement. Si tous les Uin sont connus à l'instant tn, l'équation (30) permet à Uin+1 d'être calculé directement (c'est-à-dire explicitement) à l'instant tn+1 pour 1≤M ≤1. Pour les nœuds des frontières i = 0, i = M, nous avons d'après les conditions aux limites. U 0n 1 g 0 (t n 1 ) U Mn 1 g1 (t n 1 ) (31) Puisque les conditions initiales de U sont imposées au temps t = 0 par: U i0 f ( xi ) Les valeurs de U peuvent évidemment être obtenues dans tous les nœuds par l’application répétée de (30) et (31). Nous devons calculer toutes les valeurs de U à l’instant n avant d'avancer à l'instant n + 1. Page 7 Cours de Méthodes Numériques Approfondies Département de Mécanique, UATL Master en Energétique A.U. 2016/2017 Condition de convergence de la méthode explicite n L’erreur de discrétisation locale win est la différence de la valeur exacte U i au nœud i, n et la valeur approchée U in obtenue par la méthode des différences finies : n win U i U in Nous dirons que le schéma des différences finies (30) converge si l’erreur win tend vers 0 lorsque Δx et Δt tendent vers zéro. Du développement en série de Taylor, en supposant que U possède un nombre suffisant de dérivées partielles, nous avons : k2 n1 n (32) U i U i1 kUt U tt O(k 3 ) 2! U n1 i h2 h3 h4 h5 U hU t U xx U xxx U xxxx U xxxxx O(h6 ) 2! 3! 4! 5! n i (33) Dans (10) et (11) les dérivées sont évaluées en ix, nt . En utilisant l’équation 1, U t U xx avec (32) et (33) nous aboutirons à : Uin1 U in1 (1 2 )U in U in1 Zin (34) Où : Z in h h2 U tt U xxxx O(k 2 ) O(h 4 ) k 2 12 En soustrayant (30) de (34) et en appliquant (31), nous obtenons : Wi n1 Win1 (1 2 )Wi n Win1 Zin (35) (36) Maintenant supposons que 0 1/ 2 ; les coefficients et ( 1) sont positifs et nous avons donc l’inégalité : Wi n1 Win1 (1 2 ) Wi n Win1 Zin (37) (n) (n) max Wi n , Z MAX max Zin 1 i M 1. Posons WMAX On a alors : (n) (n) (n) WMAX Wmax Z max (38) En particulier, puisque max( 0) 0 : (n ) Wmax ( N ) N .Z où Z max( Z MAX ) C’est-à-dire : Wmax ( N ) T t (x) 2 2 U tt U xxx O t O(x) 4 2 12 max (39) Donc si 0,1 / 2 l’erreur de discrétisation est en O(h 2 ) et la méthode converge lorsque h 0 . Finalement, puisque U tt U txx U xxt U xxxx Alors pour le choix spéciale de 1/ 6 l’erreur de discrétisation est en O(h 4 ) et la méthode converge encore plus vite. Page 8 Cours de Méthodes Numériques Approfondies Département de Mécanique, UATL Master en Energétique A.U. 2016/2017 L'inconvénient de la méthode explicite est donc qu'elle nécessite de choisir Δt suffisamment petit (de telle façon à satisfaire la condition 0 ≤ λ ≤ 1/2) sinon la solution de l'équation II-1 devient instable. A cause de ce risque d'instabilité, il est préférable d'utiliser l'une des méthodes suivantes. 3.2 Méthode Implicite L'équation explicite (30) a été obtenue en écrivant les deux membres de (28) à l'instant tn, où la solution est connue. Nous obtenons une équation implicite en écrivant les deux membres de (28) à l'instant tn+1 où la solution n'est pas connue, ce qui donne : U in 1 U in U in11 2U in 1 U in11 k h2 Ou encore: U in11 (1 2 )U in1 U in11 U in (40) Les noeuds intervenant dans la discrétisation de U t et U xx sont montrés que la figure 2. Figure 3. L'equation (40) ecrite pour chaque point 1 i M 1 resulte en un systeme de M-1 equations simultanées à M+1 inconnues U 0n1 ,....,U Mn1 . le nombre d'inconnues est ensuite reduit à M-1 en incorporant les conditions aux limites: U 0n1 g 0 (tn1 ) (41) U Mn1 g1 (tn1 ) On obtient alors le systeme à matrice tridiagonle: (1 2 )U1n1 U 2n1 U in g0 (ti 1 ) pour i 1 U ii11 (1 2 )U1n1 U in11 U in pour 2 i M 2 (42) U Mi 12 (1 2 )U Mn11 U Mn 1 g1 (t i 1 ) pour i M 1 Ce système peut être résolu par une méthode quelconque de résolution des systèmes algébriques linéaires. La méthode la plus adaptée pour ce type de systèmes est en fait le double balayage de Choleski. Convergence de la méthode Implicite On peut montrer, en procédant comme dans le cas de la méthode explicite, que la méthode implicite est inconditionnellement stable, c'est à dire qu'elle converge qu'elle que soit la valeur de λ. Page 9 Cours de Méthodes Numériques Approfondies Département de Mécanique, UATL Master en Energétique A.U. 2016/2017 3.3 Methode de Crank-Nicholson (implicite) La méthode de Crank-Nicholson consiste à écrire les deux membres de l’équation (II1) au temps n + 1/2 (montré par un cercle sur la figure 4). Figure 4. Le premier membre est approché par les différences centrées et le second est exprimé comme la demi-somme des approximations aux instants n et n + 1. Nous obtenons alors : U in1 U in 1 2 n1 1 2 n x Ui x Ui k 2 2 1 U in11 2U in1 U nn11 1 U in1 2U in U in1 2 2 h2 h2 C’est - à - dire: Uin11 2(1 )Uin1 Uin11 Uin1 2(1 )Uin Uin1 (43) Le second membre de (43) étant connu, on remarque que (43) est en fait une équation implicite, qui se traite exactement comme il a été indiqué à la section précédente (concernant la méthode implicite). L'avantage de ce schéma est que pour une valeur donnée de Δx, l'erreur de troncature sur le terme Δt est nettement plus petite que dans les méthodes implicite et explicite. Ce gain est obtenu au prix d'une complication mineure des calculs. La méthode de Crank-Nicholson est inconditionnellement stable et converge quel que soit la valeur du rapport λ. 4- Schémas explicites inconditionnellement stables Alors que la méthode explicite familière n'est stable qu’avec la condition 0 ≤ λ ≤ 1/2, ils existent plusieurs autres méthodes explicites qui sont libres de cette restriction. Des exemples de telles méthodes sont illustrés ci-dessous pour la résolution de l'équation Ut = Uxx mais toutes peuvent être généralisées à plus d'une dimension d'espace. 4.1 Méthode de Dufort -Frankel Figure 5. Page 10 Cours de Méthodes Numériques Approfondies Département de Mécanique, UATL Master en Energétique A.U. 2016/2017 U in1 U in1 U in1 U in1 U in1 U in1 2t x 2 (44) Cette methode dait intervenir trois niveaux de temps comme montré sur la figure 5. 4.2 Methode de Saul'yev Elle consiste à effectuer successivement deux types d'approximations, en portant U in et en procedant dans le sens des x positives, nous obtenus les U in1 en utilisant les schéma: U in1 U in U in11 U in1 U in U in1 t x 2 (45) Nous obtenous ensute les U in 1 en procedant dans la direction x negatives en utilisant le scema suivant: U in2 U in1 U in11 U in1 U in2 U in12 t x 2 (46) 5. Application des methodes explicite et implicite au cas génral d'une equation au dérivées partielles linaires: Soit, à resoudre l'EDP: (47) La discrétisation par la methode explicite donne: (48) ou : (49) On peut montrer que la condition de stbilité de ce schema est: 2 Ai 2 Ci t 1 x (50) La methode s’applique, sans aucune modification de principe, aux equations dont les coefficients A, B, C, D depndent non seulement de x, mais aussi de t et de f ainsi qu’aux fonctions de plusieure variable d’espace. L’application de la methode implicite à l’equation (47) donne : 1 n1 fi fi n Ai 2 fin11 2 fi n1 fin11 B fin11 fin11 Ci fi n1 Di (51) t x 2x Ou encore: Page 11 Cours de Méthodes Numériques Approfondies Département de Mécanique, UATL Master en Energétique A.U. 2016/2017 Bi n1 1 2 Ai Bi n1 f i n Ai n1 Ai f C f f i1 Di i i 2 x 2 2x i1 t x x 2x t (52) Ce schéma est universellement stable. Il peut facilement être généralisé au cas où les coefficients A, B, C, D dépendent de t. Aussi, on peut l'adapter au cas ou ces cœfficients de f: il faut dans ce cas résoudre à chaque instant tk de l'équation (52) par itération: on se donne une fonction f 0 ( x) qu'on injecte dans A, B, Cet D, la résolution de (52) donne alors une autre fonction f 0 ( x) , etc .. Jusqu’à la convergence. 4. Méthodes de résolution des EDP elliptique La discrétisation d'une E.D.P elliptique à l'aide des différences finies comporte les étapes suivantes : 1. On définit un maillage qui couvre le domaine et sa frontière. 2. On approche les dérivées partielles, à l'aide des différences finies, dans tous les nœuds intérieurs au domaine : les équations algébriques obtenues contiennent des valeurs de la fonction aux points appartenant à la frontière. 3. On utilise les conditions aux limites pour éliminer les valeurs aux points de la frontière. Nous obtiendrons alors un système de N équations à N inconnues dont la résolution est faite par l'une des méthodes données ci-dessous. Exemple : Déterminer la fonction f(x, y) dans le domaine rectangulaire 0 ≤ x ≤ a, 0 ≤ y ≤ b (Figure 5). f satisfait à l’équation de Laplace avec les conditions aux limites suivantes : f ( x 0, y) f 0 f ( x a, y) f a f (c x a, y 0) f a (53) f ( x c, y 0) f a y f ( x, y b ) 0 y Figure 5. Page 12 Cours de Méthodes Numériques Approfondies Département de Mécanique, UATL Master en Energétique A.U. 2016/2017 Solution : 1. On définit un maillage (Figure 6) qui coïncide avec les frontière du domaine : on utilise n+1 pas sur x (0 ≤ i ≤ n+1) de la valeur Δx = a/(n+1). Le pas Δx est choisi comme sous multiple de a et (a-c) de façon que x = c correspond au p ieme pas sur x. on utilise aussi m+1 pas sur y (0 ≤ k ≤ m+1) de la valeur Δy = a/(m+1). Figure 6. 2. Dans chaque nœud intérieur (0 ≤ i ≤ n+1, 0 ≤ k ≤ m+1) on approche l’équation Δf = 0 à l’aide des différences finies, ce qui donne : f i1,k 2 f i ,k f i1,k f i ,k 1 2 f i ,k f i ,k 1 0 x 2 y 2 (54) 3. Les conditions aux limites sur les frontières i = 0, i = k+1 et k = m+1 sont maintenant incorporées dans les équations des nœuds situes sur les lignes i = 1, i = n, k = 1 et k = m respectivement. Nœuds (i, 1), i=1, n Pour i =1 la condition aux limites imposée est f‘x sur l'axe y = 0 et f f 0 sur l'axe x = 0. 1 f0,1 2 f1,1 f 2,1 1 2 f1,0 2 f1,1 f1,2 0 (55) 2 x y f y' 0 3 f1, 0 4 f1,1 f1, 2 0 f1, 0 4 1 f1,1 f1, 2 3 3 (56) f 0,1 f 0 (57) 1 2 f1,1 f 2,1 2 2 f1,1 f1, 2 1 2 f0 2 (x) 3(y) (x) (58) Page 13 Cours de Méthodes Numériques Approfondies Département de Mécanique, UATL Master en Energétique A.U. 2016/2017 Pour i= 2 à p-1 On obtient : 1 fi1,1 2 f1i1 fi1,1 2 2 fi ,0 2 fi ,1 fi ,2 0 2 (x) 3(y) (59) f y' 0 3 fi , 0 4 fi ,1 fi , 2 0 (60) 1 fi1,1 2 fi ,1 fi1,1 2 2 fi ,1 fi , 2 0 2 x 3y (61) Soit ; On continue ainsi à incorporer les conditions aux limites, ce qui donne : pour p ≤ i ≤ n-1 1 fi1,1 2 fi ,1 fi1,1 1 2 2 f n,1 f n,2 1 2 f a 2 x y y (62) 1 f n1,1 2 f n,1 1 2 2 f n,1 f n, 2 1 2 1 2 f a 2 x y x y (63) Pour i = n : La même méthode est utilisée pour les nœuds (i, m), (1, k) et (n, k). Nous obtiendrons ainsi un système de n équations linéaires pour chaque ligne k (1≤ k ≤ m) soit au total m x n = N équations à N inconnues. Les inconnues sont les valeurs de f aux nœuds intérieurs du domaine. La condition aux limites f’y sur la frontière k = m est approchée en utilisant les différences à gauche et non pas les différences à droite comme nous l'avons fait pour les nœuds (i, k = 1). 1. Méthode de résolution directe Le système obtenu peut être résolu par la méthode d’élimination de Gauss comme illustrée par l’exemple suivant : Exemple : Déterminer le champ des valeurs prises par la fonction T(x, y) dans le domaine et avec les conditions aux limites suivantes : 2T 2T 0 x 2 y 2 Dans un carré de côté C T 0 Le long de x = 0 et y = 0 T x3 Le long de y = C T 16 y le long de x = C Ce problème correspond, par exemple, au cas concret suivant : détermine la température à l'intérieur d'une plaque carrée (ou dans une barre infinie ou parfaitement Page 14 Cours de Méthodes Numériques Approfondies Département de Mécanique, UATL Master en Energétique A.U. 2016/2017 isolée à chaque extrémité de section carré) où 2 côtés sont à 0 °C et les 2 autres sont à températures imposées suivant les lois T x3 et T 16 y Solution En choisissant le même pas dans les deux directions h x y , la discrétisation pour les nœuds à l'intérieur du maillage donne : Ti1,k 2Ti ,k Ti1,k Ti ,k 1 2Ti ,k Ti ,k 1 0 h2 h2 Soit : Ti1,k Ti1,k 4Ti ,k Ti ,k 1 Ti ,k 1 0 L'application de ce schéma aux points à l'intérieur du domaine dans le cas d'un maillage 4x4 donne les équations : Les quantités : et sont connues d'après les conditions aux limites. On a donc un système d'équations linéaires: 9 équations à 9 inconnues. En posant : On peut écrire : Page 15 Cours de Méthodes Numériques Approfondies Département de Mécanique, UATL Master en Energétique A.U. 2016/2017 Figure 7. Le problème essentiel de la méthode directe est la place mémoire avec en conséquence un temps élevé d'accès aux mémoires périphériques. Ceci devient dans la pratique prohibitive si le nombre de variables indépendantes est supérieur à deux. Par rapport à la méthode itérative exposée ci-dessous, la méthode directe possède les avantages et inconvénients suivants : Avantage : 1. temps calcul en général plus petit pour une même précision 2. dans certains cas la méthode itérative peut ne pas converger. Inconvénients : 1. Occupation mémoire importante 2. Risque d'erreur d'arrondi importante si certains pivots sont trop petits, problème qu'on ne rencontre en pratique pas dans la méthode itérative. 3. La méthode directe n'est pas applicable aux équations non - linéaires. Page 16 Cours de Méthodes Numériques Approfondies Département de Mécanique, UATL Master en Energétique A.U. 2016/2017 3. Méthode itérative de Gauss Seidel Après multiplication par Δx2 et regroupement des termes, l’équation (54), s’écrit : f i1,k f i1,k 2 2 x 2 x x 21 f i ,k f i ,k 1 f i ,k 1 0 y y y Ou : 2 2 x x f i 1,k f i 1,k f i ,k 1 f i ,k 1 y y f i ,k (64) 2 x 2 2 y Le procédé itératif est alors appliqué au système d'équations (64) comme suit : I. On se donne une distribution f(0) i,k avec i =1, n et k =1, m. II. On calcule pour chaque couple (i, k) une nouvelle valeur f (1)i,k à l'aide des valeurs f(0)i,k choisies ou f(1)h,1, h et 1 étant les indices des nœuds avoisinants de (i, k). III. on continue à calculer f(2)i,k, et f(3)i,k.. etc. de la même façon jusqu'à la convergence, c.-à-d. : f i ,(kj 1) f i ,(kj ) f i ,(kj ) (65) Où j est le numéro d'itération, et ε est le critère de convergence. Dans le cas de l'équation de Laplace, la méthode de Gauss-Seidel converge toujours. Pour d'autres E.D.P plus compliquées elle pourra diverger. Cette méthode est en général préférable aux méthodes directes car elle est plus facile à programmer. Aussi, elle demande moins de place mémoire et peut être appliquée à des matrices de grande taille et à des équations algébriques non linéaires. La convergence peut être accélérée en utilisant un facteur de sur relaxation , avec 0 1/ 2 : Soit f i ,(kj ) la valeur de f i ,k à la j ieme itération, l’introduction du f i ,(kj ) dans l’équation(64) donne f i ,(kj 1) : au lieu d’utiliser f i ,(kj 1) pour l’itération suivante, on utilise f i ,(kj 1)* donnée par : fi ,(kj 1)* fi ,(kj ) fi ,(kj 1 fi ,(kj ) 0 1/ 2 (66) 5. Méthodes de résolution des EDP hyperbolique Il existe deux méthodes de résolution des équations aux dérivées partielles hyperboliques : 1. la méthode des différences finies 2. la méthode des caractéristiques La méthode des différences finies est appliquée pour les équations dont les solutions sont continuées. Lorsqu'une fonction ou l'une de ses dérivées est discontinue en un point de la frontière, on sait que cette discontinuité se propage le long des caractéristiques passant par Page 17 Cours de Méthodes Numériques Approfondies Département de Mécanique, UATL Master en Energétique A.U. 2016/2017 ce point. Dans ce cas nous devons utiliser impérativement la méthode des caractéristiques car elle donne des résultats plus précis que la méthode des différences finies. Les méthodes des différences seront exposées pour une équation simple Elles restent entièrement valables pour des équations plus compliquées. 5.1 Méthodes explicite Soit à résoudre l’équation des ondes : 1 2 f 2 f x 2 c 2 . t 2 0 xa f ( x, t 0) F ( x) 0 xa f ( x, t 0) G ( x) t (67) Ou c est une constante. On choisit un maillage de l’espace (x,t) correspondant à des x et t (Figure ). En supposant f ( x, t ) connue jusqu’à l’instant k, la discrétisation par les différences centrées au nœud (i,k) donne : 2 f 1 2 f i ,k 1 2 f i ,k f i ,k 1 2 t t 2 f 1 2 f i1,1 2 f i ,k f i1,k 2 x x En portant dans le système, on obtient : c 2 t 2 fi1,k 2 fi ,k fi1,k f i ,k 1 2 f i ,k f i ,k 1 x 2 Ou encore, en regroupant les termes : f i ,k 1 f i ,k 1 2(1 ) f i ,k f i1,k f i1,k (68) c 2 t 2 2 x Si f est connue pour tout x = iΔx Jusqu’en t = kΔt, le second membre de l’équation est connu ce qui détermine f i ,k 1 . Le problème du démarrage reste à régler car en mettant k = 0 dans l’équation discrétisée, on voit clairement sur la figure qu’il est nécessaire de connaitre f i , 0 et f i ,1 . f i , 0 est obtenu de la condition initiale : fi , 0 FI f i ,1 est déterminée par la donnée de la dérivée à t = 0. En approchant cette dérivée par les différences centrées, nous aurons : f 1 fi,1 fi ,1 t i , 0 2t (69) Le système discrétisés écrit en k = 0 devient alors, en tenant compte des conditions au limites et initiales : Page 18 Cours de Méthodes Numériques Approfondies Département de Mécanique, UATL Master en Energétique A.U. 2016/2017 f i ,1 f i , 1 2(1 ) Fi Fi1 Fi1 2t.GI f i ,1 f i , 1 (70) L’élimination de f i ,1 entre ces deux équations donne f i ,1 pour tout i. on pourra alors calculer facilement f i ,1 (il suffit de mettre i = 1 à n). Ayant calculé les valeurs aux nœuds (i ,1), nous passons aux nœuds (i, 2). Pour cela, il faut appliquer l’équation discrétisé en k = 1 : on voit alors que f i , 2 ne peut être déterminée que pour i = 2 à n-1. De même pour les nœuds (i, 3), f i , 3 peut être déterminée seulement pour i =3 à n-2 et ainsi de suite. De sorte que le domaine ou f peut être déterminée se rétrécit lorsque t croit (figure 8). La solution eut être déterminée complètement (c’est-à-dire pour tout t > 0 et tout x tel que 0 x a ) que si l’on impose des conditions aux limites en x =0 et x = a par exemple : f ( x 0, t ) H 0 (t ) f ' x a, t ) H a (t ) (71) En effet, avec ces conditions on peut appliquer l’équation discrétisée pour toutes les valeurs de i (i = 1 à n) quel que soit k. on peut montrer que la solution n’est pas stable si Δt >(Δx/c). C’est la raison pour laquelle il faut employer les méthodes implicite si on désire calculer f en des pas assez grands dans le temps. Figure 8 5. 2 Méthode implicite 2 f La dérivée par rapport à t approchée comme dans la méthode explicite 2 est x i ,k cependant évaluée en prenant la demi-somme des valeurs de cette dérivée en k-1 et k+1 on écrit dont (figure 9): Page 19 Cours de Méthodes Numériques Approfondies Département de Mécanique, UATL Master en Energétique A.U. 2016/2017 1 2 f 2 f 2 f 2 2 2 x i ,k 2 x i ,k 1 x i ,k 1 C’est-à-dire : (72) 1 2 f fi1,k 1 fi,k 1 fi1,k 1 fi1,k 1 2 fi,k1 fi1,k 1 2 2 x i ,k 2x (73) Figure 9. En portant dans l’équation (67), il vient : f i ,k 1 2 f i ,k f i ,k 1 On 2 f i 1,k 1 f i ,k 1 f i1,k 1 f i1,k 1 2 f i ,k 1 f i1,k 1 (74) c 2 t 2 , on obtient en réarrangeant les termes : x 2 2 f i1,k 1 (1 ) f i ,k 1 2 f i1,k 1 2 f i ,k 2 f i 1,k 1 f i ,k 1 f i1,k 1 (75) On obtient un système à matrice tri diagonale qui peut être résolu par double balayage, ou par méthode itérative, à condition de connaître les conditions aux limites, par exemple en x = 0 et x = a : ceci n'était pas nécessaire dans la méthode explicite. L'avantage principal de la méthode implicite est qu'elle est stable quel que soit Δt : on peut donc utiliser des pas sur le temps plus importants que dans la méthode explicite, ce qui permet de gagner du temps, au prix d'une complication mineure des calculs. Page 20