of 40 /40
FACULTE DES SCIENCES ET TECHNIQUES Département Génie Mécanique TD Méthodes Numériques Exercice 1: On considère le problème de Cauchy : a) Calculer la solution analytique b) Appliquer les méthodes d'Euler explicite et d'Euler implicite pour obtenir la solution numérique c) Réaliser un programme Matlab pour les deux Méthodes d) Vérifier que les deux méthodes convergent avec un ordre linéaire Solution a) La solution analytique est : b) Les schémas explicite et implicite d'Euler sont : Schéma explicite : Schéma implicite : c°/ et d°/ Voir programme Matlab

TD méthod num

Embed Size (px)

Text of TD méthod num

  • FACULTE DES SCIENCES ET TECHNIQUES

    Dpartement Gnie Mcanique

    TD Mthodes Numriques

    Exercice 1: On considre le problme de Cauchy :

    a) Calculer la solution analytique b) Appliquer les mthodes d'Euler explicite et d'Euler implicite pour obtenir la solution numrique c) Raliser un programme Matlab pour les deux Mthodes d) Vrifier que les deux mthodes convergent avec un ordre linaire Solution a) La solution analytique est :

    b) Les schmas explicite et implicite d'Euler sont : Schma explicite :

    Schma implicite :

    c/ et d/ Voir programme Matlab

  • Exercice 2 :

    Pour approcher le problme de Cauchy :

    on considre la mthode de trapze ou de Crank-Nicolson tel que :

    o h est le pas de temps

    1/ En supposant que la solution exacte y(t) soit C (R+), calculer l'erreur locale de troncature

    introduite par la mthode numrique ci-dessus.

    1/ Par dfinition : l'erreur locale de troncature de la mthode de Crank-Nicolson

    O y(t) est la solution exacte

    Corrig :

    donc

    2/ Sachant que:

    Quelle est l'ordre de convergence de cette mthode ?

    Corrig:

    On a :

    Donc

  • Cette mthode est donc d'ordre 2

    3/ Soit le problme :

    Retrouver la solution analytique

    Pour rsoudre numriquement ce problme, on applique les mthodes d'Euler progressive et de Crank-Nicolson

    Le tableau ci-contre montre les erreurs commises par

    les deux mthodes l'instant t=5 pour diffrents

    valeurs du pas de temps h.

    Identifier quelle colonne entre les deux a t calcule en utilisant la mthode de Crank-Nicolson. Justifier la

    rponse.

    Trouver la condition de stabilit sur h pour la mthode d'Euler progressive.

    Corrig :

    Voir programme Matlab pour la rsolution numrique

    On a vu que la mthode de Crank-Nicolson est d'ordre 2 et on sait que la mthode d'Euler progressive est d'ordre 1.

    On remarque que lorsqu'on divise le pas de temps par 2, l'erreur dans la premire mthode est divise de la mme

    faon par un facteur de 2, tandis que dans la seconde mthode elle est divise par 4. On en dduit que la premire

    mthode correspond la mthode d'Euler progressive d'ordre 1 et la seconde mthode la mthode de Crank-

    Nicolson d'ordre 2.

    n h h(i)/h(i+1) ErreurMthode1 e1(i)/e1(i+1) ErreurMthode2 e2(i)/e2(i+1)

    1 1 ?? 0,03052276 ?? 0,005215832 ??2 0,5 2 0,01460741 2,089539487 0,001034686 5,0409805493 0,25 2 0,007161485 2,039718019 0,00024971 4,1435438814 0,125 2 0,003548112 2,018393162 6,18916E05 4,0346425155 0,0625 2 0,001765997 2,009126856 1,54398E05 4,008581734

    Condition de stabilit :

    Soit le problme :

    On effectue un dveloppement de Taylor suivant :

    Ou encore :

  • L'erreur locale sur la mthode est :

    La mthode est stable lorsque tend vers zro quand n tends vers l'infini

    Pour cela il faut que

    C'est--dire :

    Ici :

    On dduit donc

    4) Vrifier l'ingalit de la question 2/ dans le cas o .

  • Exercice 3: Pendule simple

    L'quation rgissant le mvt d'un pendule simple de longueur et faisant un angle par rapport la verticale :

    On rappelle que , et on prendra pour l'implmentation .

    1/Ecrire une fonction Matlab dcrivant l'quation du pendule comme un systme d'quations diffrentielles d'ordre 1.

    Solution

    1/ Le problme de Cauchy est sous la forme gnrale

    En effet :

    Ecrivons la fonction :

    Les variables phi et phiprime sont des vecteurs de longueur 2, o phi(1) reprsente l'angle que le pendule fait

    avec la verticale, phi(2) reprsente .

    2) Programmer la mthode d'Euler explicite, pour un systme d'ordre 1 et de dimension quelconque.

    Une solution pour Euler.m :

    3) L'tat initial du pendule dfinit l'amplitude du mouvement : si celle-ci est faible, la solution de l'quation

    linarise donne une approximation du comportement du pendule.

  • Faire un programme Matlab pour valider cette approximation pour diffrents tats initiaux en comparant pour

    chacun des cas le rsultat de l'intgration numrique de l'quation du pendule avec la solution analytique du

    problme linaris.

    Do

    Dfinir un fichier de script qui trace sur un mme graphique pour l'intervalle de temps [0 5] et pour l'tat initial

    - La solution du pendule calcule par la mthode d'Euler avec 5000 points d'intgration.

    -La solution du pendule donne par la mthode prdfinie de Matlab ode45

    La solution analytique de l'quation linarise.

    Recommencer pour

    Solution Matlab

  • Exercice 3 (suite) : Pendule Amorti :

    On dsire rsoudre numriquement l'quation diffrentielle dcrivant le mouvement d'un pendule amorti :

    o la position du pendule est donne par x , m est la masse du pendule, k la constante de raideur du ressort

    (linaire) et le coefficient de frottement (linaire).

    Soient les donnes suivantes du problme

    Conditions initiales : t=0s, le pendule est sa position d'quilibre (x(0)=0) mais possde une vitesse de 2m/s.

    En utilisant la mthode de Runge-Kutta, raliser un programme Matlab pour rsoudre l'quation diffrentielle pour

    .

    Solution :

    Dans une premire tape, on va transformer cette quation du second ordre en un systme de deux quations du

    premier ordre. A cet effet, posons :

    On a donc le systme diffrentiel suivant :

    Soient les donnes suivantes du problme

    Conditions initiales : t=0s, le pendule est sa position d'quilibre (x(0)=0) mais possde une vitesse de 2m/s.

    Rsoudre l'quation diffrentielle pour .

    La fonction dcrivant l'EDO function udot = oscillateur(t,u) % on initialise le vecteur colonne udot udot = zeros(2,1); %on calcule les drives % ? /m = 0.5 et k/m = 1.5, udot(1) = u(2); udot(2) = -0.5*u(2) -1.5*u(1);

    Programme du pendule amorti %Valeur initiale : u0 = [0 2] [t u] = ode45('oscillateur',[0 20],[0 2]); % Affichage de la position et la vitesse du pendule en fonction du temps plot(t,u(:,1));hold on; plot(t,u(:,2),'r-.'); xlabel('temps (s)'); title('Pendule amorti'); legend('Position (m)','Vitesse

  • (m/s)');

  • Exercice 4 : Tir de projectile Soit rsoudre lquation diffrentielle suivante :

    avec M=70 kg g=9.81N/kg C=0.27 kg/m Lquation est quivalente

    o et

    Dterminer numriquement V(t). On choisit un pas de temps , et on donne comme condition initiale V(t=0)=0. Tracer la solution de cette quation diffrentielle pour .

    Solution (voir ExoRef1.m) La solution numrique obtenue par la mthode dEuler s'crit :

    On obtient un graphique qui donne lvolution de la solution V(t) en fonction du temps.

  • Exercice : Projectile On cherche rsoudre le problme du mouvement

    d'un point solide de masse m la position

    dans le repre ayant une

    vitesse dans un champ de pesanteur

    (voir figure).

    D'aprs la mcanique du point, il suffit d'appliquer le

    PFD au solide :

    Mouvement dun point de masse dans un champ de

    pesanteur

    1/ Ecrire ce problme sous la forme d'un problme de Cauchy, tel que :

    O avec

    2/ Soient les conditions initiales du problme : et .

    En utilisant une mthode numrique adquate, resoudre le systme diffrentiel ci-dessus pour determiner le point d'attrissage de trois tirs avec diffrents angles de lancement avec une vitesse initiale

    Solution

    Supposons que le mouvement est bidimensionnel dans le plan

    Projetons l'quation vectorielle dans le repre donne le systme d'quation diffrentiel suivant :

    Les conditions initiales du problme :

    La solution exacte du mouvement est :

    Rsolution numrique : Soit le systme diffrentiel d'ordre 2 :

    Pour rsoudre numriquement ce systme, commenons par poser :

  • Ce systme peut s'crire donc :

    De mme, on dfinit :

    Ce systme diffrentiel peut s'crire donc :

    En regroupant l'ensemble des composantes sous la forme d'une seule quation diffrentielle matricielle,

    on a alors :

    avec

    Problme de Cauchy :

    Trouver telle que :

    La rsolution de cette quation fournira les fonctions :

    2/

    Programme de la fonction fprojectile en Matlab pour calculer f (t, u (t)) : (fprojectile )

    Le script suivant rsout le systme d'quations diffrentielles (S1) avec les conditions initiales et . Les rsultats sont montrs pour la position de la particule

    (N+1=31) temps compris entre 0 et 11s. Dtermination des paramtres initiaux L'un des buts de la mthode de Tir est de dterminer ou d'optimiser les paramtres initiaux afin d'obtenir un certain comportement dsir de la solution. Exemple : Dans le cas d'un projectile, on peut chercher dterminer pour quel angle de lancement le projectile ira-t-il le plus loin possible ? C'est on va cherche le point d'atterrissage du solide pour lequel on a :

  • Faisons une approximation linaire entre de la coordonne telle que : On a alors :

    Le point d'atterrissage est le zro de la fonction d'approximation linaire . Ce qui donne aprs simplification :

    La vitesse en x est en gnrale non constante, on peut donc faire une approximation linaire pour calculer :

    D'o

    Le point d'atterrissage est dfini compltement, soit Ci-dessous, on donne une reprsentation montrant les traces des trajectoires et le point d'attrissage de trois tirs avec diffrents angles de lancement avec une vitesse initiale

  • Exercice 5: Equation thermique Une plaque mtallique paisse la temprature de 200C (ou 473K) est soudainement place dans une chambre de 25K, o la plaque est refroidie la fois par la convection naturelle et le transfert radiatif de chaleur. On donne les constantes physiques suivantes :

    En supposant que la distribution de temprature dans le mtal est uniforme, l'quation donnant la temprature en fonction du temps est :

    Rsoudre cette quation diffrentielle par la mthode de Runge-Kutta l'ordre 2 pour et . Solution : (voi programme matlab) La liste du programme 'RK2.m' est la suivante :

    La solution obtenue de l'quation diffrentielle prcdente, dcrot en fonction du temps d'une faon

    hyperbolique.

  • Exercice 6 Une baguette de longueur est place dans un coulement dair la temprature de . La temprature gauche de la baguette (en ) est maintenue gale , mais le ct droit est isol. Le transfert de chaleur dans la baguette se fait par convection. Dterminer la distribution de la temprature le long de laxe de la baguette, sachant que les caractristiques du matriau constituant cette baguette sont :

    Solution : L'quation de la conduction de la chaleur dans la direction de l'axe de la baguette est donne par :

    avec les conditions aux limites suivantes :

    La temprature de l'air est 293 K. Ce systme est un problme conditions aux limites en et . Pour le rsoudre, il faut le transformer en problme conditions initiales : Posons :

    Le systme prcdent s'crit donc :

    Conditions aux limites : On connait dj une condition initiale : . Il reste dterminer la seconde condition. Comment faire ? On transforme la condition limite :

    en une condition initiale telle que :

    On cherche la valeur de telle sorte que permet de donner

    Le programme suivant 'RK4pcl.m' permet de calculer pour chaque valeur arbitraire de introduite par l'intermdiaire du clavier. Une fois cette valeur satisfait la

    condition , on peut arrter les calculs en tapant la valeur 99999.

  • Seule, une condition initiale est connue partir des conditions aux limites, mais la seconde condition initiale qui

    doit tre reste inconnue. Cependant, on peut rsoudre l'quation en faisant une transformation de la condition aux limites

    connue en une condition initiale

    .

    Ainsi, on cherche la valeur de telle sorte que permet de donner .

    Le programme suivant 'RK4pcl.m' permet de calculer pour chaque valeur arbitraire de introduite par l'intermdiaire du clavier. Une fois cette valeur satisfait la

    condition , on peut arrter les calculs en tapant la valeur 99999. Ainsi, l'quation diffrentielle (1er ordre) ci-dessus conditions aux limites peut tre rendue en une quation diffrentielle du 1er ordre conditions initiales, en posant :

    Seule, une condition initiale est connue partir des conditions aux limites, mais la seconde condition initiale qui

    doit tre reste inconnue. Cependant, on peut rsoudre l'quation en faisant une transformation de la condition aux limites

    connue en une condition initiale

    .

    Ainsi, on cherche la valeur de telle sorte que permet de donner .

    Le programme suivant 'RK4pcl.m' permet de calculer pour chaque valeur arbitraire de introduite par l'intermdiaire du clavier. Une fois cette valeur satisfait la

    condition , on peut arrter les calculs en tapant la valeur 99999.

    Aprs excution du programme 'RK4pcl.m'; on obtient la figure 6 sur laquelle se trouvent les solutions

    et .

  • Fig. 6 : volution des solutions et pour

  • Exercice 7 La temprature d'une barre de fer de longueur est initialement la temprature de . La temprature du ct gauche est soudainement rduite , mais la temprature du ct droit est maintenue constante . Tracer la l'volution de la temprature dans la barre chaque intervalle de temps gal , et ceci jusqu' (c'est dire : ) Les proprits thermiques du matriau sont :

    Solution : La diffusivit thermique est calcule par :

    Pour chercher l'volution de la temprature dans la barre, on divise l'intervalle [0,50] en 49 petits intervalles (par exemple). L'quation diffrentielle rsoudre est celle de la chaleur dfinie prcdemment.

    Les valeurs des conditions aux limites sont et telles que :

    Le programme suivant ('RK4cc.m'), utilise la mthode de Runge-Kutta l'ordre 4 pour la rsolution de l'quation aux drives partielles de la conduction de la chaleur suivant la direction et en fonction du temps.

    %************************************************* % Conduction de la chaleur dans une barre de fer * %************************************************* clear;clf;clc;hold off; k=80.2;ro=7870;Cp=447e3;TL=0;TR=200; alpha=k/ro/Cp;dx=(50-1)/49; %******************************* % Construction de la matrice A * %******************************* A(1,1:2)=[-2 1];A(1,3:50)=0; A(50,1:48)=0;A(50,9:10)=[1 -2]; for i=2:49 for j=1:50 if ii+1 A(i,j)=0; end if i==j A(i,j)=-2;

  • A(i,j-1)=1; A(i,j+1)=1; end end end M=A*alpha*1/dx^2; S(1)=TL;S(50)=TR;S(2:49)=0;S=S*alpha/dx^2;S=S'; T(1:50)=40; T=200*ones(T); T=T'; n=0;t=0;h=20;m=0; axis([0 10 0 220]); j=[0,1:length(T),length(T)+1]; T_p=[TL,T',TR]; plot(j,T_p); text(j(2),T_p(2),['t=',int2str(t),'s']); xlabel('i : Nombre de points'); ylabel('T (en C)'); for k=1:5 for m=1:50 n=n+1; k1=h*(A*T+S); k2=h*(A*(T+k1/2)+S); k3=h*(A*(T+k2/2)+S); k4=h*(A*(T+k3)+S); T=T+(k1+2*k2+2*k3+k4)/6; t=h*n; end hold on; j=[0,1:length(T),length(T)+1]; T_p=[TL,T',TR]; plot(j,T_p); text(j(k+1),T_p(k+1),int2str(t)); end

  • Exercice 2 : On veut rsoudre lquation diffrentielle du 1er ordre suivante :

    en utilisant les formules dAdams ouvertes lordre 1 et les formules dAdams (prdicteur-correcteur) pour un pas . On donne la limite de convergence . 1/ Calculer par les deux mthodes pour 2/ Ecrire un programme dans Matlab permettant de calculer et de tracer les rsultats de ces deux mthodes sur le mme graphe, Conclusion.

    Solution : * Les formules dAdams (prdicteur-correcteur) consiste crire la solution sous la forme

    : Dans ce cas, on a :

    or est inconnue ; donc est aussi inconnue. Dans ce cas, on utilise la mthode itrative suivante :

    o est la kime valeur itre de , et est une valeur arbitraire initiale de . La rsolution doit se faire de faon ce que :

    Si , on obtient :

    On arrte les calculs si . ** Formules dAdams ouvertes lordre 1 (Mthode dEuler) :

    Pour la mthode dEuler, la solution est donne par lexpression :

    b) Le programme suivant eul2.m permet dinclure les 2 mthodes :

    %******************************************* % Rsolution d'une quation diffrentielle * % du 1er ordre par deux mthodes * %******************************************* clear; clf; hold off;

  • % Mthode d'Euler l'ordre 1 y1(1)=10;t(1)=0;h=0.1;n=1; while t(n)
  • Fig. 2 : Comparaison des deux mthodes de rsolution numrique 3. quations diffrentielles du second ordre Ces quations sont du type :

    o , et sont des constantes ou des fonctions de .

    et sont des conditions initiales. Avant d'appliquer la mthode d'Euler par exemple, on peut rendre l'quation prcdente une quation du type 1er

    ordre. Dans ce cas, on pose . D'o :

    Les conditions initiales deviennent :

    o : En faisant le calcul pas par pas, on obtient : pour ,

    pour ,

  • Ainsi, dans Matlab, le calcul pour chaque pas de temps peut tre dcrit par les matrices ci-dessous.

    On dfinit au dpart et par :

    et

    ensuite, on crit , et on rsout l'quation :

    Exemple : Rsoudre l'quation diffrentielle suivante :

    avec :

    On donne le pas .

    Calculer pour en utilisant la mthode d'Euler l'ordre 1 (calcul manuel).

    Calculer, en utilisant un algorithme dans Matlab, la solution de l'quation diffrentielle prcdente pour .

    Tracer l'volution de pour . Solution : a. Le systme prcdent peut tre crit sous la forme :

    avec : Pour , on a :

    ,

    ,

    b. Sous une forme vectorielle, l'quation prcdente s'crit :

  • o La mthode d'Euler donne :

    Le programme 'eul3.m', list ci-dessous permet de calculer la solution de l'quation diffrentielle propose :

    %******************************************* % Rsolution d'une quation diffrentielle * % du second ordre par la mthode d'Euler * %******************************************* clc; clear; clf; hold off; t_max=5;h=0.05;n=1; y(:,1)=[0;1];t(1)=0; while t(n)

  • Fig. 3 : volution des solutions et en fonction du temps

  • 4. Mthode de Runge-Kutta 4.1. Mthode de Runge-Kutta du second ordre Elle est de la forme :

    ou bien sa forme standard peut tre crite ainsi :

    Cette mthode est quivalente celle d'Euler deux itrations seulement. 4.2. Mthode de Runge-Kutta l'ordre 4 Cette mthode s'exprime sous la forme :

    et la solution est donne par :

    Exemple 1 : Rsoudre le systme suivant par la mthode de Runge-Kutta l'ordre 4 :

    avec les conditions initiales suivantes :

    On donne :

    Les constantes sont gales :

    Solution :

  • Si on dfinit : ; et , le systme prcdent devient :

    Ce systme peut s'crire sous la forme matricielle suivante :

    o et :

    Le programme suivant 'RK4.m' permet la rsolution du systme prcdent :

    %************************************* % Mthode de Runge-Kutta l'ordre 4 * %************************************* clear;clc;clf; M1=1;M2=1;M3=1; K1=1;K2=1;K3=1; F1=0.01;F3=0;F=[0 0 0 F1/M1 0 F3/M3]'; B1=0.1;B3=0.1;h=0.1; y(:,1)=[0 0 0 0 0 0]';t(1)=0;i=1; C=[0 0 0 1 0 0; 0 0 0 0 1 0; 0 0 0 0 0 1; -K1/M1 K2/M1 0 -B1/M1 B1/M1 0; K1/M2 -(K1+K2)/M2 K2/M2 B1/M2 -B1/M2 0; 0 K2/M3 -(K2+K3)/M3 0 0 -B3/M3]; while t

  • i=i+1; end plot(t,y(1:3,:)); grid on; text(t(70),y(1,70),'y1'); text(t(70),y(2,70),'y2'); text(t(70),y(3,70),'y3'); xlabel('Temps (en s)'); ylabel('Solutions,y1, y2, y3');

    La fonction 'f1m.m' est le sous programme list ci-dessous :

    %***************** % Fonction f1m.m * %***************** function f=f1m(y,C,F); f=C*y+F;

    Aprs excution du programme 'RK4.m', on obtient le graphe suivant donnant les solutions ( ) recherches.

    Fig. 5 : volution des trois solutions , et 5. Mthode Matricielle avec des "Conditions aux Limites" Considrons l'quation de la conduction de la chaleur selon la direction :

    o la condition initiale est :

  • et les conditions aux limites sont :

    En utilisant les diffrences finies, l'quation diffrentielle ci-dessus s'crit :

    o , est le nombre d'intervalles sur , et . Dans ce cas, les conditions aux limites s'crivent :

    On obtient ainsi le systme suivant :

    o et sont des vecteurs colonnes et est une matrice carre d'ordre , dfinis ci-aprs :

    ; et Ce systme peut tre rsolu par la mthode de Runge-Kutta par exemple. Exemple 1 : La temprature d'une barre de fer de longueur est initialement la temprature de . La temprature du ct gauche est soudainement rduite , mais la temprature du ct droit est maintenue constante . Tracer la l'volution de la temprature dans la barre chaque intervalle de temps gal , et ceci jusqu' (c'est dire : , , , , , ). Les proprits thermiques du matriau sont :

    Solution : La diffusivit thermique est calcule par :

    Pour chercher l'volution de la temprature dans la barre, on divise l'intervalle en 49 petits intervalles (par exemple). L'quation diffrentielle rsoudre est celle de la chaleur dfinie prcdemment.

    Les valeurs des conditions aux limites sont et telles que :

  • Le programme suivant ('RK4cc.m'), utilise la mthode de Runge-Kutta l'ordre 4 pour la rsolution de l'quation aux drives partielles de la conduction de la chaleur suivant la direction et en fonction du temps.

    %************************************************* % Conduction de la chaleur dans une barre de fer * %************************************************* clear;clf;clc;hold off; k=80.2;ro=7870;Cp=447e3;TL=0;TR=200; alpha=k/ro/Cp;dx=(50-1)/49; %******************************* % Construction de la matrice A * %******************************* A(1,1:2)=[-2 1];A(1,3:50)=0; A(50,1:48)=0;A(50,9:10)=[1 -2]; for i=2:49 for j=1:50 if ii+1 A(i,j)=0; end if i==j A(i,j)=-2; A(i,j-1)=1; A(i,j+1)=1; end end end M=A*alpha*1/dx^2; S(1)=TL;S(50)=TR;S(2:49)=0;S=S*alpha/dx^2;S=S'; T(1:50)=40; T=200*ones(T); T=T'; n=0;t=0;h=20;m=0; axis([0 10 0 220]); j=[0,1:length(T),length(T)+1]; T_p=[TL,T',TR]; plot(j,T_p); text(j(2),T_p(2),['t=',int2str(t),'s']); xlabel('i : Nombre de points'); ylabel('T (en C)'); for k=1:5 for m=1:50 n=n+1; k1=h*(A*T+S); k2=h*(A*(T+k1/2)+S); k3=h*(A*(T+k2/2)+S); k4=h*(A*(T+k3)+S);

  • T=T+(k1+2*k2+2*k3+k4)/6; t=h*n; end hold on; j=[0,1:length(T),length(T)+1]; T_p=[TL,T',TR]; plot(j,T_p); text(j(k+1),T_p(k+1),int2str(t)); end

    Exemple 2 : tude de la rpartition de la temprature dans les parois un four

    On considre un four dans le plan de la section droite reprsents ci-dessous. On appelle la surface interne du

    four et la surface externe.

    En rgime permanent, la temprature en un point de la paroi vrifie l'quation de Laplace :

    avec les conditions aux limites suivantes :

    Fig. 7 : Gomtrie et maillage des parois du four

    - Ecrire un programme calculant la temprature de la paroi du four aux points de la grille dfinie sur la figure 7 ci-dessus (figure en haut).

    On suppose que les dimensions , , et permettent ce quadrillage. Application Numrique :

  • et : Solution : quation de Laplace :

    avec :

    Le dveloppement en srie de Taylor de la fonction autour de o s'crit :

    En additionnant ces deux relations et en divisant par , on trouve :

    En oprant de la mme manire pour la variable , on trouve :

    Dans notre cas, on a . Donc, le Laplacien bidimensionnel s'crit :

    On pose :

    Pour simplifier la notation, l'expression prcdente s'crit sous la forme :

    (*) Cette quation peut tre reprsente par la forme molculaire suivante :

    Pour et par exemple, on obtient 26 nuds l'intrieur du domaine (fig. 7). Donc, , o

    est l'ensemble des points intrieurs du domaine (et ; sur et sur ) . crivons les premires et dernires lignes du systme (*) :

  • Remarquons que :

    et que :

    On a le systme suivant alors :

    On a donc un systme de 26 quations 26 inconnues. Donc, ce systme (ou l'quation de Laplace discrtise) peut tre rsolu(e) par la mthode de Gauss-Seidel (mthode explicite) o l'quation de Laplace donne le point central de chaque forme molculaire par l'expression :

    (**) Remarque : Avec l'algorithme prcdent (**), il est inutile de mmoriser explicitement la matrice du systme (*). Il suffit de

    mmoriser la temprature de chacun des points de la grille. Dfinissons les valeurs particulires des indices correspondants aux parois de la figure 8 suivante :

    Fig. 8 : Dfinition des indices caractrisant les parois

  • Le programme suivant appel 'laplace.m' permet de rsoudre le systme (**) par la mthode explicite. Pour cela, on

    se donne une valeur (distribution) arbitraire initiale , qui porte dans l'quation (**) au second membre pour

    chaque couple , donne une nouvelle valeur , et ainsi de suite. L'arrt des calculs se fait

    quand o est la limite de convergence que l'on se donne.

    %***************************************** % Etude de la rpartition de temprature * % dans les parois d'un four * % Rsolution d'un systme linaire par * % la mthode itrative de Gauss-Seidel * % Mthode explicite * %***************************************** tic; flops(0); clear all; clc;clf; eps=1e-4;k1=300; % Donnes initiales L1=input ('Introduire la valeur de L1 :\n'); L2=input ('Introduire la valeur de L2 :\n'); L3=input ('Introduire la valeur de L3 :\n'); L4=input ('Introduire la valeur de L4 :\n'); dx=input ('Introduire la valeur du pas dx :\n'); Thetaint=input ('Introduire la valeur de Theta interne :\n'); Thetaext=input ('Introduire la valeur de Theta externe :\n'); % Calcul des indices m=round(L1/dx)+1; n=round(L2/dx)+1; m1=round((L1-L3)/(2*dx))+1; n1=round((L2-L4)/(2*dx))+1; m2=m1+round(L3/dx); n2=n1+round(L4/dx); % Initialisation de la temprature dans le four for i=1:n for j=1:m T(i,j)=Thetaint; end end % Temprature de la paroi externe for i=1:n T(i,1)=Thetaext; T(i,m)=Thetaext; end for j=1:m T(1,j)=Thetaext; T(n,j)=Thetaext; end % Temprature de la paroi interne for i=n1:n2 T(i,m1)=Thetaint;

  • T(i,m2)=Thetaint; end for j=m1:m2 T(n1,j)=Thetaint; T(n2,j)=Thetaint; end % Mthode de Gauss-Seidel (Itrations) for k=1:k1 for i=2:n-1 for j=2:m1-1 T(i,j)=0.25*(T(i-1,j)+T(i+1,j)+T(i,j-1)+T(i,j+1)); end end for i=2:n-1 for j=m2+1:m-1 T(i,j)=0.25*(T(i-1,j)+T(i+1,j)+T(i,j-1)+T(i,j+1)); end end for i=2:n1-1 for j=m1:m2 T(i,j)=0.25*(T(i-1,j)+T(i+1,j)+T(i,j-1)+T(i,j+1)); end end for i=n2+1:n-1 for j=m1:m2 T(i,j)=0.25*(T(i-1,j)+T(i+1,j)+T(i,j-1)+T(i,j+1)); end end if abs(T(n-1,m-1)-T(2,2))
  • figure(2); i=1:n;j=1:m; grid on; contour(i,j,T(i,j),15); title('Lignes isothermes dans les parois du four'); xlabel('i');ylabel('j'); t_mis=toc Nb_opt=flops

    On excute ce programme (laplace.m), en rentrant les valeurs de , , , , et enfin

    et . >>Introduire la valeur de L1 : 60 Introduire la valeur de L2 : 60 Introduire la valeur de L3 : 20 Introduire la valeur de L4 : 20 Introduire la valeur du pas dx : 1 Introduire la valeur de Theta interne : 1220 Introduire la valeur de Theta externe : 35 t_mis= 113.9700 Nb_opt= 7362728

    Fig. 9 : volution en 3D de la temprature dans les parois du four

  • Fig. 10 : Lignes isothermes dans les parois du four 6. Conversion de coordonnes Dans Matlab, il existe plusieurs commandes pour la conversion des coordonnes. Nous en donnons ci-aprs un bref apperu. 6.1. Coordonnes polaires Les fonctions 'cart2pol' et 'pol2cart' permettent respectivement le passage des coordonnes cartsiennes en coordonnes polaires et inversement. Les syntaxes sont : >>[theta,r]=cart2pol(x,y) >>[x,y]=pol2cart(theta,r)

    et doivent tre des vecteurs de mme taille reprsentant les coordonnes des points considrs, r et reprsentent les coordonnes polaires et sont des vecteurs de mmes dimensions que et , o est exprime en radians. 6.2. Coordonnes cylindriques Les fonctions 'cart2pol' et 'pol2cart' permettent respectivement le passage des coordonnes cartsiennes en coordonnes cylindriques et inversement. Les syntaxes sont : >>[theta,r,z]=cart2pol(x,y,z) >> [x,y,z]=pol2cart(theta,r,z)

    , et sont des vecteurs de mme taille, et sont des vecteurs de mmes dimensions que , et , et est exprime en radians.

    6.3. Coordonnes sphriques Les fonctions 'cart2sph' et 'sph2cart' permettent respectivement le passage des coordonnes cartsiennes en coordonnes sphriques et inversement. Les syntaxes sont : >>[Az,Elv,r]=cart2sph(x,y,z) >>[x,y,z]=sph2cart(Az,Elv,r) r, , et sont des vecteurs de mme taille, et sont respectivement l'azimut et l'lvation exprimes en radians, de mmes dimensions que , et . 7. Problmes en Coordonnes Cylindriques Considrons l'quation de la conduction de la chaleur exprime en coordonnes cartsiennes :

  • En coordonnes polaires, cette quation s'crit sous la forme :

    sur la domaine

    Sur ce domaine , on construit un maillage en coordonnes polaires comme le montre la figure 11 ci-

    dessous, avec et o et sont des entiers.

    Fig. 11 : Systme de maillage en coordonnes polaires

    Ainsi, la temprature et la fonction deviennent au point :

    Pour des valeurs non nulles de , les drives secondes de par rapport et s'crivent sous la forme disrtise suivante :

    En utilisant les diffrences centres, peut s'crire au point sous la forme :

    Ainsi, l'quation de la chaleur discrtise est :

    Soit, aprs regroupement des diffrents termes :

    C'est l'quation de conduction de la chaleur discrtise (diffrences finies) en coordonnes cylindriques, obtenue

    pour des valeurs de non nulles ( ). Les indices i et sont des entiers (commenant par 1 dans Matlab). A l'origine ( ), l'quation de la conduction en coordonnes polaires prsente une singularit. Cette dernire doit tre limine. Pour cela, on utilise le Laplacien de l'quation de la conduction non pas en coordonnes cylindriques, mais en coordonnes cartsiennes :

  • quand

    On construit ensuite un cercle de rayon , centr en . Considrons la temprature ,

    et , , et sont les tempratures sur le cercle aux 4 nuds (intersection avec les axes et oy). Ainsi, l'quation prcdente (en coordonnes cartsiennes) s'crit sur le cercle de rayon :

    La rotation des axes et oy autour de conduit aux mmes rsultats (quation de la chaleur en coordonnes

    cartsiennes discrtise). En considrant comme la moyenne arithmtique des tempratures autour du cercle de rayon , l'quation prcdente devient :

    o est la moyenne arithmtique des valeurs de autour du cercle de rayon et de centre et est la valeur de la temprature .

    Les coordonnes polaires -deux dimensions- peuvent tre extrapoles en coordonnes

    cylindriques (trois dimensions) pour l'obtention de l'quation de la conduction de la chaleur discrtise.

    Pour le problme bidimensionnel en voqu prcdemment, compte tenu de la symtrie axiale, l'quation de la conduction de la chaleur peut tre rduite :

    Pour , l'quation prcdente discrtise s'crit sous la forme :

    o , , et est un entier positif. Au centre ( ), en utilisant la rgle de l'Hopital nous obtenons :

    Ainsi l'quation de la conduction de la chaleur en deux dimensions s'crit compte tenu de la symtrie axiale du problme :

    en Soit en diffrences finies :

    pour En coordonnes cylindriques, l'quation de la conduction de la chaleur est donne par l'expression suivante :

    Les coordonnes sont reprsentes par :

    o et sont des entiers.

  • La temprature au nud est note par :

    et les diffrentes drives partielles deviennent :

    L'quation de la chaleur discrtise en coordonnes cylindriques au nud devient :

    pour des valeurs de non nulles. Pour , on a :

    et l'quation de conduction en devient :

    en

    Soit en utilisant les diffrences finies au nud :

    8. Discrtisation de l'quation de la Conduction en rgime instationnaire Dans le systme de coordonnes cartsiennes (trois dimensions), l'quation de conduction de la chaleur en rgime instionnaire (temporel) s'crit (si ) :

    Pour rsoudre cette quation aux drives partielles en utilisant la mthode des diffrences finies, on utilise un

    maillage cubique (mailles de cts avec :

    o , et sont entiers positifs, et le domaine temporel est divis en petits intervalles de temps de telle sorte que :

    Dans ce cas, la temprature au point P(x,y,z) un temps donn est reprsente par :

    En utilisant la mthode des diffrences finies, les diffrents termes de l'quation ci-dessus au drives partielles s'crivent au point P(x,y,z) :

  • et l'quation de la conduction discrtise en trois dimensions devient :

    En regroupant les diffrents termes de cette quation, on obtient :

    Cette quation ne peut tre rsolue que par une mthode itrative (mthode de Gauss-Seidel par exemple). Si on pose :

    alors, la condition de convergence de la solution recherche dpend essentiellement du signe de la quantit . Cette quantit doit tre strictement positive.

    Ainsi, une condition doit relier le pas de temps et les autres pas spatiaux ( , et ) :

    Pour amorcer le calcul itratif, on ensemence le domaine de frontire par des valeurs arbitraires ( par exemple), et on arrte les calculs quand la condition suivante sera ralise :

    o est la prcision que lon se fixera.