HEAT EQUATION 1-DIMENSI
1. Skema Eksplisit pada Heat Equation
a. Listing program
% Explicit scheme for Heat equation closeclear 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 conditionu = x %u(1:round(n/2))=.5 ;u(round(n/2):end)=0; U = u t = 0ctr = 0set(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 = Uend C = zeros(m,n)for i = 1:mt = (i-1)*mfor 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-Tempsurf(Temp)shading interpcolorbar
b. Tampilan Program
Keterangan: hasil tampilan program hanya ditampilkan sebagian, tidak
keseluruhan.
c. Grafik Error Terhadap X
0 1 2 3 4 5 6 70123456789
Grafik Hubungan Error Terhadap x
t = 0t = 1
x
Erro
r
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 C1=0. Sehingga
matriks 5x5 di awali dari 1- 2γ pada baris 1 kolom 1. Untuk menghitung
secara analitik digunakan rumus solusi umum:
u ( x , t )= P2
−4 Pπ 2 ∑
n=1
∞1
(2n−1)2cos[ (2n−1)πx
P ]exp[ α 2(2n−1)π2
P2 t ]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.
Penggunaan skema eksplisit pada program memiliki syarat γ ≤½ , sehingga
∆ t 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 closeclear 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 conditionu = 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-2if (i==1)A (i,i)=1+gA (i,i+1)=-gelseif (i==n-2)A (i,i)=1+gA (i,i-1)=-gelse
A (i,i)=1+2*gA (i,i-1)=-gA (i,i+1)=-gendend 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:mt = (i-1)*mfor j = 1:nx=(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 interpcolorbar
b. Tampilan Program
Keterangan: hasil tampilan program hanya ditampilkan sebagian, tidak
keseluruhan.
c. Grafik Error Terhadap X
0 1 2 3 4 5 6 70123456789
Grafik Hubungan Error Terhadap x
t = 0 t = 1t = 3
x
Erro
r
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 ∆T
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 ∆ x 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.
3. Skema Crank Nicolson Pada Heat Equation
a. Listing Program
% Crank Nilson scheme for Heat equation closeclear P = 10; h = 0.2; g = 0.2; tau = g*(h^2); T = 1; m = length(0:tau:T) xl = 0;xr = 1; % boundariesx = xl:h:xr; n = length(x); % number of spatial grids % initial conditionu = 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 screenu0 =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 endend
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 endend 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:mt = (i-1)*mfor j = 1:nx=(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-Tempsurf(Temp);shading interpcolorbar
b. Tampilan Program
c. Grafik Error Terhadap X
0 1 2 3 4 5 6 70123456789
Hubungan Error Terhadap X
t=0t=1t=2
X
Erro
r
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 ∆ x 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.
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
Top Related