Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 16

List broj:

MAŠINSKI FAKULTET
PODGORICA
KME
Broj listova:

%KOMPJUTERSKE METODE U ENERGETICI


%ZADATAK BR.4
% Cirkovic Olivera 11/15
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clc
clear all
close all
%
Ni=30.; % broj vert. linija po kojima leze centri CV-a
Nj=30.; % broj hor. linija po kojima leze centri CV-a
% ____
Lx=1; % dimenzija domena u x-pravcu Ly| |
Ly=1; % dimenzija domena u y-pravcu |_Lx_|
%
deltax=Lx/(Ni-2.); % razmak izmedju 2 stran. susjednih CV-a u x pravcu
deltay=Ly/(Nj-2.); % razmak izmedju 2 stran. susjednih CV-a u y pravcu
%
dely=deltay; % razmak izmedju 2 centr. cvora sus. CV-a u y pravcu
delx=deltax; % razmak izmedju 2 centr. cvora sus. CV-a u x pravcu
%
L = 50.0; % koeficijent difuzije [W / mK]
%
% Numericki parametri:
omega = 0.7; % relaksacioni faktor kod SOR [/]
epsilon = 10.^-5.; % kriterijum za zaustavljanje iteriranja [/]
%GRANICNI USLOVI KOJI SU KONSTANTNI DUZ IVICE:
fis=0.; % ,,south" granica
fiw=0.; % ,,west" granica
fie=500.; % ,,east" granica
fin=0.; % ,,north" granica
%_______________________________________________________________________
% Neka je izvor kontstantan za svaku CV-u i jednak c
Sc = 500.; % izvorni clan - konstantni dio % -> [W/m^3]
%_______________________________________________________________________
% Granicni uslovi za ,,north, west, south, east" granicu-
% Dirihleovi granicni uslovi
%_______________________________________________________________________
% ,,west" granica
for i=1:1:Nj;
fi(i)=fiw;
end
% ,,east" granica
for i=Ni*Nj-(Nj-1):1:Ni*Nj;
fi(i)=fie;
end
% ,,south" granica
for i=Nj+1:Nj:Nj*(Ni-2)+1;
fi(i)=fis;
end
% ,,north" granica
for i=2*Nj:Nj:Nj*(Ni-1);
fi(i)=fin;
end
% Definisanje an
for k=0:Nj:(Ni-3)*Nj
for i=2+Nj+k:1:2*Nj-2+k
an(i)=L*deltax/dely;

Datum: Ime i prezime: Broj indeksa: Zadatak: Ovjerio:


List broj:
MAŠINSKI FAKULTET
PODGORICA
KME
Broj listova:

end
end
% specificni
for i=2*Nj-1:Nj:Nj*(Ni-1)-1
an(i)=2.*L*deltax/dely;
end
% Definisanje as
for k=0:Nj:(Ni-3)*Nj
for i=3+Nj+k:1:3+Nj+k+Nj-4
as(i)=L*deltax/dely;
end
end
% specificni
for i=2+Nj:Nj:Nj*(Ni-1)-Nj+2
as(i)=2.*L*deltax/dely;
end
% Definisanje aw
for k=0:Nj:(Ni-4)*Nj
for i=2*Nj+2+k:1:3*Nj-1+k
aw(i)=L*deltay/delx;
end
end
% specificni
for i=Nj+2:1:2*Nj-1
aw(i)=2.*L*deltay/delx;
end
% Definisanje ae
for k=0:Nj:(Ni-4)*Nj
for i=2+Nj+k:1:2*Nj-1+k
ae(i)=L*deltay/delx;
end
end
% specificni
for i=(Ni-1)*Nj-Nj+2:1:Nj*(Ni-1)-1
ae(i)=2.*L*deltay/delx;
end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% POCETNO POLJE "fi", KONSTANTNI KOEFICIJENTI, IDR.
% Sracunavanje pocetne vrijednost za fi.
% Koeficijent ap je u opstem slucaju:
% ap=ae+as+aw+an+(ap)o-Sp*deltax*deltay

