You are on page 1of 21

Ecuația parabolică

2
∂u 2 ∂ u
−α 2
= F ( x, t )
∂t ∂x

Domeniul de definiție: t ∈ [0, T ] si x ∈ [ xA , xB ]

Condiție inițilă: t = 0 avem u ( x, 0) = f ( x)

Condiții la limită: x = xA avem u ( xA , t ) = g1 (t )


x = xB avem u ( xB , t ) = g 2 (t )

Veriticare tip ecuație: Scrieți forma generală la examen !

∂ 2u ∂ 2u ∂ 2u ∂u ∂u
A 2 +B +C 2 + D + E + Fu + G = 0
∂t ∂t ∂x ∂x ∂t ∂x
Avem: A = 1 si C = -α2 B 2 − 4 AC = 0 − 4 ⋅ 0 ⋅ (−α 2 ) = 0

1
Ecuatia parabolică

Determinarea soluției numerice:

I. Discretizarea ecuației

II. Discretizarea domeniului

III. Discretizarea condițiilor la limită

IV. Calculul soluției numerice

!!! La examen se va da și solutia analitică verificați că


această soluție verifică ecuația și condițiile la limită !!!
2
I. Discretizarea ecuației

y = f ( x) yi = f ( xi ) y → u u = u ( x, t ) uin = u ( xi , tn )

dy ( xi ) yi +1 − yi ∂uin uin +1 − uin


yi′ = = =
dx ∆x ∂t ∆t
y − yi −1 uin − uin −1
= i =
∆x ∆t
y −y uin +1 − uin −1
= i +1 i −1 =
2∆x 2∆t
∂ 2uin uin+1 − 2uin + uin−1
d 2 y ( xi ) yi +1 − 2 yi + yi −1 =
yi′′ = = ∂x 2 ∆x 2
dx 2 ∆x 2

3
I. Discretizarea ecuației
2
∂u 2 ∂ u
−α 2
= F ( x, t )
∂t ∂x

uin +1 − uin n n n
2 ui +1 − 2ui + ui −1 -schema explicită
−α 2
= F ( xi , tn )
∆t ∆x

uin − uin −1 n n n
2 ui +1 − 2ui + ui −1
−α 2
= F ( xi , tn ) -schema implicită
∆t ∆x
uin +1 − uin n +1 n +1
2 ui +1 − 2ui + uin−+11
schema echivalentă −α 2
= F ( xi , tn )
∆t ∆x

uin +1 − uin −1 n n n
2 ui +1 − 2ui + ui −1
−α 2
= F ( xi , tn ) -schema explicită însă avem
2∆t ∆x
nevoie de trei pași de timp

4
uin +1 − uin n n n
2 ui +1 − 2ui + ui −1
I. Discretizarea ecuației −α 2
= F ( xi , tn )
∆t ∆x
t -schema explicită
T

pasul n+1
pasul n
0

xA xB x
-schema implicită

uin +1 − uin n +1 n +1
2 ui +1 − 2ui + uin−+11
−α 2
= F ( xi , tn )
∆t ∆x 5
II. Discretizarea domeniului

t ui , j = u ( xi , tn )
T
i = 0, N x
n = 0, Nt

ui , j = ?

xi = ?
0 tn = ?

xA xB x

x − xA T −0
∆x = B xi = x A + i ⋅ ∆x ∆t = t j = 0 + n ⋅ ∆t
Nx Nt

6
III. Discretizarea conditiilor la limita

u = g1 (t )
u = g2 (t )

u ( x0 , tn ) = g1 (tn ) u ( xN x , tn ) = g 2 (tn )

u = f ( x) i = 0, N x
u ( xi , t0 ) = f ( xi ) n = 1, Nt

7
IV. Calculul soluției numerice – forma explicită

