Anda di halaman 1dari 16

HEAT EQUATION 1-DIMENSI

1. Skema Eksplisit pada Heat Equation


a. Listing program
% Explicit scheme for Heat equation

close
clear

P = 10
h = 0.2
g = 0.2
tau = g * h^2
T = 1
m = length(0:tau:T)

xl = 0;xr = 1
x = xl:h:xr
n = length(x)

% initial condition
u = x
%u(1:round(n/2))=.5 ;u(round(n/2):end)=0;

U = u

t = 0
ctr = 0
set(figure,'backingstore','off','doublebuffer','on')
u0 =u

Temp = zeros(length(0:tau:T),n)
Temp(1,:) = u0

while t<T
ctr = ctr + 1
t = ctr * tau

% explicit scheme
U(2:end-1) = g * (u(1:end-2) - 2*u(2:end-1) + u(3:end)) +
u(2:end-1)

% boundary conditions
U(1) = u(1)
U(end) = u(end)

Temp(ctr+1,:)=U

% drawing picture
plot(x,u0,'r-',x,U,'r.')

axis([0 1 -2.5 2.5])
title(['t = ',num2str(t)])

drawnow

% change variable
u = U
end

C = zeros(m,n)
for i = 1:m
t = (i-1)*m
for j = 1:n
x=(j-1)*(n)
C(i,j)=(P/2)-((4*P/pi^2)*(cos((pi*x)/P))*(exp((-
pi^2*t)/P^2)))
end
end

error = C-Temp
surf(Temp)
shading interp
colorbar





















b. Tampilan Program

Keterangan: hasil tampilan program hanya ditampilkan sebagian, tidak
keseluruhan.


c. Grafik Error Terhadap X


Analisa grafik : suatu program dikatakan baik apabila nilai error yang
diperoleh mendekati nol dan digambarkan dengan grafik yang linier. Pada
metoda eksplisit saat t = 0 grafik tidak linier sedangkan untuk t = 1 dan
selanjutnya grafik berbentuk linier. Hal ini dikarenakan metode eksplisit
memiliki kekurangan pada stabilitas.
d. Analisa
Pada skema eksplisit digunakan syarat batas neumann, yaitu C
1
=0. Sehingga
matriks 5x5 di awali dari 1- 2 pada baris 1 kolom 1. Untuk menghitung
secara analitik digunakan rumus solusi umum:
( )

( )

[
( )

] [

( )

]

Dengan nilai P = 10; gamma (g) = 0,2; T = 1, sehingga program akan
diproses ketika t < 1.
Dari solusi umum tersebut bisa diketahui nilai C (matriks) secara analitik
dan nilai errornya.
0
1
2
3
4
5
6
7
8
9
0 1 2 3 4 5 6 7
E
r
r
o
r

x
Grafik Hubungan Error Terhadap x
t = 0
t = 1
Penggunaan skema eksplisit pada program memiliki syarat , sehingga
kecil. Oleh sebab itu, membutuhkan waktu yang lama untuk memroses
program eksplisit untuk mendapatkan nilai solusi umum (U).
2. Skema Implisit Pada Heat Equation
a. Listing Program
% Implicit scheme for Heat equation

close
clear

P = 10;
h = 0.2;
g = 0.2;
tau = g * h^2;
T = 1;
m = length(0:tau:T)

xl = 0;xr = 1;
x = xl:h:xr;
n = length(x);

% initial condition
u = x;
%u(1:round(n/2))=.5 ;u(round(n/2):end)=0;

U = u;

t = 0;
ctr = 0;
set(figure,'backingstore','off','doublebuffer','on');
u0 =u;

Temp = zeros(length(0:tau:T),n);
Temp(1,:) = u0;

A=zeros(n-2,n-2)
for i=1:n-2
if (i==1)
A (i,i)=1+g
A (i,i+1)=-g
elseif (i==n-2)
A (i,i)=1+g
A (i,i-1)=-g
else
A (i,i)=1+2*g
A (i,i-1)=-g
A (i,i+1)=-g
end
end

while t<T
ctr = ctr + 1;
t = ctr * tau;

% implicit scheme
U(2:end-1) = inv(A)*u(2:end-1)'
% boundary conditions
U(1) = u(1);
U(end) = u(end);

Temp(ctr+1,:)=U;

% drawing picture
plot(x,u0,'r-',x,U,'r.');

axis([0 1 -2.5 2.5]);
title(['t = ',num2str(t)]);

drawnow;

% change variable
u = U;
end

C = zeros(m,n)
for i = 1:m
t = (i-1)*m
for j = 1:n
x=(j-1)*(n)
C(i,j)=(P/2)-((4*P/pi^2)*(cos((pi*x)/P))*(exp((-
pi^2*t)/P^2)))
end
end

error = C-Temp

surf(Temp);
shading interp
colorbar



b. Tampilan Program



Keterangan: hasil tampilan program hanya ditampilkan sebagian, tidak
keseluruhan.

c. Grafik Error Terhadap X