% Sracunavanje po svim CV (u proracunskom dijelu domena)


% tj. za sve CV-e u unutrasnjosti:
for k=0:Nj:Nj*(Ni-3)
for i=2+Nj+k:1:2*Nj-1+k
fi(i)=0; % pretpostavka -
nulta iteracija
ap(i)=ae(i)+aw(i)+as(i)+an(i); % ukupno ap (glavni
koeficijent)
b(i)=Sc*deltax*deltay; % slobodni clan (za
pocetno fi)
end
end
% MOZE SE PRETPOSTAVITI I DA SU SVE VRIJEDNOSTI JEDNAKE NULI.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Datum: Ime i prezime: Broj indeksa: Zadatak: Ovjerio:


List broj:
MAŠINSKI FAKULTET
PODGORICA
KME
Broj listova:

%========================================================================
%========================================================================
% Iterativno resavanje sistema linearnih algebarskih jednacina.
% Algoritam je Gaus-Seidel SOR (,,Successive Over-Relaxation'')
%========================================================================
%========================================================================

%###############################################################################
##
% GAUS SEIDEL SOLVER
% (rjesavanje sistema alg.jednacina, za tekuci vremenski trenutak
!!!)
Rezidual = epsilon + 1.;
brojac = 0.;
while Rezidual > epsilon % POCETAK SOLVERA ZA TEKUCI TRENUTAK
% epsilon je mjera smanjenja reda velicine najveceg reziduala, u
% odnosu na njegovu vrijednost posle 1. iteracije.
brojac = brojac + 1.;

%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
% SHEMA SOLVERA. RACUNANJE PO SVIM CV - PRORACUNSKIM CVOROVIMA
% za svaku CV-u (osim onih fiksiranih Dirihleovim g.uslovom):
for k=0:Nj:(Ni-3)*Nj
for i=2+Nj+k:1:2*Nj-1+k
% NOVO fi(i), (Successive Over-Relaxation)
fi(i)=omega*[b(i)+as(i)*fi(i-1)+aw(i)*fi(i-Nj)
+an(i)*fi(i+1)+ae(i)*fi(i+Nj)]./ap(i) + (1-omega)*fi(i);
end
end
%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
% SRACUNAVANJE REZIDUALA:
Rezidual=0.0;
for k=0:Nj:(Ni-3)*Nj
for i=2+Nj+k:1:2*Nj-1+k
%_______________________________________________________
% Svi fi(i) su vec sracunati. Sada se moze odrediti
% Rezidual(i) u k-toj iteraciji: b + suma_nb_od_(fi)nb -
ap*(fi)p;
% to je ne-nula broj u k-toj iteraciji.
%_______________________________________________________
rezidual(i)=abs(b(i)+as(i)*fi(i-1)+aw(i)*fi(i-Nj)
+an(i)*fi(i+1)+ae(i)*fi(i+Nj)-ap(i)*fi(i));
if rezidual(i) > Rezidual
Rezidual = rezidual(i); %Najveci se zove Rezidual
end
end
end
%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

% KRITERIJUM ZA PREKID ITERIRANJA U SOLVERU ..................


if brojac == 1.
Rezidual_1 = Rezidual; % Najveci Rezidual u 1.iteraciji!
end
% Normirani rezidual je:
Rezidual = Rezidual/Rezidual_1; % mjerodavno za prekid iteriranja

Datum: Ime i prezime: Broj indeksa: Zadatak: Ovjerio:


List broj:
MAŠINSKI FAKULTET
PODGORICA
KME
Broj listova:

% GRANICNIK U SMISLU MAX. BROJA ITERACIJA KOJI DOPUSTAMO:


