Download as pdf or txt
Download as pdf or txt
You are on page 1of 22

Ecuatia eliptica

Ecuatia Laplace/Poisson: 2 u 2 2u
2
+c 2
= F ( x, y )
x y

Domeniul de definitie: x [ xA , xB ] si y [ y A , yB ]

Conditii la limita: se pun pe frontiera domeniului


x = xA avem u = g y1 ( y ) y = y A avem u = g x1 ( x)
x = xB avem u = g y 2 ( y ) y = yB avem u = g x 2 ( x)

Veriticare tip ecuatie:


2u 2u 2u u u
A 2 +B +C 2 + D + E + Fu + G = 0
x xy y x y
Avem: A = 1 si C = c2 B 2 4 AC = 0 4 1 c 2 < 0
Ecuatia eliptica

Determinarea solutiei numerice:

I. Discretizarea ecuatiei

II. Discretizarea domeniului

III. Discretizarea conditiilor la limita

IV. Calculul solutiei numerice

!!! La examen se va da si solutia analitica verificati ca


aceasta solutie verifica ecuatia si conditiile la limita !!!
II. Discretizarea domeniului
y ui , j = u ( xi , y j )
yA
i = 1, N x
j = 1, N y

ui , j = ?

xi = ?
yB yj = ?

xA xB x

x xA yB y A
x = B xi = x A + x (i 1) y = y j = y A + y ( j 1)
N x 1 N y 1
I. Discretizarea ecuatiei

Derivata de ordinul II

y = f ( x) d 2 y ( xi ) yi +1 2 yi + yi 1
yi = 2
=
dx x 2

y u u = u ( x, y )

Notatie: ui , j = u ( xi , y j )

d 2ui , j ui +1, j 2ui , j + ui 1, j d 2ui , j ui , j +1 2ui , j + ui , j 1


= =
dx 2
x 2 dy 2 y 2
I. Discretizarea ecuatiei

y d 2ui , j ui +1, j 2ui , j + ui 1, j


yA 2
=
dx x 2

d 2ui , j ui , j +1 2ui , j + ui , j 1
yB
2
=
dy y 2
xA xB x

2 u 2 2u ui +1, j 2ui , j + ui 1, j ui , j +1 2ui , j + ui , j 1


2
+c 2
= F ( x, y ) + c2 = F ( xi , y j )
x y x 2
y 2
III. Discretizarea conditiilor la limita

u ( xi , yN y ) = g x 2 ( xi )
u = g x 2 ( x)

u = g y1 ( y )
u = g y 2 ( y)

u ( x1 , y j ) = g y1 ( y j ) u ( xN x , y j ) = g y 2 ( y j )

u = g x1 ( x) i = 1, N x
u ( xi , y1 ) = g x1 ( xi ) j = 1, N y
IV. Calculul solutiei numerice

ui +1, j 2ui , j + ui 1, j 2
ui , j +1 2ui , j + ui , j 1
2
+c 2
= F ( xi , y j ) i = 1, N x j = 1, N y
x y
x 2
notatie =c 2
2ui , j (1 + ) + ui +1, j + ui 1, j + ui , j +1 + ui , j 1 = F ( xi , y j )
y 2

i=2 j=2 cunoscute


2u2,2 (1 + ) + u3,2 + u1,2 + u2,3 + u2,1 = F ( x2 , y2 )

i=3 j =2

2u3,2 (1 + ) + u4,2 + u2,2 + u3,3 + u3,1 = F ( x3 , y2 )

Rezulta un sistem de ecuatii lineare


Exemplu

Ecuatia : 2u 2u
2
+ 2 =0
x y
Domeniul de definitie: x [0, 0.1] si y [0, 0.1]

Conditii la limita:

Frontiera E: x = 0.0 avem u = g y1 ( y ) = y 2


Frontiera V: x = 0.1 avem u = g y 2 ( y ) = 0.01 y 2

Frontiera N: y = 0.1 avem u = g x 2 ( x) = x 2 0.01


Frontiera S: y = 0.0 avem u = g x1 ( x) = x 2

Solutia analitica: u ( x, y ) = x 2 y 2 i = 1,5 j = 1,3


