FLUIDE
FLUIDE
FLUIDE
Paix-Travail-Patrie Peace-Work-Fatherland
UNIVERSITE DE DOUALA
ECOLE NATIONALE SUPERIEURE
POLYTECHNIQUE DE DOUALA
(ENSPD)
--------------------------------------------
BP 2701 Douala / SITE Web : www.enspd-udo.com
****************************
DEPARTEMENT DE TECHNOLOGIE DE
CONSTRUCTION INDUSTRIELLE
Rédigé par :
NGUEDIA KEMEGNE Urich Rinel 16G03018
TAGNE TAYO Christ Only 16G03058
WATSOP PIANKEU Noël 16G03301
1. ENONCE DU PROBLEME................................................................................................ 2
2. RESOLUTION DU PROBLEME....................................................................................... 2
a. Résolution par la méthode des différences finies ............................................................ 2
b. Résolution par la méthode manuelle ............................................................................... 5
c. Programme de résolution................................................................................................. 6
d. Résultats ........................................................................................................................ 11
1. ENONCE DU PROBLEME
Nous avons un tube ayant les températures 𝑇𝐴 et 𝑇𝐵 à chacune de ses extrémités. La
chaleur se propage de A vers B et nous avons 𝑇𝐴 > 𝑇𝐵 .
2. RESOLUTION DU PROBLEME
Pour résoudre ce problème, nous utiliserons les méthodes approchées de détermination
en occurrence la méthode des différences finies, ensuite nous utiliserons les méthodes
manuelles de résolution des équations différentielles, enfin nous ferons une comparaison entre
les résultats obtenus pour chacun des cas et nous représenterons la courbe de l’erreur.
De plus, on a
𝑇𝑖′′ +
𝑇𝑖+1 + 𝑇𝑖−1 = 2ℎ𝑇𝑖 + ℎ2 (𝜃 − 𝜃𝑖− )
2! 𝑖
𝑻𝒊+𝟏 − 𝑻𝒊−𝟏 𝝏𝑻
⟹ 𝑻′𝒊 ≈ =
𝟐𝒉 𝝏𝒙
𝜕2 𝑇 𝜕𝑇
2
+𝛼 =𝑄
𝜕𝑥 𝜕𝑥
𝟏 𝜶 𝟐 𝟏 𝜶
⟹ ( + )𝑻 𝒊+𝟏 − 𝑻 𝒊 + ( − )𝑻 = 𝑸𝒊 (𝐸𝑁)
𝒉𝟐 𝟐𝒉𝟐 𝒉𝟐 𝒉𝟐 𝟐𝒉𝟐 𝒊−𝟏
(EN) représente l’équation analytique que nous allons résoudre numériquement à l’aide
du logiciel Matlab R2017b.
Ecriture sous forme matricielle
(EN) peut se mettre sous la forme matricielle. Dans ce cas, on aura :
1 𝑎 2 1 𝑎
( − )𝑇0 − 𝑇1 + ( + )𝑇 = 𝑄1
ℎ2 2ℎ2 ℎ2 ℎ2 2ℎ2 2
1 𝑎 2 1 𝑎
( 2 − 2 )𝑇1 − 2 𝑇2 + ( 2 + 2 )𝑇3 = 𝑄2
ℎ 2ℎ ℎ ℎ 2ℎ
1 𝑎 2 1 𝑎
( 2 − 2 )𝑇2 − 2 𝑇3 + ( 2 + 2 )𝑇4 = 𝑄3
ℎ 2ℎ ℎ . ℎ 2ℎ
.
1 𝑎 2 1 𝑎
( 2 − 2 )𝑇𝑖−1 − 2 𝑇𝑖 + ( 2 + 2 )𝑇𝑖+1 = 𝑄𝑖
ℎ 2ℎ ℎ . ℎ 2ℎ
.
.
1 𝑎 2 1 𝑎
( − ) 𝑇𝑁−1 − 𝑇𝑁 + ( + )𝑇 = 𝑄𝑖
{ ℎ2 2ℎ2 ℎ2 ℎ2 2ℎ2 𝑁+1
2 1 𝑎 1 𝑎
− ( + ) 0 𝑄1 − ( − 2)
ℎ2 ℎ2 2ℎ2 𝑇1 ℎ 2 2ℎ
1 𝑎 2 1 𝑎 𝑇2 𝑄2
( 2 − 2) − 2 ( 2 + 2) ⋯ 0
𝑇3 𝑄3
ℎ 2ℎ ℎ ℎ 2ℎ
1 𝑎 2 .. ..
0 ( 2 − 2) − 2 =
ℎ 2ℎ ℎ .. ..
⋮ ⋱ ⋮
1 𝑎 .. ..
( + 2) 0
ℎ 2 2ℎ 𝑇𝑁−1 𝑄𝑁−1
0 ⋯
2 1 𝑎 [ 𝑇𝑁 ] 1 𝑎
[ − 2 ( 2 + 2 )] [ 𝑄 − ( + )
ℎ ℎ 2ℎ 𝑁
ℎ2 2ℎ2 ]
De cette forme matricielle, on obtient une équation avec une forme connu, de la forme :
𝑨𝑻 = 𝑩
Avec :
2 1 𝑎
− ℎ2 (ℎ2 + 2ℎ2 ) 0
1 𝑎 2 1 𝑎
(ℎ2 − 2ℎ2 ) − ℎ2 (ℎ2 + 2ℎ2 ) ⋯ 0
1 𝑎 2
0 (ℎ2 − 2ℎ2 ) − ℎ2
𝐴= matrice 𝑁 × 𝑁
⋮ ⋱ ⋮
1 𝑎
(ℎ2 + 2ℎ2 ) 0
0 ⋯ 2 1 𝑎
[ − ℎ2 (ℎ2 + 2ℎ2 )]
tri diagonale
1 𝑎
𝑄1 − ( 2
− 2)
ℎ 2ℎ
𝑄2
𝑄3
..
𝐵= ..
..
𝑄𝑁−1
1 𝑎
[ 𝑄 − ( + )
𝑁
ℎ 2 2ℎ2 ]
B est un vecteur uni colonne à 𝑁 lignes prenant en compte les conditions aux limites
𝑇1
𝑇2
𝑇3
..
𝑇= ..
..
𝑇𝑛−1
[ 𝑇𝑛 ]
Résolution de l’équation à l’aide de l’outil Matlab R2017b
L’équation étant sous la forme 𝐴𝑇 = 𝐵, il question pour nous de déterminer T tel qu’il
respecte cette équation et ces conditions initiales.
𝜕2 𝑇 𝜕𝑇
{ 𝜕𝑥 2
+𝑎 =𝑄
𝜕𝑥
𝑇 (0) = 𝑇𝐴 , 𝑇 (𝐿) = 𝑇𝐵
Solution homogène :
La solution homogène s’écrit sous la forme ci-après :
𝜕2 𝑇 𝜕𝑇
2
+𝑎 =0
𝜕𝑥 𝜕𝑥
Solution particulière
On pose :
∂2 T ∂T Q
2
=0 ⇒ =
∂x ∂x a
𝐐
⟹ 𝐓𝐏 (𝐱) = 𝐱
𝐚
Solution générale :
T (0) = TA C1 + C2 = TA C1 + C2 = TA
{ ⟺ { −aL Q →{ −aL Q
T (L) = TB e C1 + C2 + a L = TB e C1 + C2 = − a L + TB
Soit :
𝐐 𝐐
𝐓𝐀 − 𝐓𝐁 + 𝐚 𝐋 𝐓𝐀 − 𝐓𝐁 + 𝐚 𝐋
𝐂𝟏 = 𝐞𝐭 𝐂𝟐 = 𝐓𝐀 −
𝟏 − 𝐞−𝐚𝐋 𝟏 − 𝐞−𝐚𝐋
c. Programme de résolution
RESOLUTION PAR LA METHODE DES DIFFERENCES FINIES : SOLUTION
APPROCHEE
clc;
clear all;
close all;
%% PAS CONSTANT
%definir la matrice A
for i=1:p
for j=1:p
if i==j
A(i,j)=-2/h^2;
elseif j==i+1
A(i,j)=(1/h^2)+(alpha/(2*h));
elseif j==i-1
A(i,j)=(1/h^2)-(alpha/(2*h));
else
A(i,j)=0;
end
end
end
%definir la source Q=f(x)
fprintf('\n DEFINITION DE LA SOURCE Q \n\n');
disp('Pour definir la source Q, il y a trois possibiltes');
disp('1. saisir Q comme une fonction Q connu');
disp('2. saisir les donnees sur la source Q recuperee sur le terrain (au
moins 5 positions de la fonction f)');
disp('3. saisir Q comme une constante');
choix=input('comment desirez vous definir Q (saisir 1, 2 ou 3): ');
switch choix
case 1
syms x;
f(x)=input('entrer la valeur de Q (Q etant fonction de x): ');
for i=0:p-1
t(i+1)=a+(i+1/2)*h;
B(i+1,1)=f(t(i+1));
if i==0
B(i+1,1)=B(i+1,1)-((1/h^2)-(alpha/(2*h)))*gamma;
elseif i==p-1
B(i+1,1)=B(i+1,1)-((1/h^2)+(alpha/(2*h)))*beta;
else
B(i+1,1)=f(t(i+1));
end
end
case 2
Xx=input('entrer les valeurs de x de la fonction Q connu: ');
Xx;
while length(Xx)<5
disp('longueur du vecteur X>=5');
Xx=input('entrer les valeurs de x de la fonction Q connu: ');
Xx;
end
Ff=input('entrer les valeurs de Q de la fonction Q connu: ');
Ff;
while length(Ff)<5
disp('longueur du vecteur F>=5');
Ff=input('entrer les valeurs de Q de la fonction Q connu: ');
Ff;
end
while length(Xx)~=length(Ff)
disp('longueur du vecteur X doit etre egale a la longueur de
F');
Xx=input('entrer les valeurs de x de la fonction Q connu: ');
Xx;
Ff=input('entrer les valeurs de Q de la fonction Q connu: ');
Ff;
end
ff=polyfit(Xx,Ff,5);
syms x;
n=length(ff)
s=0
for i=1:n
s=s+power(x,i-1)*ff(n-i+1);
end
f(x)=s;
C(1)=polyval(ff,(a+h/2))-((1/h^2)-(alpha/(2*h)))*gamma;
C(p)=polyval(ff,(a+h*(p-1/2)))-((1/h^2)+(alpha/(2*h)))*beta;
for i=2:1:p-1
tt(i)=a+(i-1/2)*h;
C(i)=polyval(ff,tt(i));
end
B=C';
case 3
figure(2)
%trace de la courbe des erreurs
axis([-inf +inf -inf +inf]);
plot(x,Err,'+-b');
title('COURBES DES ERREURS');
xlabel('axe des abscisses');
ylabel('axe des T');
legend ('courbe des erreurs','Location','best');
figure(3)
fprintf('\n TRACE DES COURBES DE DIFFUSION - CONVECTION - SOURCE ET DES
ERREURS \n\n');
x=a:h:b;
axis([-inf +inf -inf +inf]);
plot(x,T,'*-g');hold on;
%trace de la solution exacte
plot(x,Hh,'h-r');hold on;
%trace de la courbe des erreurs
plot(x,Err,'+-b');
grid;
title('COURBES DE DIFFUSION - CONVECTION - SOURCE ET DES ERREURS');
xlabel('axe des abscisses');
ylabel('axe des T');
legend ('solution approchee','solution exacte','courbe des
erreurs','Location','best');
d. Résultats
Ici, nous allons présenter trois cas différents.