Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
Universitรฉ sidi mohamed ben abdellah de fes
Facultรฉ des Sciences et Technique fes
Compte rendu des travaux pratique sous
MATLAB :
A.U 2019-2020
Responsable : Pr. Amine Jamali Alaoui
Rรฉalisรฉ par :
ZILLOU Ismail (D134477124)
Analyse numรฉrique des
EDP
Problรจme 1 :
(๐ท) {
๐๐
๐๐ญ(๐ฑ, ๐ญ) + ๐
๐ ๐ป
๐๐ฑ (๐ฑ, ๐ญ) = ๐
๐(๐ฑ, ๐) = ๐๐ฎ(๐, ๐ญ) = ๐ฎ(๐ฅ, ๐ญ) = ๐
1) La mรฉthode de ๐ฝ-schรฉma associรฉe ร ce problรจme : avec ๐ฝ โ [๐, ๐]
Les discrรฉtisations des domaines [๐, ๐ณ] et [๐, ๐] de lโespace et le temps par des
pas ๐ก =๐
๐ง et ๐ =
๐
๐ respectivement donnรฉe ๐ฅ๐ = ๐โ et ๐ก๐ = ๐๐ ๐๐๐ข๐ ๐ก๐๐ข๐ก
๐ = 1, โฆ , ๐ โ 1 et ๐ = 0, โฆ , ๐ โ 1
Lโapproximation de ๐๐
๐๐ et
๐๐
๐๐ก :
๐๐
๐๐(๐ฅ๐, ๐ก๐) =
๐(๐ฅ๐,๐ก๐+1)โ๐(๐ฅ๐,๐ก๐)
โ
๐๐
๐๐ก(๐ฅ๐, ๐ก๐) =
๐(๐ฅ๐+1,๐ก๐)โ๐(๐ฅ๐โ1,๐ก๐)
๐
schรฉma associรฉe a (P) :
Avec ๐(๐ฅ๐, ๐ก๐) note ๐๐๐ alors :
๐๐
๐+1โ๐๐
๐
๐+ ๐(๐ โ ๐)
๐ป๐+๐๐
โ๐ป๐โ1๐
โ+ ๐๐
๐ป๐+๐๐+๐
โ๐ป๐โ1๐+๐
โ = ๐
On multipliรฉ par ๐ on trouve :
๐๐๐+1
โ ๐๐๐
+ ๐(๐ โ ๐)(๐ป๐+๐๐
โ ๐ป๐โ1๐
) + ๐๐(๐ป๐+๐๐+๐
โ ๐ป๐โ1๐+๐
) = 0
Donc :
๐๐๐+1
โ ๐๐ฝ๐ป๐โ1๐+๐
+ ๐๐ฝ๐ป๐+๐๐+๐
= ๐๐๐ + ๐(๐ โ ๐)๐ป๐โ1
๐โ ๐(๐ โ ๐)๐ป๐+๐
๐
Oรน ๐ =๐๐
โ .
Dโoรน le schรฉma est :
Si ๐ = 1 :
๐1๐+1
โ ๐๐ฝ๐ป๐๐+๐
+ ๐๐ฝ๐ป๐๐+๐
= ๐1๐ + ๐(๐ โ ๐)๐ป๐
๐โ ๐(๐ โ ๐)๐ป๐
๐
๐๐ ๐0๐
= ๐๐๐
= 0 ๐๐๐ข๐ ๐ = 0, โฆ , ๐ โ 1 :
๐1๐+1
+ ๐๐ฝ๐ป๐๐+๐
= ๐1๐
โ ๐(๐ โ ๐)๐ป๐๐
Si ๐ = ๐ โ 1 :
๐๐โ1๐+1
โ ๐๐ฝ๐ป๐โ๐๐+๐
+ ๐๐ฝ๐ป๐๐+๐
= ๐๐โ1๐ + ๐(๐ โ ๐)๐ป๐โ๐
๐โ ๐(๐ โ ๐)๐ป๐
๐
๐๐ ๐0๐
= ๐๐๐
= 0 ๐๐๐ข๐ ๐ = 0, โฆ , ๐ โ 1 :
๐๐โ1๐+1
โ ๐๐ฝ๐ป๐โ๐๐+๐
= ๐๐โ1๐ + ๐(๐ โ ๐)๐ป๐โ๐
๐
On obtient le systรจme matriciel suivant :
๐ด๐๐+1 = ๐ต๐๐ ๐๐ฃ๐๐ ๐ = 0, โฆ , ๐ โ 1 Oรน
๐ด = (
1 ฮปฮธ
โฮปฮธ โฑ (0)โฑ
โฑ(0)
โฑ ฮปฮธ
โฮปฮธ 1
) ๐๐ก ๐ต = (
1 โฮป(1 โ ฮธ)
ฮป(1 โ ฮธ) โฑ (0)โฑ
โฑ(0)
โฑ โฮป(1 โ ฮธ)
ฮป(1 โ ฮธ) 1
)
2)
Programme sur MATLAB :
function T=Temp(a,b,L,p,n,m,teta) h=L/n; to=p/m; x=0:h:L; t=0:to:p; N=length(t); M=length(x); lambda=(to*a)/h; for j=1:M T(j,1)=b; end A=full(gallery('tridiag',M,-
(lambda*teta),1,lambda*teta)); B=full(gallery('tridiag',M,(lambda*(1-
teta)),1,(-lambda*(1-teta)))); for i=2:N T(:,i)=inv(A)*(B*T(:,i-1)); end for i=2:N T(:,i)=inv(A)*(B*T(:,i-1)); end T(:,1)=0; T(:,M)=0; plot(x,T)
3) pour afficher la distribution de la tempรฉrature pour un schรฉma de
Cranck-Nicolson :
T=Temp(0.1, 350, 4, 500, 100, 100, 0.5)
On obtient :
4)
Programme sur MATLAB :
function Er=Err(a,b,L,p,n,m,teta) h=L/n; to=p/m; x=0:h:L; t=0:to:p; N=length(t); M=length(x); T=Temp(a,b,L,p,n,m,teta) for i=1:N for j=1:M Te(i,j)=b*((j*h)-a*(i*to)); Er(i,j)=abs(Te(i,j)-T(i,j)); end end plot(x,Er)
5)
Err=Err(0.1, 350, 4, 500, 100, 100, 0.5)
On obtient:
Problรจme 2:
(๐ท) {๐"(๐) = โ๐๐ ๐๐๐(๐) ๐๐๐ ]๐, ๐[
๐(๐) = ๐(๐) = ๐
On cherche la formule variationelle de problรจme :
Soit ๐ โ ๐ฏ๐๐(๐) ๐๐๐ ๐๐๐๐๐๐๐๐ ๐๐๐๐๐ ๐๐ ๐ :
โซ ๐"(๐)๐(๐)๐ ๐
๐
= โซ โ ๐๐ ๐๐๐(๐)๐(๐)
๐
๐ ๐
On obtient par application de formule de Green (intรฉgration par partie) dans
lโespace ๐ฏ๐๐(๐)
[๐ขโฒ(๐ฅ)๐ฃ(๐ฅ)]๐๐ โ โซ ๐ขโฒ(๐ฅ)๐ฃโฒ(๐ฅ)๐๐ฅ =
๐
๐
โซ โ4๐ cos(๐ฅ) ๐ฃ(๐ฅ)๐๐ฅ ๐๐ฃ๐๐๐
๐
๐ฃ โ ๐ป01(ฮฉ)
Alors le problรจme faible est :
(๐๐ฃ) {
๐ก๐๐๐ข๐ฃ๐๐ ๐ข โ ๐ป01(๐บ) ๐ก๐๐ ๐๐ข๐
โซ ๐บ
๐ขโฒ(๐ฅ)๐ฃโฒ(๐ฅ) ๐๐ฅ = 4๐ โซ ๐บ
cos (๐ฅ)๐ฃ(๐ฅ) ๐๐ฅ โ๐ฃ โ ๐ป01(ฮฉ)
Le problรจme approchรฉ (๐ท๐) associรฉ ร (๐ท๐) :
Aprรจs une discrรฉtisation de ๐ avec un pas ๐โ๐
๐ต , les nลuds du maillage sont
alors ๐๐ = ๐ + ๐ (๐โ๐
๐ต) = ๐ + ๐๐ ๐ = ๐, โฆ , ๐ต , On chosaient ๐ฝ๐ un sous
espace de ๐ฏ๐๐(๐) de dimension รฉgale ร n=N-1, et {๐๐, ๐๐, โฆ , ๐๐} une base
de ๐ฝ๐ avec ๐๐ dรฉfinie apatriรฉ des polynรดmes de Lagrange de premiรจre degrรฉ
puisque on a ๐๐(๐๐) = 1 et ๐๐(๐๐โ๐) = ๐๐(๐๐+๐) = 0 par :
๐๐(๐) = {
๐โ๐๐โ๐
๐ ๐๐ ๐ โ [๐๐โ๐, ๐๐]
๐๐+๐โ๐
๐ ๐๐ ๐ โ [๐๐, ๐๐+๐]
๐ ๐๐ ๐๐๐
Et ๐๐๐๐(๐๐) = [๐๐โ๐, ๐๐+๐] .
Soit ๐๐, ๐๐ โ ๐ฝ๐ alors ๐๐ = โ ๐๐๐๐=๐ ๐๐ et ๐๐ = โ ๐๐
๐๐=๐ ๐๐.
Le problรจme approchรฉ de (๐ท๐) est :
(๐ท๐) {๐๐๐๐๐๐๐ ๐๐ โ โ ๐ = ๐, โฆ , ๐ ๐๐๐ ๐๐๐
โ ๐๐๐๐=๐
โซ ๐๐โฒ๐๐
โฒ
๐ด
๐ ๐ = ๐๐ โซ ๐๐๐(๐)๐๐
๐ด๐ ๐ ๐๐๐๐ ๐ = ๐, โฏ , ๐
Alors (๐ท๐) รฉquivalent ร une forme matricielle ๐จ๐๐ผ๐ = ๐ฉ๐ avec
๐จ๐ โ (โซ (๐๐โฒ๐๐
โฒ
๐ด)(๐) ๐ ๐)
๐,๐=๐,..,๐et ๐ฉ๐ โ (๐๐ โซ ๐๐๐(๐)๐๐
(๐)
๐ด๐ ๐)
๐=๐,..,๐
Les รฉlรฉments de la matrice ๐จ๐ :
๐จ๐,๐ = โซ ๐๐โฒ๐
(๐) ๐ ๐ ๐๐+๐
๐๐โ๐๐ = ๐, โฆ , ๐
๐จ๐,๐+๐ = โซ ๐๐โฒ
(๐)๐๐+๐โฒ
(๐) ๐ ๐๐๐+๐
๐๐ ๐ = ๐, โฆ , ๐ โ ๐
๐จ๐,๐โ๐ = โซ ๐๐โฒ
(๐)๐๐โ๐โฒ
(๐) ๐ ๐๐๐
๐๐โ๐ ๐ = ๐, โฆ , ๐
Avec ๐๐โฒ(๐) = {
๐
๐ ๐๐ ๐ โ [๐๐โ๐, ๐๐]
โ๐
๐ ๐๐ ๐ โ [๐๐, ๐๐+๐]
๐ ๐๐ ๐๐๐
Alors :
๐จ๐,๐ =๐
๐ ๐ = ๐, โฆ , ๐
๐จ๐,๐+๐ =โ๐
๐ ๐ = ๐, โฆ , ๐ โ ๐
๐จ๐,๐โ๐ = โ๐
๐ ๐ = ๐, โฆ , ๐
La matrice ๐ดโ est :
๐ดโ =1
โ(
2 โ1โ1 โฑ
(0)โฑ
โฑ(0)
โฑ โ1โ1 2
)
Les รฉlรฉments de ๐ฉ๐ :
๐ฉ๐ = โซ ๐๐ ๐๐๐(๐)๐๐ (๐)
๐
๐๐ ๐ = ๐๐ โซ ๐๐๐(๐)
๐๐+๐
๐๐โ๐๐๐
(๐) ๐ ๐ ๐๐๐๐ ๐ = ๐, โฆ , ๐ .
= ๐๐ โซ ๐๐๐(๐)๐๐+๐
๐๐โ๐(
๐โ๐๐โ๐
๐)๐ ๐ + โซ ๐๐๐(๐)
๐๐+๐
๐๐โ๐(
๐๐+๐โ๐
๐)๐ ๐
Par des intรฉgrations par partie on obtient :
๐ฉ๐ =๐๐
๐[๐๐๐๐(๐๐) โ ๐๐๐(๐๐โ๐) โ ๐๐๐(๐๐+๐)] ๐๐๐๐ ๐ = ๐, โฆ , ๐