if brojac > 1000. % Gornja granica broja iteracija GS solvera
break
end
% brojac
%............................................................
end % KRAJ SOLVERA (ZA TEKUCI VREMENSKI TRENUTAK

%###############################################################################
##

% Crtanje grafika funkcije fi


%***********************************************************************
% | |
% | |
for j=1:1:Ni % | (n) |
k=(j-1)*Nj; % |_____________|
for i=1:1:Nj % \ | \ |
a(i,j)=fi(i+k); % \ | \ |
end % (w) \ | (domen) \ | (e)
end % Ly \ | \|
% \|____________|
% (s) Lx
%***********************************************************************
% (x,y) KOORDINATE TACAKA U KOJIMA JE DEFINISANA VRIJEDNOST "fi"
% To su: koordinate cvorova na ivicama i centara konacnih zapremina
% unutar domena.
x = cat(2,[0. deltax/2.],[3*deltax/2.0:deltax:(Lx-deltax/2.0)], [Lx]);
y = cat(2,[0. deltay/2.],[3*deltay/2.0:deltay:(Ly-deltay/2.0)], [Ly]);
[xp,yp] = meshgrid(x,y); % DOMEN (x,y) TACAKA

% Grafici rjesenja:
figure(1), pcolor(xp,yp,a), shading faceted, colorbar('vert'),
title(' RJESENJE: \phi(x,y)
\newline NA PRESJECIMA LINIJA NALAZE SE PRORACUNSKI CVOROVI'),
xlabel('0<x<Lx'), ylabel('0<y<Ly'),

figure(2), surfc(xp,yp,a), shading interp, material shiny,


title('RJESENJE \phi=f(x,y)'),
xlabel('0<x<Lx'),
ylabel('0<y<Ly'),
zlabel('Vrijednost funkcije \phi');

figure(3), A=contourf(xp,yp,a); clabel(A); colorbar('vert'),


title('RJESENJE \phi(x,y)'), xlabel('0<x<Lx'), ylabel('0<y<Ly'),
zlabel('Vrijednost \phi');

figure(4), pcolor(xp,yp,a), axis square,shading


interp,colorbar('vert'),
title('FUNKCIJA \phi U DOMENU'),
xlabel('0<x<Lx'),ylabel('0<y<Ly'),

figure(5), A = contour(xp,yp,a);clabel(A), axis square,


title('FUNKCIJA \phi U DOMENU'),
xlabel('0<x<Lx'),ylabel('0<y<Ly'),
%***********************************************************************

Datum: Ime i prezime: Broj indeksa: Zadatak: Ovjerio:


List broj:
MAŠINSKI FAKULTET
PODGORICA
KME
Broj listova:

RJESENJE:  (x,y)
NA PRESJECIMA LINIJA NALAZE SE PRORACUNSKI CVOROVI
1 500

0.9 450

0.8 400

0.7 350

0.6 300
0<y<Ly

0.5 250

0.4 200

0.3 150

0.2 100

0.1 50

0 0
0 0.2 0.4 0.6 0.8 1
0<x<Lx

Datum: Ime i prezime: Broj indeksa: Zadatak: Ovjerio:


List broj:
MAŠINSKI FAKULTET
PODGORICA
KME
Broj listova:

RJESENJE  =f(x,y)

500

400
Vrijednost funkcije 

300

200

100

0
1
1
0.8
0.5 0.6
0.4
0.2
0<y<Ly 0 0
0<x<Lx

RJESENJE  (x,y)
1 450

0.9 100 100


200 300 200 300 400
400 400
0.8
350
0.7
300
0.6
250
0<y<Ly

0.5
200
0.4
150
0.3

100
0.2
250 350450250 350450
150 150
0.1 50 50 50

0 0
0 0.2 0.4 0.6 0.8 1
0<x<Lx

Datum: Ime i prezime: Broj indeksa: Zadatak: Ovjerio:


List broj:
MAŠINSKI FAKULTET
PODGORICA
KME
Broj listova:

FUNKCIJA  U DOMENU
1 500

0.9 450

0.8 400

0.7 350

0.6 300
0<y<Ly

0.5 250

0.4 200

0.3 150

0.2 100

0.1 50

0 0
0 0.2 0.4 0.6 0.8 1
0<x<Lx

FUNKCIJA  U DOMENU
1

0.9 100
200 300
400500
0.8

0.7

0.6
0<y<Ly

0.5

0.4

0.3

0.2
250350
450
150
0.1 50

0
0 0.2 0.4 0.6 0.8 1
0<x<Lx

Datum: Ime i prezime: Broj indeksa: Zadatak: Ovjerio:


List broj:
MAŠINSKI FAKULTET
PODGORICA
KME
Broj listova:

%KOMPJUTERSKE METODE U ENERGETICI


%ZADATAK BR.4
%Cirkovic Olivera 11/15
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clc
clear all
close all
%
Ni=30.; % broj vert. linija po kojima leze centri CV-a
Nj=30.; % broj hor. linija po kojima leze centri CV-a
% ____
Lx=1; % dimenzija domena u x-pravcu Ly| |
Ly=1; % dimenzija domena u y-pravcu |_Lx_|
%
deltax=Lx/(Ni-2.); % razmak izmedju 2 stran. susjednih CV-a u x pravcu
deltay=Ly/(Nj-2.); % razmak izmedju 2 stran. susjednih CV-a u y pravcu
%
dely=deltay; % razmak izmedju 2 centr. cvora sus. CV-a u y pravcu
delx=deltax; % razmak izmedju 2 centr. cvora sus. CV-a u x pravcu
%
% FIZICKE OSOBINE SUPSTANCE:
L = 50.; % koeficijent difuzije [W / mK]
cm = 900.; % specificna toplota materijala [J/kg K]
ro = 7800.; % gustina materijala [kg / m^3]
ro = ro*cm; % s obzirom na oznacavanje pri diskretizaciji!
%
% Numericki parametri:
omega = 0.7; % relaksacioni faktor kod SOR [/]
epsilon = 10.^-5.; % kriterijum za zaustavljanje iteriranja [/]
brojvrkoraka = 1.; % broj vremenskih koraka [/]
deltat = 10000; % vremenski korak (oprez!) [s]
%GRANICNI USLOVI KOJI SU KONSTANTNI DUZ IVICE:
fis=0.; % ,,south" granica (fi, i=1,9,17,...,65)
fiw=0.; % ,,west" granica
fie=500.; % ,,east" granica
fin=0.; % ,,north" granica
%_______________________________________________________________________
% Neka je izvor kontstantan za svaku CV-u i jednak c
Sc =500.; % izvorni clan - konstantni dio % -> [W/m^3]
%_______________________________________________________________________
% Granicni uslovi za ,,north, west, south, east" granicu-
% Dirihleovi granicni uslovi
%_______________________________________________________________________
% ,,west" granica
for i=1:1:Nj;
fi(i)=fiw;
end
% ,,east" granica
for i=Ni*Nj-(Nj-1):1:Ni*Nj;
fi(i)=fie;
end
% ,,south" granica
for i=Nj+1:Nj:Nj*(Ni-2)+1;
fi(i)=fis;
end
% ,,north" granica

Datum: Ime i prezime: Broj indeksa: Zadatak: Ovjerio:


List broj:
MAŠINSKI FAKULTET
PODGORICA
KME
Broj listova:

for i=2*Nj:Nj:Nj*(Ni-1);
fi(i)=fin;
end
% Definisanje an
for k=0:Nj:(Ni-3)*Nj
for i=2+Nj+k:1:2*Nj-2+k
an(i)=L*deltax/dely;
end
end
% specificni
for i=2*Nj-1:Nj:Nj*(Ni-1)-1
an(i)=2.*L*deltax/dely;
end
% Definisanje as
for k=0:Nj:(Ni-3)*Nj
for i=3+Nj+k:1:3+Nj+k+Nj-4
as(i)=L*deltax/dely;
end
end
% specificni
for i=2+Nj:Nj:Nj*(Ni-1)-Nj+2
as(i)=2.*L*deltax/dely;
end
% Definisanje aw
for k=0:Nj:(Ni-4)*Nj
for i=2*Nj+2+k:1:3*Nj-1+k
aw(i)=L*deltay/delx;
end
end
% specificni
for i=Nj+2:1:2*Nj-1
aw(i)=2.*L*deltay/delx;
end
% Definisanje ae
for k=0:Nj:(Ni-4)*Nj
for i=2+Nj+k:1:2*Nj-1+k
ae(i)=L*deltay/delx;
end
end
% specificni
for i=(Ni-1)*Nj-Nj+2:1:Nj*(Ni-1)-1
ae(i)=2.*L*deltay/delx;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% POCETNO POLJE "fi", KONSTANTNI KOEFICIJENTI, IDR.
% Sracunavanje pocetne vrijednost za fi. U smislu algoritma ovo je
% ekvivalentno pretpostavljanju polja "fi" (vremenska diskretizacija je
% implicitna. Koeficijent (ap)o je kod implicitne vremenske diskretizacije
% jednak: (ap)o = ro * deltax*deltay / deltat, tj. isti je za sve CV-e.
% Koeficijent ap je u opstem slucaju: ap=ae+as+aw+an+(ap)o-Sp*deltax*deltay

% Doprinos izvoda po vremenu glavnom koeficijentu aP i


slob.clanu b
apo=ro*deltax*deltay/deltat;

% Sracunavanje po svim CV (u proracunskom dijelu domena):


for k=0:Nj:Nj*(Ni-3) % za sve CV-e u
unutrasnjosti

Datum: Ime i prezime: Broj indeksa: Zadatak: Ovjerio:


List broj:
MAŠINSKI FAKULTET
PODGORICA
KME
Broj listova:

for i=2+Nj+k:1:2*Nj-1+k
fi(i)=0; % POCETNI USLOV

ap(i)=ae(i)+aw(i)+as(i)+an(i)+apo; % ukupno ap (glavni


koeficijent)

b(i)=Sc*deltax*deltay + apo*fi(i); % slobodni clan (za


pocetno fi)

end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%========================================================================
%========================================================================
% Iterativno rjesavanje sistema linearnih algebarskih jednacina.
% Algoritam je Gaus-Seidel SOR (,,Successive Over-Relaxation'')
% Diskretizacija u vremenu je implicitna.
%========================================================================
%========================================================================

% POCETAK PETLJE KOJA POKRIVA VREMENSKI PERIOD PRORACUNA, TJ. SVE VREMENSKE
KORAKE:
vremindeks = 0.;
while vremindeks < brojvrkoraka % uvecanje vremnindeks-a je na dnu petlje.
% PROCEDURA SE PONAVLJA ONOLIKO PUTA KOLIKO JE VREMENSKIH KORAKA.
if vremindeks == 0.
disp('...RACUNANJE JE U TOKU')
end

% SLOBODNI CLAN SISTEMA JEDNACINA KOJI RJESAVAMO JE:


% KORISTI SE RASPOLOZIVO fi.
for k=0:Nj:Nj*(Ni-3) % za sve CV-e u unutrasnjosti
for i=2+Nj+k:1:2*Nj-1+k
b(i)=Sc*deltax*deltay+apo*fi(i);% novi sl. clan
end
end

%###############################################################################
##
% GAUS SEIDEL SOLVER
% (rjesavanje sistema alg.jednacina, za tekuci vremenski trenutak
!!!)
Rezidual = epsilon + 1.;
brojac = 0.;
while Rezidual > epsilon % POCETAK SOLVERA ZA TEKUCI TRENUTAK
% epsilon je mjera smanjenja reda velicine najveceg reziduala, u
% odnosu na njegovu vrijednost posle 1. iteracije.
brojac = brojac + 1.;

%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
% SHEMA SOLVERA. RACUNANJE PO SVIM CV - PRORACUNSKIM CVOROVIMA
% za svaku CV-u (osim onih fiksiranih Dirihleovim g.uslovom):
for k=0:Nj:(Ni-3)*Nj
for i=2+Nj+k:1:2*Nj-1+k
% NOVO fi(i), (Successive Over-Relaxation)

Datum: Ime i prezime: Broj indeksa: Zadatak: Ovjerio:


List broj:
MAŠINSKI FAKULTET
PODGORICA
KME
Broj listova:

fi(i)=omega*[b(i)+as(i)*fi(i-1)+aw(i)*fi(i-Nj)
+an(i)*fi(i+1)+ae(i)*fi(i+Nj)]./ap(i) + (1-omega)*fi(i);
end
end
%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
% SRACUNAVANJE REZIDUALA:
Rezidual=0.0;
for k=0:Nj:(Ni-3)*Nj
for i=2+Nj+k:1:2*Nj-1+k
%_______________________________________________________
% Svi fi(i) su vec sracunati. Sada se moze odrediti
% Rezidual(i) u k-toj iteraciji: b + suma_nb_od_(fi)nb -
ap*(fi)p;
% to je ne-nula broj u k-toj iteraciji.
%_______________________________________________________
rezidual(i)=abs(b(i)+as(i)*fi(i-1)+aw(i)*fi(i-Nj)
+an(i)*fi(i+1)+ae(i)*fi(i+Nj)-ap(i)*fi(i));
if rezidual(i) > Rezidual
Rezidual = rezidual(i); %Najveci se zove Rezidual
end
end
end
%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

% KRITERIJUM ZA PREKID ITERIRANJA U SOLVERU ..................


if brojac == 1.
Rezidual_1 = Rezidual; % Najveci Rezidual u 1.iteraciji!
end
% Normirani rezidual je:
Rezidual = Rezidual/Rezidual_1; % mjerodavno za prekid iteriranja
% GRANICNIK U SMISLU MAX. BROJA ITERACIJA KOJI DOPUSTAMO:
if brojac > 1000. % Gornja granica broja iteracija GS solvera
break
end
% brojac
%............................................................
end % KRAJ SOLVERA (ZA TEKUCI VREMENSKI TRENUTAK

%###############################################################################
##

vremindeks = vremindeks + 1.;

% disp('---------------------------------');
% disp('------NOVI VREMENSKI KORAK-------');
% disp('---------------------------------');
% disp('...')

%SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
% RJESENJE (SLOZENO U MATRICU)
% SVAKA VRSTA MATRICE JE VEKTOR RJESENJA "fi" ZA TEKUCI VREM.KORAK
FI(vremindeks,:) = fi(1,:);
%SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

end % KRAJ PETLJE KOJA POKRIVA VREMENSKI PERIOD PRORACUNA.

Datum: Ime i prezime: Broj indeksa: Zadatak: Ovjerio:


List broj:
MAŠINSKI FAKULTET
PODGORICA
KME
Broj listova:

% KRAJ PRORACUNA.

%###############################################################################
#######

save 4ZAD FI Ni Nj Lx Ly deltax deltay delx dely L cm ro brojvrkoraka deltat

%***********************************************************************
% Crtanje grafika funkcije fi
%***********************************************************************
% | |
% | |
for j=1:1:Ni % | (n) |
k=(j-1)*Nj; % |_____________|
for i=1:1:Nj % \ | \ |
a(i,j)=fi(i+k); % \ | \ |
end % (w) \ | (domen) \ | (e)
end % Ly \ | \|
% \|____________|
% (s) Lx
%***********************************************************************
% (x,y) KOORDINATE TACAKA U KOJIMA JE DEFINISANA VRIJEDNOST "fi"
% To su: koordinate cvorova na ivicama i centara konacnih zapremina
% unutar domena.
x = cat(2,[0. deltax/2.],[3*deltax/2.0:deltax:(Lx-deltax/2.0)], [Lx]);
y = cat(2,[0. deltay/2.],[3*deltay/2.0:deltay:(Ly-deltay/2.0)], [Ly]);
[xp,yp] = meshgrid(x,y); % DOMEN (x,y) TACAKA

% Grafici rjesenja:
figure(1), pcolor(xp,yp,a), shading faceted, colorbar('vert'),
title(' RJESENJE: \phi(x,y)
\newline NA PRESJECIMA LINIJA NALAZE SE PRORACUNSKI CVOROVI'),
xlabel('0<x<Lx'), ylabel('0<y<Ly'),

figure(2), surfc(xp,yp,a), shading interp, material shiny,


title('RJESENJE \phi=f(x,y)'),
xlabel('0<x<Lx'),
ylabel('0<y<Ly'),
zlabel('Vrijednost funkcije \phi');

figure(3),
A=contourf(xp,yp,a);clabel(A),colorbar('vert'),title('RJESENJE \phi(x,y)'),
xlabel('0<x<Lx'), ylabel('0<y<Ly'),zlabel('Vrijednost \phi'),

figure(4), pcolor(xp,yp,a), axis square,shading


interp,colorbar('vert'),
title('FUNKCIJA \phi U DOMENU'),
xlabel('0<x<Lx'),ylabel('0<y<Ly'),

figure(5), A = contour(xp,yp,a);clabel(A), axis square,


title('FUNKCIJA \phi U DOMENU'),
xlabel('0<x<Lx'),ylabel('0<y<Ly'),
%***********************************************************************

Datum: Ime i prezime: Broj indeksa: Zadatak: Ovjerio:


List broj:
MAŠINSKI FAKULTET
PODGORICA
KME
Broj listova:

RJESENJE:  (x,y)
NA PRESJECIMA LINIJA NALAZE SE PRORACUNSKI CVOROVI
1 500

0.9 450

0.8 400

0.7 350

0.6 300
0<y<Ly

0.5 250

0.4 200

0.3 150

0.2 100

0.1 50

0 0
0 0.2 0.4 0.6 0.8 1
0<x<Lx

Datum: Ime i prezime: Broj indeksa: Zadatak: Ovjerio:


List broj:
MAŠINSKI FAKULTET
PODGORICA
KME
Broj listova:

RJESENJE  =f(x,y)

500

400
Vrijednost funkcije 

300

200

100

0
1
1
0.8
0.5 0.6
0.4
0.2
0<y<Ly 0 0
0<x<Lx

Datum: Ime i prezime: Broj indeksa: Zadatak: Ovjerio:


List broj:
MAŠINSKI FAKULTET
PODGORICA
KME
Broj listova:

RJESENJE  (x,y)
1 450

0.9 100 200100 200


300 400
300
400 400
0.8
350
0.7
300
0.6
250
0<y<Ly

0.5
200
0.4
150
0.3

100
0.2 450
350
250 250 450
350
150 150
0.1 50 50 50

0 0
0 0.2 0.4 0.6 0.8 1
0<x<Lx

FUNKCIJA  U DOMENU
1 500

0.9 450

0.8 400

0.7 350

0.6 300
0<y<Ly

0.5 250

0.4 200

0.3 150

0.2 100

0.1 50

0 0
0 0.2 0.4 0.6 0.8 1
0<x<Lx

Datum: Ime i prezime: Broj indeksa: Zadatak: Ovjerio:


List broj:
MAŠINSKI FAKULTET
PODGORICA
KME
Broj listova:

FUNKCIJA  U DOMENU
1

0.9 100 200


300
400
500
0.8

0.7

0.6
0<y<Ly

0.5

0.4

0.3

0.2 450
350
250
150
0.1 50

0
0 0.2 0.4 0.6 0.8 1
0<x<Lx

Datum: Ime i prezime: Broj indeksa: Zadatak: Ovjerio:

You might also like