i = 1,50 j = 1,30
Verificarea solutie analitice

Ecuatia : 2u 2u
2
+ 2 =0 Solutia analitica: u ( x, y ) = x 2 y 2
x y
Domeniul de definitie: x [0, 0.1] si y [0, 0.1]

Verificarea ecuatiei:

2u 2u
=2 2
= 2 22 = 0
2
x y

Verificarea conditii la limita:

Frontiera E: x = 0 avem u (0, y ) = 02 y 2 = g y1 ( y )


Frontiera V: x = 0.1 avem u (0.1, y ) = 0.12 y 2 = g y 2 ( y )
Frontiera N: y = 0.1 avem u ( x, 0.1) = x 2 0.12 = g x 2 ( x)
Frontiera S: y = 0 avem u ( x, 0) = x 2 02 = g x1 ( x)
I. Discretizarea ecuatiei

ui +1, j 2ui , j + ui 1, j 2
ui , j +1 2ui , j + ui , j 1
2
+c 2
= F ( xi , y j ) i = 1,5 j = 1,3
x y
x 2
=c 2
2ui , j (1 + ) + ui +1, j + ui 1, j + ui , j +1 + ui , j 1 = x 2 F ( xi , y j )
y 2

0.0252
=1 2
2
= 0.25 F ( xi , y j ) = 0
0.05
2ui , j (1 + 0.25) + ui +1, j + ui 1, j + 0.25ui , j +1 + 0.25ui , j 1 = 0

Rezulta un sistem de ecuatii lineare:


2.5ui , j + ui +1, j + ui 1, j + 0.25ui , j +1 + 0.25ui , j 1 = 0 i = 2, 4 j=2

Caz general: i = 2, N x 1 j = 2, N y 1 Numarul de ecuatii: N = ( N x 2)( N y 2)


II. Discretizarea domeniului

xB x A 0.1 0
x = = = 0.025 xi = x A + x (i 1)
N x 1 5 1 i = 1,5 j = 1,3
y y A 0.1 0 xi = 0 + 0.025(i 1)
y = B = = 0.05
N y 1 3 1
0
0.01
0.025

x = 0.05
0.075

0.01
0.05 y j = y A + y ( j 1)

y j = 0 + 0.05( j 1)
0

y = 0.05
0.0 0.1
0.0 0.025 0.05 0.075 0.1
III. Discretizarea conditiilor la limita
Frontiera V: u = g y1 ( y ) = y 2

u ( x1 , y j ) = y 2j u1, j = y 2j
-0.01 -0.0094 -0.0075 -0.0044 0.0

Frontiera E: u = g y 2 ( y ) = 0.01 y 2
uNx , j = 0.01 y 2j

Pentru frontiera E si V: j = 1, N y
-0.0025 0.0075
Frontiera N: u = g x 2 ( x) = x 2 0.01

ui , N y = xi 2 0.01

Frontiera S: u = g x1 ( x) = x 2
0.0 0.0006 0.0025 0.0056 0.01
ui ,1 = xi2

Pentru frontiera N si S: i = 2, N x 1
IV. Calculul solutiei numerice
2ui , j (1 + 0.25) + ui +1, j + ui 1, j + 0.25ui , j +1 + 0.25ui , j 1 = 0 i = 2, 4 j=2

i=2 j=2
2.5u2,2 + u3,2 + u1,2 + 0.25u2,3 + 0.25u2,1 = 0
2.5u2,2 + u3,2 + (0.025) + 0.25(0.0094) + 0.25(0.006) = 0

i=3 j=2
2.5u3,2 + u4,2 + u2,2 + 0.25u3,3 + 0.25u3,1 = 0
2.5u3,2 + u4,2 + u2,2 + 0.25(0.0075) + 0.25(0.0025) = 0

i=4 j=2
2.5u4,2 + u5,2 + u3,2 + 0.25u4,3 + 0.25u4,1 = 0
2.5u4,2 + (0.0075) + u3,2 + 0.25(0) + 0.25(0.01) = 0
IV. Calculul solutiei numerice
2.5 1 0 u2,2 0.0047 u2,2 0.0040
1 u = 0.0013
2,3
u = 0.0023
2.5 1 2,3
u 0.0010
0 1 2.5 u2,4 0.0078 2,4

