Sunteți pe pagina 1din 9

Ex.2 .

Definirea gradientului si laplaceanului unei functii f(x,y) cunoscute


Sa consideram functia f(x,y) = x2+y2 in domeniul (x,y) de la (-1,-1) pana la (1,1) careia
urmarim sa-i determinam gradientul si laplaceanul
In 2D functia gradient este data de relatia
 f  f
grad ( f ) = i +j
x y
unde i şi j sunt versorii axelor x şi y.Laplace-anul functiei scalare este dat de relatia
2 f 2 f
( f ) = f = 2 + 2
x y
Analitic derivatele de ordin 1 sunt df/dx=2x iar df/dy =2y iar cele de ordin 2 , d2f/dx2=2
respectiv d2f/dy2=2 , laplaceanul fiind 4
Descriptorul text de program este
TITLE
'x^2+ y^2'
DEFINITIONS
Lx=1 Ly=1 f=x^2+ y^2
grad_f=vector( dx(f), dy(f)) laplace_f=dxx(f)+ dyy(f)
BOUNDARIES
region 'domain'
start(-Lx,-Ly) line to (Lx,-Ly) to (Lx,Ly) to (-Lx,Ly) to finish
PLOTS
grid( x, y) { Domeniul de calcul }
surface( f) {Suprafata in 3D a functiei }
elevation( f) from (-Lx,-Ly) to (Lx,Ly) { Graficul functiei de la pana la }
contour( f) { Conturul functiei}
vector( grad_f) as 'Gradient'
contour( laplace_f) { Testul daca functia e armonica}
END

Rezultat al simularii numerice la PLOTS se obtine


Discretizarea domeniului prin comanda grid( x, y) si conturul functiei (f=ecuatia cercului )

Gradientul functiei si laplaceanul acesteia


La Plot prin comanda surface(f) se vizualizeaza suprafata functiei
x^2+ y^2
f

X Y
1.50

f
0.50

-1<=X<=1
-1.00
-1<=Y<=1
0.0008262<=s(X,Y)<=2 0.00 0.00
Vol= 2.667

PdzPlt02Surf: Gr=1 err=1

Intrucat functia descrie ecuatia cercului schimbarea domeniului de calcul de la dreptunghi la


cerc implica inlocuirea urmatoarea in
region 'domain'
start(0,1) arc(center(0,0)) angle 360 to finish

TITLE
'x^2+ y^2'
DEFINITIONS
f=x^2+ y^2
grad_f=vector( dx(f), dy(f)) laplace_f=dxx(f)+ dyy(f)
BOUNDARIES
region 'domain'
start(0,1) arc(center(0,0)) angle 360 to finish
PLOTS
grid( x, y) { Domeniul de calcul }
surface( f) {Suprafata in 3D a functiei }
elevation( f) from (-1,0) to (1,0) { Graficul functiei de la pana la }
contour( f) { Conturul functiei}
contour( f) painted
vector( grad_f) as 'Gradient'
contour( laplace_f) { Testul daca functia e armonica}
END
Rezultat al simularii obtinem
• Domeniul de calcul
x^2+ y^2
x, y

1.00

0.50

0.00
Y

-0.50

-1.00

-1.003<=X<=1.003 -1.00 0.00 0.50 1.00


-1.003<=Y<=1.003
PdzPlt01Grid: Gr=1 err=1

• Suprafata descrisa de functie


x^2+ y^2
f

X Y 1.00

0.60
f
0.20

-1.003<=X<=1.003 -1.00
-1.003<=Y<=1.003
0.0008312<=s(X,Y)<=1 0.00 0.00
Vol= 1.57 X

PdzPlt02Surf: Gr=1 err=1

• Conturul functiei
x^2+ y^2
f
Contours:
-------------
1.00 m min: 0.0008312
l a: 0.05
j f
0.50 d b: 0.1
k b gi c: 0.2
0.00 a d: 0.25
Y

e
c h e: 0.35
-0.50 f: 0.4
g: 0.5
-1.003<=X<=1.003 h: 0.6
-1.003<=Y<=1.003 i: 0.65
j: 0.75
0.0008312<=c(X,Y)<=1
-1.00 0.00 0.50 1.00 k: 0.8
Vol= 1.57 l: 0.9
m: 1
PdzPlt05Cont: Gr=1 err=1 max: 1

• Gradientul acesteia
x^2+ y^2
Gradient

1.00

Y
0.00

-1.003<=X<=1.003
-1.003<=Y<=1.003 -1.00 0.00 1.00
max=1.999 min=0.0702

PdzPlt06Vect: Gr=1 err=1


Ex 3.Problema inversa de cunoastere a laplace-anului si determinarea formei de variatia
a functiei

