Top Banner
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
21

Tugas Fiskom II

Dec 28, 2015

Download

Documents

Utari Handayani

fisika komputasi
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Tugas Fiskom II

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)

Page 2: Tugas Fiskom II

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

Page 3: Tugas Fiskom II

b. Tampilan Program

Keterangan: hasil tampilan program hanya ditampilkan sebagian, tidak

keseluruhan.

Page 4: Tugas Fiskom II
Page 5: Tugas Fiskom II

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.

Page 6: Tugas Fiskom II

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

Page 7: Tugas Fiskom II

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

Page 8: Tugas Fiskom II

b. Tampilan Program

Page 9: Tugas Fiskom II

Keterangan: hasil tampilan program hanya ditampilkan sebagian, tidak

keseluruhan.

Page 10: Tugas Fiskom II

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.

Page 11: Tugas Fiskom II

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

Page 12: Tugas Fiskom II

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

Page 13: Tugas Fiskom II

end error = C-Tempsurf(Temp);shading interpcolorbar

b. Tampilan Program

Page 14: Tugas Fiskom II
Page 15: Tugas Fiskom II

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.

Page 16: Tugas Fiskom II

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