Académique Documents
Professionnel Documents
Culture Documents
Les fichiers exo1.m, exo2.m et exo3.m utilisent le calcul symbolique pour résoudre les exer-
cices de ce document.
1
2 Exemple 1 – Conditions de Dirichlet
1. Problème fort :
d dT
− k = f, Ω =]A, B[
dx dx
T (A) = TA , T (B) = TB
2. Problème faible :
On multiplie par une fonction test et on intègre par partie :
Z B Z B
dϕ dT dT dT
k dx = ϕ(B) k + ϕ(A) −k + ϕf dx
A dx dx dx B dx A A
3. Espace Solution :
On cherche T = T0 + Tg telle que T0 ∈ H01 (Ω), car nous avons des conditions de Dirichlet
sur tout le bord du domaine de calcul.
Selon l’approche de Galerkin, on choisit ϕ ∈ H01 (Ω).
4. Imposer les conditions de Neumann ou de Robin :
Les conditions de Neumann ou de Robin ne peuvent être utilisées.
Z B Z B
dϕ dT
k dx = ϕf dx
A dx dx A
∀ϕ ∈ H01 (Ω)
5. Formulation faible continue – Imposer les conditions de Dirichlet :
On cherche T = T0 + Tg telle que T0 ∈ H01 (Ω), satisfaisant la formulation faible suivante :
Z B Z B Z B
dϕ dT0 dϕ dTg
k dx = ϕf dx − k dx
A dx dx A A dx dx
∀ϕ ∈ H01 (Ω)
6. Approximation - polynomiale :
— T ≈ T N = T0N + Tg .
— T0N = N
P
j=1 Ψj (x)aj .
— ϕ = Ψi (x) de i = 1..N
— Ψi (x) = (x − A)i ∗ (x − B) de i = 1..N
7. Formulation faible discrète :
On cherche T N = T0N + Tg telle que T0N ∈ V N ⊆ H01 (Ω), satisfaisant la formulation faible
suivante
N Z B Z B Z B
X dΨi dΨj dΨi dTg
k dx aj = Ψi f dx − k dx
j=1 A dx dx A A dx dx
2
pour Ψi de i = 1..N
8. Coefficients de la matrice du système d’équations :
Z B
dΨi dΨj
Aij = k dx
A dx dx
3
• Exercice 1. Soit le problème de transfert de chaleur :
d dT
− k = f, Ω =]0, 1[
dx dx
T (0) = 0, T (1) = 0
k=1
f =x
Z 1 Z 1 Z 1
dϕ dT0 dϕ dTg
k dx = ϕf dx − k dx
0 dx dx 0 0 dx dx
pour Ψi de i = 1..N
5. Identifier l’expression des coefficients de la matrice.
Z 1
dΨi dΨj
Aij = k dx
0 dx dx
4
6. Identifier l’expression des coefficients du membre de droite.
Z 1 Z 1
dΨi dTg
Bi = Ψi f dx − k dx
0 0 dx dx
7. Écrire un script matlab pour calculer la solution approchée. Afficher les solutions ap-
prochées et la solution exacte sur un même graphique.
(Voir fichier exo1.m)
clear all
close all
syms x real
syms Texact ( x ) % solution exacte
syms Tg ( x ) % relevement
syms f ( x ) % terme source
f(x)=x;
a =0; % limite gauche
b =1; % limite droite
L =1; % coefficient de conduction
Tg ( x ) =0; % relevement
Texact ( x ) = - x * ( x *x -1) /6; % solution exacte
for N =1:3 , % boucle sur les approximations
% construction des approximations
for i =1: N ,
PSI ( i ) =( x - a ) ^ i * (x - b ) ;
end
dPSIdx = diff ( PSI , x ) ;
% construction de la matrice et du memnre de droite
for i =1: N ,
for j =1: N ,
g = dPSIdx ( i ) * L * dPSIdx ( j ) ;
A (i , j ) = int (g ,x ,a , b ) ;
end
h = PSI ( i ) * f ;
B (i ,1) = int (h ,x ,a , b ) ;
end
X = A \ B ; % calcul des coefficients
T0 = PSI * X ;
T = T0 + Tg ;
fplot (T ,[ a b ]) ; % affichage d e la solution approche
hold on
% pause , vous devez toucher une touche pour pousuivre
end
handle = fplot ( Texact ,[ a b ]) ; % affichage de la solution exacte
en rouge
set ( handle , ' linestyle ' , ' -- ' , ' color ' , ' red ' , ' LineWidth ' ,2)
xlabel ( ' x ' )
ylabel ( ' T ' )
5
legend ( ' N =1 ' , ' N =2 ' , ' N =3 ' , ' TEXACT ' , ' location ' , ' bestoutside ' )
title ( ' exo1 . m ' )
% figure
% spy ( double ( A ) )
6
3 Exemple 2 – Conditions de Dirichlet et de Neumann
1. Problème fort :
d dT
− k = f, Ω =]A, B[
dx dx
dT
T (A) = TA , k (B) = FB
dx
2. Problème faible :
On multiplie par une fonction test et on intègre par partie :
Z B Z B
dϕ dT dT dT
k dx = ϕ(B) k + ϕ(A) −k + ϕf dx
A dx dx dx B dx A A
3. Espace Solution :
On cherche T = T0 + Tg telle que T0 ∈ HΓ10 (Ω) (Γ0 = {A}), car nous avons des conditions
de Dirichlet sur une partie du bord du domaine de calcul.
Selon l’approche de Galerkin, on choisit ϕ ∈ HΓ10 ((Ω).
4. Imposer les conditions de Neumann ou de Robin :
On remplace la variable secondaire k∇T · ~n par l’expression du flux.
Z B Z B
dϕ dT
k dx = ϕ(B)FB + ϕf dx
A dx dx A
∀ϕ ∈ HΓ10 (Ω)
5. Formulation faible continue – Imposer les conditions de Dirichlet :
On cherche T = T0 + Tg telle que T0 ∈ HΓ10 (Ω), satisfaisant la formulation faible suivante :
Z B Z B Z B
dϕ dT0 dϕ dTg
k dx = ϕ(B)FB + ϕf dx − k dx
A dx dx A A dx dx
∀ϕ ∈ HΓ10 (Ω)
6. Approximation - polynomiale :
— T ≈ T N = T0N + Tg .
T0N = N
P
— j=1 Ψj (x)aj .
— ϕ = Ψi (x) de i = 1..N
— Ψi (x) = (x − A)i de i = 1..N
7
7. Formulation faible discrète :
On cherche T N = T0N + Tg telle que T0N ∈ V N ⊆ HΓ10 (Ω), satisfaisant la formulation faible
suivante
N Z B Z B Z B
X dΨi dΨj dΨi dTg
k dx aj = Ψi (B)FB + Ψi f dx − k dx
j=1 A dx dx A A dx dx
pour Ψi de i = 1..N
8. Coefficients de la matrice du système d’équations :
Z B
dΨi dΨj
Aij = k dx
A dx dx
8
• Exercice 2. Soit le problème de transfert de chaleur :
d dT
− k = f, Ω =]0, 1[
dx dx
dT
T (0) = 1, k (1) = 1/2
dx
k=1
f =x
Z 1 Z 1 Z 1
dϕ dT0 1 dϕ dTg
k dx = ϕ(1) + ϕf dx − k dx
0 dx dx 2 0 0 dx dx
pour Ψi de i = 1..N
5. Identifier l’expression des coefficients de la matrice.
Z 1
dΨi dΨj
Aij = k dx
0 dx dx
9
6. Identifier l’expression des coefficients du membre de droite.
Z 1 Z 1
1 dΨi dTg
Bi = Ψi (1) + Ψi f dx − k dx
2 0 0 dx dx
7. Écrire un script matlab pour calculer la solution approchée. Afficher les solutions ap-
prochées et la solution exacte sur un même graphique.
(Voir fichier exo2.m)
clear all
close all
syms x real
syms Texact ( x ) % solution exacte
syms Tg ( x ) % relevement
syms f ( x ) % terme source
f=x;
a =0; % limite gauche
b =1; % limite droite
L =1; % coefficient de conduction
Tg =1; % relevement
FB =0.5; % flux en B
Texact ( x ) = - x ^3/6+ x +1; % solution exacte
for N =1:3 , % boucle sur les approximations
% construction des approximations
for i =1: N ,
PSI ( i ) =( x - a ) ^ i ;
end
dPSIdx = diff ( PSI , x ) ;
% construction de la matrice et du memnre de droite
for i =1: N ,
for j =1: N ,
g = dPSIdx ( i ) * L * dPSIdx ( j ) ;
A (i , j ) = int (g ,x ,a , b ) ;
end
h = PSI ( i ) * f ;
B (i ,1) = subs ( PSI ( i ) ,x , b ) * FB + int (h ,x ,a , b ) ;
end
X = A \ B ; % calcul des coefficients
T0 = PSI * X ;
T = T0 + Tg ;
fplot (T ,[ a b ]) ; % affichage de la solution approche
hold on
% pause , vous devez toucher une touche pour pousuivre
end
handle = fplot ( Texact ,[ a b ]) ; % affichage de la solution exacte en
rouge
set ( handle , ' linestyle ' , ' -- ' , ' color ' , ' red ' , ' LineWidth ' ,2)
xlabel ( ' x ' )
10
ylabel ( ' T ' )
legend ( ' N =1 ' , ' N =2 ' , ' N =3 ' , ' TEXACT ' , ' location ' , ' bestoutside ' )
title ( ' exo2 . m ' )
% figure
% spy ( double ( A ) )
11
4 Exemple 3 – Conditions de Robin et de Dirichlet
1. Problème fort :
d dT
− k = f, Ω =]A, B[
dx dx
dT
−k (A) = hA (TA∞ − T (A)), T (B) = TB
dx
2. Problème faible :
On multiplie par une fonction test et on intègre par partie :
Z B Z B
dϕ dT dT dT
k dx = ϕ(B) k + ϕ(A) −k + ϕf dx
A dx dx dx B dx A A
3. Espace Solution :
On cherche T = T0 + Tg telle que T0 ∈ HΓ10 (Ω) (Γ0 = {B}), car nous avons des conditions
de Dirichlet sur une partie du bord du domaine de calcul.
Selon l’approche de Galerkin, on choisit ϕ ∈ HΓ10 ((Ω).
4. Imposer les conditions de Neumann ou de Robin :
On remplace la variable secondaire k∇T · ~n par l’expression du flux.
Z B Z B
dϕ dT
k dx = ϕ(A)(hA (TA∞ − T (A))) + ϕf dx
A dx dx A
∀ϕ ∈ HΓ10 (Ω)
5. Formulation faible continue – Imposer les conditions de Dirichlet :
On cherche T = T0 + Tg telle que T0 ∈ HΓ10 (Ω), satisfaisant la formulation faible suivante :
Z B Z B Z B
dϕ dT0 dϕ dTg
k dx + ϕ(A)hA T0 (A) = ϕ(A)hA (TA∞ − Tg (A)) + ϕf dx − k dx
A dx dx A A dx dx
∀ϕ ∈ HΓ10 (Ω)
6. Approximation - polynomiale :
— T ≈ T N = T0N + Tg .
T0N = N
P
— j=1 Ψj (x)aj .
— ϕ = Ψi (x) de i = 1..N
— Ψi (x) = (x − B)i de i = 1..N
12
7. Formulation faible discrète :
On cherche T N = T0N + Tg telle que T0N ∈ V N ⊆ H01 (Ω), satisfaisant la formulation faible
suivante
N Z B
X dΨi dΨj
k dx + Ψi (A)hA Ψj (A) aj = Ψi (A)hA (TA∞ − Tg (A)) +
j=1 A dx dx
Z B Z B
dΨi dTg
Ψi f dx − k dx
A A dx dx
pour Ψi de i = 1..N
8. Coefficients de la matrice du système d’équations :
Z B
dΨi dΨj
Aij = k dx + Ψi (A)hA Ψj (A)
A dx dx
13
• Exercice 3. Soit le problème de transfert de chaleur :
d dT
− k = f, Ω =]0, 1[
dx dx
dT
−k (0) = hA (T0∞ − T (0)), T (1) = 5
dx
k=1
f =x
∞
T0 = 1
hA = 1
Z 1 Z 1 Z 1
dϕ dT0 dϕ dTg
k dx + ϕ(0)hA T0 = ϕ(0)hA (TA∞ − Tg (0)) + ϕf dx − k dx
0 dx dx 0 0 dx dx
pour Ψi de i = 1..N
14
5. Identifier l’expression des coefficients de la matrice.
Z 1
dΨi dΨj
Aij = k dx + Ψi (0)hA Ψj (0)
0 dx dx
7. Écrire un script matlab pour calculer la solution approchée. Afficher les solutions ap-
prochées et la solution exacte sur un même graphique.
(Voir fichier exo3.m)
clear all
close all
syms x real
syms Texact ( x ) % solution exacte
syms Tg ( x ) % relevement
syms f ( x ) % terme source
f=x;
a =0; % limite gauche
b =1; % limite droite
L =1; % coefficient de conduction
Tg =5; % relevement
HA =1; % coefficient de convection en A
TAinf = 1; % temperature l ' infini en A
Texact ( x ) = - x ^3/6+25/12* x +37/12; % solution exacte
for N =1:3 , % boucle sur les approximations
% construction des approximations
for i =1: N ,
PSI ( i ) =( x - b ) ^ i ;
end
dPSIdx = diff ( PSI , x ) ;
% construction de la matrice et du memnre de droite
for i =1: N ,
for j =1: N ,
g = dPSIdx ( i ) * L * dPSIdx ( j ) ;
A (i , j ) = int (g ,x ,a , b ) + subs ( PSI ( i ) * HA * PSI ( j ) ,x , a ) ;
end
h = PSI ( i ) * f ;
B (i ,1) = subs ( PSI ( i ) * HA *( TAinf - Tg ) ,x , a ) + int (h ,x ,a , b ) ;
end
X = A \ B ; % calcul des coefficients
T0 = PSI * X ;
T = T0 + Tg ;
fplot (T ,[ a b ]) ; % affichage de la solution approche
hold on
15
% pause , vous devez toucher une touche pour pousuivre
end
handle = fplot ( Texact ,[ a b ]) ; % affichage de la solution exacte en
rouge
set ( handle , ' linestyle ' , ' -- ' , ' color ' , ' red ' , ' LineWidth ' ,2)
ylabel ( ' T ' )
xlabel ( ' x ' )
legend ( ' N =1 ' , ' N =2 ' , ' N =3 ' , ' TEXACT ' , ' location ' , ' bestoutside ' )
title ( ' exo3 . m ' )
16
Méthodologie
1. Problème fort :
2. Problème faible :
3. Espace Solution :
6. Approximation - polynomiale :
17