uin +1 − uin n n n
2 ui +1 − 2ui + ui −1
−α 2
= F ( xi , tn ) i = 1, N x − 1 n = 0, N t − 1
∆t ∆x
forma echivalentă
uin − uin −1 n −1 n −1
2 ui +1 − 2ui + uin−−11
−α = F ( xi , tn −1 ) i = 1, N x − 1 n = 1, Nt
∆t ∆x 2
∆t 1
notatie λ = α 2 2
< uin = uin −1 (1 − 2λ ) + λ (uin+−11 + uin−−11 ) + F ( xi , tn −1 )∆t
∆x 2
i=2 n=2

u22 = u12 (1 − 2λ ) + λ (u31 + u11 ) + F ( x1 , t1 )∆t

i=3 n=2

u32 = u31 (1 − 2λ ) + λ (u14 + u12 ) + F ( x2 , t1 )∆t

8
IV. Calculul soluției numerice – forma implicită

uin − uin −1 n n n
2 ui +1 − 2ui + ui −1
−α 2
= F ( xi , tn ) i = 2, N x − 1 n = 2, Nt
∆t ∆x

∆t
Notație λ = α 2 uin (1 + 2λ ) − λuin+1 − λuin−1 = uin −1 + F ( xi , tn )∆t
∆x 2

i=2 n=2 cunoscuta


u22 (1 + 2λ ) − λu32 − λu12 = u12 + F ( x2 , t2 )∆t

i=3 n=2

u32 (1 + 2λ ) − λu42 − λu22 = u31 + F ( x3 , t2 )∆t

Rezultă un sistem de ecuații lineare


9
Exemplu

Ecuația : ∂u ∂ 2u
− 2 =0
∂t ∂y

Domeniul de definiție: x ∈ [ xA , xB ] si t ∈ [0, 0.04]


x A = 0 + 0.02* INDEX xA = 0
xB = 1 + 0.02* INDEX xB = 1
INDEX = 0

Condiție initilă: t = 0 avem u ( x, 0) = sin(π x)


−π 2t
Condiții la limită: x = xA avem u ( xA , t ) = sin(π xA )e =0
−π 2 t
x = xB avem u ( xB , t ) = sin(π xB )e =0
2
Soluția analitică: usa ( x, t ) = sin(π x)e−π t

N x = 4 Nt = 2 i = 0, N x = 0, 4 n = 0, Nt = 0, 2

10
i = 1,50 n = 1,30
∆t = 0.0002
11
Verificarea soluție analitice

Ecuația : ∂u ∂ 2u 2
− 2 =0 Soluția analitică: usa ( x, y) = sin(π x)e−π t
∂t ∂y

Verificarea ecuației:
∂u 2 ∂ 2u −π 2 t 2
= sin(π x)e−π t (−π 2 ) 2
= − sin(π x ) e π
∂t ∂x
−π 2 t 2 −π 2 t
sin(π x)e (−π ) + sin(π x)e π2 =0

Verificarea condiții la limită:

Condiție initilă: −π 2 0
t = 0 avem u ( x, 0) = sin(π x)e = sin(π x)
−π 2t
Condiții la limită: x = 0 avem u (0, t ) = sin(π ⋅ 0)e =0
−π 2t
x = 1 avem u (1, t ) = sin(π ⋅1)e =0
12
I. Discretizarea ecuației

uin − uin −1 n −1 n −1
2 ui +1 − 2ui + uin−−11 i = 0, 4 n = 0, 2
−α 2
= F ( xi , tn −1 )
∆t ∆x
∆t uin = uin −1 (1 − 2λ ) + λ (uin+−11 + uin−−11 ) + F ( xi , tn −1 )
Notație λ = α 2
∆x 2

x − xA 1 − 0 t f − ti 0.04 − 0
∆x = B = = 0.25 ∆t = = = 0.6 = 0.02
N x −1 5 −1 Nt − 1 3 −1

0.02
λ = 12 2
= 0.32 < 0.5 Conditia de stabilitate
0.25

F ( xi , tn −1 ) = 0
i = 1,3 n = 1, 2

uin = uin −1 0.34 + 0.32(uin+−11 + uin−−11 ) + 0