Analisa grafik : grafik diatas hampir sama dengan grafik pada metode
eksplisit. Karena grafik linier pada t = 1 dan t = 3. Hal ini disebabkan
metode implisit merupakan penyempurnaan dari metode eksplisit pada
stabilitasnya karena pada metode implisit ini digunakan sistem persamaan
linier dan iterasi dalam mencari solusi umum. Sehingga proses yang
dilakukan lebih teliti dibandingkan dengan metode eksplisit.
d. Analisa
Pada metode eksplisit, stabilitasnya bergantung pada gain parameter ().
Untuk menentukan kestabilan suatu metode dipastikan bahwa nilai
sangat kecil. Sehingga membutuhkan waktu yang cukup lama pada proses
komputasinya. Untuk memperbaiki skema eksplisit, maka digunakan skema
implisit yang memiliki perbedaan pada operator laplace-nya. Matriksnya
dimulai dengan 1 + dan diakhiri dengan 1 + . Hasil dari skema ini harus
iterasi dan melalui persamaan linier. Dengan demikian skema implisit ini
unconditionally stable. Pada listing program, nilai h atau harus bilangan
bulat. Karena ketika dimasukkan bilangan yang tidak bulat, tampilan
program akan menjadi error. Hal ini dikarenakan nilai dari matriks U harus
sesuai dengan jumlah matriks C agar dapat ditentukan nilai errornya.
0
1
2
3
4
5
6
7
8
9
0 1 2 3 4 5 6 7
E
r
r
o
r

x
Grafik Hubungan Error Terhadap x
t = 0
t = 1
t = 3
3. Skema Crank Nicolson Pada Heat Equation
a. Listing Program
% Crank Nilson scheme for Heat equation

close
clear

P = 10;
h = 0.2;
g = 0.2;
tau = g*(h^2);
T = 1;
m = length(0:tau:T)

xl = 0;xr = 1; % boundaries
x = xl:h:xr;
n = length(x); % number of spatial grids

% initial condition
u = x;
%u(1:round(n/2))=.5 ;u(round(n/2):end)=0;

U = u;

t = 0;
ctr = 0;
set(figure,'backingstore','off','doublebuffer','on'); % to
avoid blinking on the screen
u0 =u;

Temp = zeros(length(0:tau:T),n);
Temp(1,:) = u0;

A=zeros(n-2,n-2)
for i=1:n-2
if (i==1)
A (i,i)=2+g
A (i,i+1)=-g
elseif (i==n-2)
A (i,i)=2+g
A (i,i-1)=-g
else
A (i,i)=2*(1+g)
A (i,i-1)=-g
A (i,i+1)=-g
end
end

B=zeros(n-2,n-2)
for i=1:n-2
if (i==1)
B (i,i)=2-g
B (i,i+1)=-g
elseif (i==n-2)
B (i,i)=2-g
B (i,i-1)=-g
else
B (i,i)=2*(1-g)
B (i,i-1)=-g
B (i,i+1)=-g
end
end

while t<T
ctr = ctr + 1;
t = ctr * tau;

% Crank Nilson scheme
U(2:end-1) = inv(A)*B*u(2:end-1)'

% boundary conditions
U(1) = u(1);
U(end) = u(end);

Temp(ctr+1,:)=U;

% drawing picture
plot(x,u0,'r-',x,U,'r.');

axis([0 1 -2.5 2.5]);
title(['t = ',num2str(t)]);

drawnow;

% change variable
u = U;
end

C = zeros(m,n)
for i = 1:m
t = (i-1)*m
for j = 1:n
x=(j-1)*(n)
C(i,j)=(P/2)-((4*P/pi^2)*(cos((pi*x)/P))*(exp((-
pi^2*t)/P^2)))
end
end

error = C-Temp
surf(Temp);
shading interp
colorbar

b. Tampilan Program



c. Grafik Error Terhadap X

Analisa grafik : grafik error crank nicholson juga hampir sama dengan dua
metode sebelumnya. Namun grafik diatas t =1 dan t = 2 serta selanjutnya
lebih condong dibandingkan dengan grafik pada kedua metode
sebelumnya. Karena metode crank nicholson merupakan penyempurnaan
dari metode implisit dan metode eksplisit. Oleh karena itu ketelitian
errornya lebih baik.
d. Analisa
Skema Crank-Nicholson ini menggunakan paduan antara bentuk skema
eksplisit dan bentuk skema implisit, sehingga skema Crank-Nicholson
menulis ruas kanan pada waktu n + yang merupakan nilai rerata dari
skema eksplisit dan implisit. Meskipun skema implisit bersifat
unconditionally stable, namun skema ini memilki orde akurasi pertama
terhadap waktu dan orde kedua dalam ruang. Sama seperti metode implisit
pada listing program, nilai h atau harus bilangan bulat. Karena ketika
dimasukkan bilangan yang tidak bulat, tampilan program akan menjadi
error. Hal ini dikarenakan nilai dari matriks U harus sesuai dengan jumlah
matriks C agar dapat ditentukan nilai errornya.


0
1
2
3
4
5
6
7
8
9
0 1 2 3 4 5 6 7
E
r
r
o
r

X
Hubungan Error Terhadap X
t=0
t=1
t=2
TUGAS FISIKA KOMPUTASI 2
METODE BEDA HINGGA PADA HEAT EQUATION
1 DIMENSI




Oleh
Mutiara Efendi 140310110016
Utari Handayani 140310110032
Febi Luthfiani 140310110040
Dosen : Dr. Irwan Ary Dharmawan, M.Si










JURUSAN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS PADJADJARAN
2014

Anda mungkin juga menyukai