Tugas Fiskom II

Post on 28-Dec-2015

19 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

fisika komputasi

Transcript

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