-0.01 -0.0094 -0.0075 -0.0044 0.0

0.2105
vex vap
err = 100 = 0.2296
vex 0.2105

-0.0025 -0.004 -0.0023 0.001 0.0075

0.0 0.0006 0.0025 0.0056 0.01


Program

PROGRAM ecuatie_eliptica
implicit none
! I. Declarare ! III. Calcul
! discretizare domeniu
! II. Initializare
! impunerea conditiilor la limita
! III. Calcul
! Formarea sistemul Ax=b
! IV. Afisare (salvare)
! Rezolvarea sistemului Ax=b
CONTAINS ! (metoda iterativa)

Function Us(x,y)
implicit none
real x,y,Us
Us=x*x-y*y
End function

END
Discretizare domeniu

x xA ! Discretizare domeniu
x = B dx=(xB-xA)/(Nx-1);
N x 1
dy=(yB-yA)/(Ny-1);
xi = x A + x(i 1)
Do i=1,Nx
x(i)=xA+dx*(i-1)
yB y A
y = EndDo
N y 1
y j = y A + y ( j 1) Do j=1,Ny
y(j)=yA+dy*(j-1)
EndDo
i = 1, N x j = 1, N y
Impunerea conditiilor la limita

V: x = xA avem u = g y1 ( y) ! Conditii la limita


u1, j = y 2j
Do j=1,Ny
E: x = xB avem u = g y 2 ( y ) u(1,j)=Us(x(1),y(j))
u(Nx,j)=Us(x(Nx),y(j))
u Nx , j = 0.01 y 2j EndDo

j = 1, N y Do i=2,Nx-1
u(i,1)=Us(x(i),y(1))
u(i,Ny)=Us(x(i),y(Ny))
N: y = y A avem u = g x1 ( x) EndDo
ui , N y = xi 2 0.01

S: y = yB avem u = g x 2 ( x)
ui ,1 = xi2

i = 2, N x 1
Formarea sistemul Ax=b
2ui , j (1 + ) + ui +1, j + ui 1, j + ui , j +1 + ui , j 1 = x 2 F ( xi , y j )

i = 2, N x 1 j = 2, N y 1

Avem cinci zone distincte ! Formarea sistemul Ax=b


lambda=dx*dx/dy/dy;
Do i=2,Nx-1
Do j=2,Ny-1

n=(i-1)*Nx+j

A(n,n)=-2*(1+lambda)
A(n,n+1)=1
A(n,n-1)=1
A(n,n+N)=lambda
A(n,n-N)=lambda
b(n)=F(x(i),y(j))
EndDo
EndDo
Formarea sistemul Ax=b
2ui , j (1 + ) + ui +1, j + ui 1, j + ui , j +1 + ui , j 1 = x 2 F ( xi , y j )

! Formarea sistemul Ax=b



Do i=1,Nx
!S
j=1
n=(i-1)*N+j
b(n)=U(i,j)
A(n,n)=1;

!N
j=Ny
n=(i-1)*N+j
b(n)=U(i,j)
A(n,n)=1
EndDo
Formarea sistemul Ax=b
2ui , j (1 + ) + ui +1, j + ui 1, j + ui , j +1 + ui , j 1 = x 2 F ( xi , y j )

! Formarea sistemul Ax=b



Do j=2,Ny-1
!V
i=1
n=(i-1)*N+j
b(n)=U(i,j)
A(n,n)=1

!E
i=Nx
n=(i-1)*N+j
b(n)=U(i,j)
A(n,n)=1
EndDo
Rezolvarea sistemului

Se poate folosi orice metoda de ! Rezolvarea sistemului Ax=b


rezolvare a sistemelor de ecuatii ! (metoda iterativa)
lineare. ! x = sol

De preferat metodele iterative.
Do i=2:M-1
Do j=2:N-1
n=(i-1)*N+j
U(i,j)=sol(n)
EndDo
EndDo

You might also like