TITLE
'x^2+ y^2'
Variables
f
DEFINITIONS
grad_f=vector( dx(f), dy(f))
Equations
dxx(f)+dyy(f)=4
BOUNDARIES
region 'domain'
start(0,1) value(f)=1 arc(center(0,0)) angle 360 to finish
PLOTS
grid( x, y) { Domeniul de calcul }
surface( f) {Suprafata in 3D a functiei }
elevation( f) from (-1,0) to (1,0) { Graficul functiei de la pana la }
contour( f) { Conturul functiei}
vector( grad_f) as 'Gradient'
END

In rosu sunt evidentiate modificarile necesare determinarii variatiei functiei cunoscand


Laplace-anul . Impunerea conditiilor pe frontiera domeniului este absolut necesara
determinarii functiei
Rezultatul simularii numerice evidentiaza
• Suprafata
x^2+ y^2
f

X Y 1.00

0.60
f
0.20

-1.003<=X<=1.003 -1.00
-1.003<=Y<=1.003
0.0008834<=s(X,Y)<=1 0.00 0.00
Vol= 1.57 X

PdzPlt02Surf: Gr=1 err=0.0009654

• Gradientul
x^2+ y^2
Gradient

1.00

0.00
Y

-1.003<=X<=1.003
-1.003<=Y<=1.003 -1.00 0.00 1.00
max=2.001 min=0.07021

PdzPlt05Vect: Gr=1 err=0.0009654

• Conturul functiei
x^2+ y^2
f
Contours:
-------------
1.00 min: 0.0008834
k
hi a: 0.05
0.50 f b: 0.1
d e c: 0.2
c m
0.00 l g a d: 0.25
Y

j b e: 0.35
-0.50 f: 0.4
g: 0.5
-1.003<=X<=1.003 h: 0.6
m
-1.003<=Y<=1.003 i: 0.65
j: 0.75
0.0008834<=c(X,Y)<=1
-1.00 0.00 0.50 1.00 k: 0.8
Vol= 1.57 l: 0.9
m: 1
PdzPlt04Cont: Gr=1 err=0.0009654 max: 1

• Forma de variatie
x^2+ y^2
f
Curves:
-----------
1.00 a: f
Area: 0.6665
0.75

0.50
f

0.25

02/14/18 - 13:46:24
-1.003<=X<=1.003
5.21E-5<=f(X)<=1 -0.50 0.00 0.50 1.00
From (-1,0) to (1,0)

PdzPlt03Elev: Gr=1 err=0.0009654

Ex 4. Calculul divergentei si rotorului


Pentru calculul divergentei si rotorului se considera un disc de raza unitate rotit cu viteza
unghiulara omega perpendiculara pe disc.

TITLE 'Disc rotit cu omega'


DEFINITIONS
r1=1.0 rad=sqrt(x^2+y^2)
omega=1.0
vx=-omega*y vy=omega*x
v=vector( vx, vy)
vm=sqrt(vx^2+vy^2)
div_v=dx(vx)+ dy(vy) curl_z=dx(vy)- dy(vx)
BOUNDARIES
region 'domain' start(r1,0)
arc to (0,r1) to (-r1,0) to (0,-r1) to finish
PLOTS
contour( vm) vector(vx,vy)
contour( div_v) contour( curl_z)
END

Rezultat al simularii
• Conturul vitezei tangentiale
Disc rotit cu omega
vm
Contours:
-------------
1.00 min: 0.02883
l a: 0.05
j
0.50 i b: 0.1
g
e c: 0.2
h d b f d: 0.25
0.00 a

Y
k c e: 0.35
m f: 0.4
-0.50
g: 0.5
-1.003<=X<=1.003 m h: 0.6
-1.003<=Y<=1.003 i: 0.65
j: 0.75
0.02883<=c(X,Y)<=1
-1.00 0.00 0.50 1.00 k: 0.8
Vol= 2.094 l: 0.9
m: 1
PdzPlt01Cont: Gr=1 err=1 max: 1

• Vectorul viteza
Disc rotit cu omega
vx,vy

1.00

0.50

0.00
Y

-0.50

-1.003<=X<=1.003
-1.003<=Y<=1.003 -1.00 0.00 0.50 1.00
max=0.9994 min=0.0351

PdzPlt02Vect: Gr=1 err=1

• Divergenta si rotorul
Disc rotit cu omega
div_v
Contours:
-------------
1.00 min: 0
a: 0
0.50 max: 0

0.00

Y -0.50
02/14/18 - 14:25:12
-1.003<=X<=1.003
-1.003<=Y<=1.003
0<=c(X,Y)<=0
-1.00 0.00 0.50 1.00
Vol= 0

PdzPlt03Cont: Gr=1 err=1

Disc rotit cu omega


curl_z
Contours:
-------------
1.00 min: 2
a: 2
0.50 max: 2

0.00
Y

-0.50
02/14/18 - 14:25:12
-1.003<=X<=1.003
-1.003<=Y<=1.003
2<=c(X,Y)<=2
-1.00 0.00 0.50 1.00
Vol= 6.282

PdzPlt04Cont: Gr=1 err=1

S-ar putea să vă placă și