13
II. Discretizarea domeniului

∆x = 0.25 xi = x A + i ⋅ ∆x
i = 0, 4 n = 0, 2
∆t = 0.02 xi = 0 + 0.25 ⋅ i
 0 
0.04
0.25
 
x =  0.5 
0.75
 
 1 
0.02
t n = 0 + n ⋅ ∆t

t n = 0.02 ⋅ n
 0 
 
t = 0.02 
0.0 0.04 
0.0 0.25 0.5 0.75 1   14
III. Discretizarea condițiilor la limită

Condiție initilă:
t = 0 avem u ( x, 0) = sin(π x)
0.0 0.0

ui0 = sin(π xi ) i = 0, N x

Condiții la limită:

0.0 0.0 x = 0 avem u (0, t ) = 0

u0n = sin(π x A ) = 0
x = 1 avem u (1, t ) = 0
0.0 0.7071 1.0 0.7071 0.0
u Nn x = sin(π xB ) = 0

n = 1, Nt
15
IV. Calculul soluției numerice

uin = uin −1 0.34 + 0.32(uin+−11 + uin−−11 ) i = 1,3 n = 1, 2

0.0 0.4669 0.6602 0.4669 0.0 i =1 n =1

u11 = u10 0.34 + 0.32(u20 + u00 )

u00 = 0.7071⋅ 0.34 + 0.32(0.0 + 1) = 0.5746

0.0 0.5746 0.8125 0.5746 0.0 i = 2 n =1


u12 = u20 0.34 + 0.32(u30 + u10 )

u12 = 1⋅ 0.34 + 0.32(07071 + 0.7071) = 0.8125

0.0 0.7071 1.0 0.7071 0.0

vex − vap 0.6738 − 0.6602


err = ⋅100 = = 2.01%
vex 0.6738
16
Program
PROGRAM ecuatie_parabolica
implicit none
! I. Declarare ! III. Calcul
… ! discretizare domeniu
! II. Initializare …
… ! impunerea conditiilor la limita
! III. Calcul …
… ! calculul solutiei
! IV. Afisare (salvare) …

CONTAINS

Function Us(x,t)
implicit none
real x,t,Us
real pi
pi=4*atan(1.0)
Us=sin(pi*x)*exp(pi*pi*t)
End function

END 17
Discretizare domeniu

x − xA ! Discretizare domeniu
∆x = B dx=(xB-xA)/Nx;
Nx
dt=(tf-ti)/Nt;
xi = x A + i ⋅ ∆x
Do i=1,Nx
x(i)=xA+dx*i
t f − ti
∆t = EndDo
Nt
t n = ti + n ⋅ ∆t Do n=1,Nt
t(n)=ti+dt*n
EndDo
i = 0, N x n = 0, Nt

18
Impunerea condițiilor la limită

Conditie initilă: ! Condiții la limită

ui0 = sin(π xi ) i = 0, N x Do i=0,Nx


u1(i,0)=Us(x(i),t(0))
EndDo

Condiții la limită: Do n=1,Nt


u(1,n)=Us(x(1),t(n))
2 n u(Nx,n)=Us(x(Nx),t(n))
u0n = sin(π xA )e−π t
=0 n = 1, Nt EndDo
2 n
u Nn x = sin(π xB )e−π t
=0

19
Calculul solutie numerice

uin = uin −1 (1 − 2λ ) + λ (uin+−11 + uin−−11 )

i = 1,3 n = 1,3

! Calculul solutiei numerice


lambda=dt/dx/dx;
Do n=1,Nt
Do i=1,Nx-1

u(i,n)=u(i,n-1)*(1-2*lambda)+lambda*(u(i+1,n-1)+u(i-1,n-1))

EndDo
EndDo

20
Temă

1 Realizați un program folosnd schema explitica însă solutia u nu se mai o


matrice. Solutia se va salva ca u2 la pasul n si u1 la pasul n-1

2 Realizați un program folosind schema implicită.

21

You might also like