TUJUAN
uΔt n
Fn+1 n
F −Fnm−1 )
m =F m−
2 Δx ( m+1
Dalam metode FTCS, sebuah pendekatan beda maju untuk turunan waktu dan beda pusat
untuk turunan ruang , dimana pendekatan ini berupa indeks n untuk waktu, indeks m untuk
ruang, sedangkan u merupakan kecepatan aliran yang dianggap konstan terhadap ruang dari
waktu maka persamaannya sama dengan persamaan diatas. Pada dasarnya metode beda
hingga ini tidak stabil secara numerik untuk menyelesaikan untuk menyelesaikan persamaan
tertentu dan diimplementasikan dengan menggunakan sebuah pendekatan beda terpusat
(leapfrog) untuk derivatif ruangnya dan metode euler maju untuk derivatif waktunya.
II.2. Leapgrog
Menurut Putri dan Ariadji (2009), metode ini menggunakan beda pusat untuk turunan
waktu beda pusat untuk turunan ruang. Persamaannya dapat dideskritisasi menjadi:
uΔt n
Fn+1 n−1
m =F m − ( F −F n )
Δx m+1 m−1
Metode leapfrog ini khusus pada langkah (t=0) dideskritisasi persamaan diatas menggunakan
beda maju untuk waktu dan beda pusat untuk ruang ( metode FTCS) maka pada t=∆t atau n=1
desritisasi yang digunakan adalah :
uΔt 0
F1m =F0m − ( F −F 0 )
2 Δx m+1 m−1
II.3. Upstream
Menurut Putri dan Ariadji (2009), metode upstream digunakan pendekatan metode beda
maju untuk turunan terhadap waktu, sedangkan untuk turunan terhadap ruang dilakukan
dengan melihat arah kecepatan u.
Fn+1 n n n
m =F m −λ ( F m+1 −F m )
Jika kedua persamaan tersebut digabungkan, maka deskritisasi persamaan adveksi dengan
metode upstream menjadi :
Δt uΔt
Fn+1 n
(
m =F m− 1−|u| +)
Δx 2 Δx
( ( u+|u|) F nm−1 + (|u|−u ) F nm+1 )
III.1. FTCS
III.1.1.Kontinu
III.1.2.Diskontinu
III.2. Leapfrog
III.2.1.Kontinu
III.2.2.Diskontinu
III.3. Upstream
III.3.1.Kontinu
III.3.2.Diskontinu
IV. LISTING
4.1. FTCS
4.1.1. Kontinu
%Maria Griselda/ 26050117120038 / OSE B
%FTCS KONTINYU
clear all;
clc;
L=3300;
T=1200;
dt=2;
u=-0.74;
dx=110;
Mmax=L/dx;
Nmax=T/dt;
for i=1:Mmax
F0(i)=0;
end
for J=2:Nmax
F0(14)=50;
for i=2:Mmax-1
F(i)=F0(i)-((u*dt/(2*dx))*(F0(i+1)-F0(i-1)));
end
F(1)=F(2);
F(Mmax)=F(Mmax-1);
F(14)=50;
hasil(J,:)=F;
for i=2:Mmax
F0(i)=F(i);
end
end
disp(hasil);
figure
plot(hasil(:,1),'color',[1 1 0]);
hold on
plot(hasil(:,8),'color',[1 0.5 0]);
plot(hasil(:,13),'color',[1 0 0]);
plot(hasil(:,18),'color',[0 0 1]);
plot(hasil(:,23),'color',[0.5 0 0.5]);
plot(hasil(:,28),'color',[1 0.5 0]);
plot(hasil(:,30),'color',[0.5 0 0.5]);
figure
plot(hasil(1,:),'color',[1 1 0]);
hold on
plot(hasil(2,:),'color',[1 0.5 0]);
plot(hasil(18,:),'color',[1 0 0]);
plot(hasil(28,:),'color',[0 1 0]);
plot(hasil(38,:),'color',[0 1 0]);
plot(hasil(58,:),'color',[0 0 1]);
plot(hasil(180,:),'color',[0.5 0 1]);
plot(hasil(247,:),'color',[0 0.5 1]);
plot(hasil(242,:),'color',[1 0.5 0]);
4.1.2. Diskontinu
%Maria Griselda/ 26050117120038 / OSE B
%FTCS DISKONTINYU
clear all;
clc;
L=3300;
T=1200;
dt=2;
u=0.74;
dx=110;
Mmax=L/dx;
Nmax=T/dt;
for i=1:Mmax
F0(i)=0;
end
for J=2:Nmax
F0(18)=50;
for i=2:Mmax-1
F(i)=F0(i)-((u*dt/(2*dx))*(F0(i+1)-F0(i-1)));
end
F(1)=F(2);
F(Mmax)=F(Mmax-1);
hasil(J,:)=F;
for i=2:Mmax
F0(i)=F(i);
end
end
disp(hasil);
figure
plot(hasil(:,1),'color',[1 1 0]);
hold on
plot(hasil(:,8),'color',[1 0.5 0]);
plot(hasil(:,13),'color',[1 0 0]);
plot(hasil(:,18),'color',[0 0 1]);
plot(hasil(:,23),'color',[0.5 0 0.5]);
plot(hasil(:,28),'color',[1 0.5 0]);
plot(hasil(:,30),'color',[0.5 0 0.5]);
figure
plot(hasil(1,:),'color',[1 1 0]);
hold on
plot(hasil(2,:),'color',[1 0.5 0]);
plot(hasil(18,:),'color',[1 0 0]);
plot(hasil(28,:),'color',[0 1 0]);
plot(hasil(38,:),'color',[0 1 0]);
plot(hasil(58,:),'color',[0 0 1]);
plot(hasil(180,:),'color',[0.5 0 1]);
plot(hasil(247,:),'color',[0 0.5 1]);
plot(hasil(242,:),'color',[1 0.5 0]);
clear all;
clc;
L=3300;
T=1200;
dt=2;
u=0.74;
dx=110;
Mmax=L/dx;
Nmax=T/dt;
for i=1:Mmax
FOO(i)=0;
end
for i=2:Mmax-1;
FO(i)=FOO(i)-(u*dt/(2*dx))*((FOO(i+1)-FOO(i-1)));
end
for J=2:Nmax
FOO(1)=FOO(2);
FOO(Mmax)=FOO(Mmax-1);
FO(1)=FO(2);
FO(Mmax)=FO(Mmax-1);
FO(14)=50;
for i=2:Mmax-1;
F(i)=FOO(i)-(u*(dt/dx))*(FO(i+1)-FO(i-1));
end
F(1)=F(2);
F(Mmax)=F(Mmax-1);
F(14)=50;
hasil(J,:)=F;
for i=2:Mmax-1
FO(i)=F(i);
FOO(i)=FO(i);
F(14)=50;
end
end
disp(hasil);
figure
plot(hasil(:,1),'color',[1 1 0]);
hold on
plot(hasil(:,8),'color',[1 0.5 0]);
plot(hasil(:,13),'color',[1 0 0]);
plot(hasil(:,18),'color',[0 0 1]);
plot(hasil(:,23),'color',[0.5 0 0.5]);
plot(hasil(:,28),'color',[1 0.5 0]);
plot(hasil(:,30),'color',[0.5 0 0.5]);
figure
plot(hasil(1,:),'color',[1 1 0]);
hold on
plot(hasil(2,:),'color',[1 0.5 0]);
plot(hasil(18,:),'color',[1 0 0]);
plot(hasil(28,:),'color',[0 1 0]);
plot(hasil(38,:),'color',[0 1 0]);
plot(hasil(58,:),'color',[0 0 1]);
plot(hasil(180,:),'color',[0.5 0 1]);
plot(hasil(247,:),'color',[0 0.5 1]);
plot(hasil(242,:),'color',[1 0.5 0]);
4.2.2. Diskontinu
%Maria Griselda/ 26050117120038 / OSE B
%LEAPFROG DISCONTINYU
clear all;
clc;
L=3300;
T=1200;
dt=2;
u=-0.74;
dx=110;
Mmax=L/dx;
Nmax=T/dt;
for i=1:Mmax
F00(i)=0;
F0(i)=0;
end
for i=2:Mmax-1;
F(i)=F0(i)-(u*dt/(2*dx))*((F0(i+1)-F0(i-1)));
end
for J=2:Nmax
F00(1)=F00(2);
FOO(Mmax)=F00(Mmax-1);
F0(1)=F0(2);
F0(Mmax)=F0(Mmax-1);
F0(14)=50;
for i=2:Mmax-1;
F(i)=F00(i)-(u*(dt/dx))*(F0(i+1)-F0(i-1));
end
F(1)=F(2);
F(Mmax)=F(Mmax-1);
hasil(J,:)=F;
for i=2:Mmax-1
F0(i)=F(i);
F00(i)=F0(i);
end
end
disp(hasil);
figure
plot(hasil(:,1),'color',[1 1 0]);
hold on
plot(hasil(:,8),'color',[1 0.5 0]);
plot(hasil(:,13),'color',[1 0 0]);
plot(hasil(:,18),'color',[0 0 1]);
plot(hasil(:,23),'color',[0.5 0 0.5]);
plot(hasil(:,28),'color',[1 0.5 0]);
plot(hasil(:,30),'color',[0.5 0 0.5]);
figure
plot(hasil(1,:),'color',[1 1 0]);
hold on
plot(hasil(2,:),'color',[1 0.5 0]);
plot(hasil(18,:),'color',[1 0 0]);
plot(hasil(28,:),'color',[0 1 0]);
plot(hasil(38,:),'color',[0 1 0]);
plot(hasil(58,:),'color',[0 0 1]);
plot(hasil(180,:),'color',[0.5 0 1]);
plot(hasil(247,:),'color',[0 0.5 1]);
plot(hasil(242,:),'color',[1 0.5 0]);
4.3. Upstream
4.3.1. Kontinu
%Maria Griselda/ 26050117120038 / OSE B
%UPSTREAM CONTINYU
clear all;
clc;
L=3300;
T=1200;
dt=2;
u=0.74;
dx=110;
Mmax=L/dx;
Nmax=T/dt;
for i=1:Mmax
FO(i)=0
end
for j=2:Nmax
FO(18)=50 % HARGA POLUTAN
for i=2:Mmax-1
F(i)=FO(i)*(1-(abs(u))*(dt/dx))+(u*dt/
(2*dx))*((u+abs(u))*FO(i-1)+(abs(u)-u)*FO(i+1));
end
figure
plot(hasil(:,1),'color',[1 1 0]);
hold on
plot(hasil(:,8),'color',[1 0.5 0]);
plot(hasil(:,13),'color',[1 0 0]);
plot(hasil(:,18),'color',[0 0 1]);
plot(hasil(:,23),'color',[0.5 0 0.5]);
plot(hasil(:,28),'color',[1 0.5 0]);
plot(hasil(:,30),'color',[0.5 0 0.5]);
figure
plot(hasil(1,:),'color',[1 1 0]);
hold on
plot(hasil(2,:),'color',[1 0.5 0]);
plot(hasil(18,:),'color',[1 0 0]);
plot(hasil(28,:),'color',[0 1 0]);
plot(hasil(38,:),'color',[0 1 0]);
plot(hasil(58,:),'color',[0 0 1]);
plot(hasil(180,:),'color',[0.5 0 1]);
plot(hasil(247,:),'color',[0 0.5 1]);
plot(hasil(242,:),'color',[1 0.5 0]);
4.3.2. Diskontinu
%Maria Griselda/ 26050117120038 / OSE B
%UPSTREAM DISCONTINYU
clear all;
clc;
L=3300;
T=1200;
dt=2;
u=0.74;
dx=110;
Mmax=L/dx;
Nmax=T/dt;
for i=1:Mmax
FO(i)=0
end
for j=2:Nmax
FO(14)=50 % HARGA POLUTAN
for i=2:Mmax-1
F(i)=FO(i)*(1-(abs(u))*(dt/dx))+(u*dt/
(2*dx))*((u+abs(u))*FO(i-1)+(abs(u)-u)*FO(i+1));
end
disp(hasil);
figure
plot(hasil(:,1),'color',[1 1 0]);
hold on
plot(hasil(:,8),'color',[1 0.5 0]);
plot(hasil(:,13),'color',[1 0 0]);
plot(hasil(:,18),'color',[0 0 1]);
plot(hasil(:,23),'color',[0.5 0 0.5]);
plot(hasil(:,28),'color',[1 0.5 0]);
plot(hasil(:,30),'color',[0.5 0 0.5]);
figure
plot(hasil(1,:),'color',[1 1 0]);
hold on
plot(hasil(2,:),'color',[1 0.5 0]);
plot(hasil(18,:),'color',[1 0 0]);
plot(hasil(28,:),'color',[0 1 0]);
plot(hasil(38,:),'color',[0 1 0]);
plot(hasil(58,:),'color',[0 0 1]);
plot(hasil(180,:),'color',[0.5 0 1]);
plot(hasil(247,:),'color',[0 0.5 1]);
plot(hasil(242,:),'color',[1 0.5 0]);
V. HASIL
V.1. Grafik Konsentrasi vs Ruang
V.1.1.Skenario 1
V.1.1.1. FTCS
a. Kasus A b. Kasus B
c. Kasus C d. Kasus D
V.1.1.2. Leapfrog
a. Kasus A b. Kasus B
c. Kasus C d. Kasus D
5.1.1.3 Upstream
a. Kasus A b. Kasus B
c.Kasus C d. Kasus D
V.1.2. Skenario 2
5.1.2.1 FTCS
a. Kasus A b. Kasus B
c.Kasus C d.Kasus D
5.1.2.2. Leapfrog
a. Kasus A b. Kasus B
c.Kasus C d.Kasus D
5.1.2.3. Upstream
a.Kasus A b.Kasus B
c.Kasus C d.Kasus D
V.1.3.Skenario 3
5.1.3.1 FTCS
a.Kasus A b.Kasus B
c.Kasus C c.Kasus D
5.1.3.2. Leapfrog
a.Kasus A b.Kasus B
c.Kasus C d.Kasus D
5.1.3.3. Upstream
a.Kasus A b.Kasus B
c.Kasus C d.Kasus D
V.1.4. Skenario 4
5.1.4.1 FTCS
a.Kasus A b.Kasus B
c.Kasus C d.Kasus D
5.1.4.2 Leapfrog
a.Kasus A b.Kasus B
c.Kasus C d.Kasus D
5.1.4.3 Upstream
a.Kasus A b.Kasus B
c.Kasus C d.Kasus D
V.1.5. Skenario 5
5.1.5.1 FTCS
a.Kasus A b.Kasus B
c.Kasus C d.Kasus D
5.1.5.2 Leapfrog
a.Kasus A b.Kasus B
b.Kasus C d.Kasus D
5.1.5.3 Upstream
a.Kasus A b.Kasus B
c.Kasus C d.Kasus D
V.1.6. Skenario 6
5.1.6.1 FTCS
a.Kasus A b.Kasus B
c.Kasus C d.Kasus D
5.1.6.2 Leapfrog
a.Kasus A b.Kasus B
c.Kasus C d.Kasus D
5.1.6.3 Upstream
a.Kasus A b.Kasus B
c.Kasus C d.Kasus D
V.1.7. Skenario 7
5.1.7.1 FTCS
a.Kasus A b.Kasus B
c.Kasus C d.Kasus D
5.1.7.2 Leapfrog
a.Kasus A b.Kasus B
c.Kasus C d.Kasus D
5.1.7.3 Upstream
a.Kasus A b.Kasus B
c.Kasus C d.Kasus D
V.1.8. Skenario 8
5.1.8.1 FTCS
a.Kasus A b.Kasus B
c.Kasus C d.Kasus D
5.1.8.2 Leapfrog
a.Kasus A b.Kasus B
c.Kasus C d.Kasus D
5.1.8.3 Upstream
a.Kasus A b.Kasus B
c.Kasus C d.Kasus D
c.Kasus C d.Kasus D
5.2.1.2 Leapfrog
a.Kasus A b.Kasus B
c.Kasus C d.Kasus D
5.2.1.3 Upstream
a.Kasus A b.Kasus B
b.Kasus C d.Kasus D
5.2.2. Skenario 2
5.2.2.1 FTCS
a.Kasus A b.Kasus B
c.Kasus C d.Kasus D
5.2.2.2 Leapfrog
a.Kasus A b.Kasus B
c.Kasus C d.Kasus D
5.2.2.3 Upstream
a.Kasus A b.Kasus B
c.Kasus C d.Kasus D
5.2.3. Skenario 3
5.2.3.1 FTCS
a.Kasus A b.Kasus B
c.Kasus C d.Kasus D
5.2.3.2 Leapfrog
a.Kasus A b.Kasus B
c.Kasus C d.Kasus D
5.2.3.3 Upstream
a.Kasus A b.Kasus B
c.Kasus C d.Kasus D
5.2.4. Skenario 4
5.2.4.1 FTCS
a.Kasus A b.Kasus B
c.Kasus C d.Kasus D
5.2.4.2 Leapfrog
a.Kasus A b.Kasus B
c.Kasus C d.Kasus D
5.2.4.3 Upstream
a.Kasus A b.Kasus B
c.Kasus C d.Kasus D
5.2.5 Skenario 5
5.2.5.1 FTCS
a.Kasus A b.Kasus B
c.Kasus C d.Kasus D
5.2.5.2 Leapfrog
a.Kasus A b.Kasus B
c.Kasus C d.Kasus D
5.2.5.3 Upstream
a.Kasus A b.Kasus B
c.Kasus C d.Kasus D
5.2.6. Skenario 6
5.2.6.1 FTCS
a.Kasus A b.Kasus B
c.Kasus C d.Kasus D
5.2.6.2 Leapfrog
a.Kasus A b.Kasus B
c.Kasus C d.Kasus D
5.2.6.3 Upstream
a.Kasus A b.Kasus B
c.Kasus C d.Kasus D
5.2.7. Skenario 7
5.2.7.1 FTCS
a.Kasus A b.Kasus B
c.Kasus C c.Kasus D
5.2.7.2 Leapfrog
a.Kasus A b.Kasus B
c.Kasus C d.Kasus D
5.2.7.3 Upstream
a.Kasus A b.Kasus B
c.Kasus C d.Kasus D
5.2.8. Skenario 8
5.2.8.1 FTCS
a.Kasus A b.Kasus B
c.Kasus C c.Kasus D
5.2.8.2 Leapfrog
a.Kasus A b.Kasus B
c.Kasus C d.Kasus D
5.2.8.3 Upstream
a.Kasus A b.Kasus B
c.Kasus C d.Kasus D
VI. PEMBAHASAN
VI.1. Grafik Konsentrasi vs Grid
VI.1.1. Skenario 1
Pada praktikum yang telah dilakukan, setiap satu scenario menggunakan perumusan
masalah dalam 4 kasus. Kasus A merupakan program kontinu dengan kecepatan positif,
sedangkan kasus B menggunakan program kontinu dengan kecepatan negative. Untuk kasus
C dan D sendiri adalah program diskontinu dibagi menjadi kecepatan positif untuk kasus C
dan negative untuk kasus D. Output dari tiap kasus ini berupa grafik. Grafik perbandingan
konsentrasi terhadap grid/ruang, menunjukkan perbandingan antara konsentrasi dalam tiap
waktunya terhadap ruang.
Perbedaan dari tiap skenario terletak pada nilai daru variable yang dimasukkan. Pada
skenario pertama, setiap metode menunjukkan hasil yang hampir sama. Skenario pertama
menggunakan data awal. Hasil dari Kasus A menunjukkan bahwa konsentrasi polutan
bersifat naik turun. Dari setiap metode, menunjukkan diantara grid 10 dengan grid 15
terdapat suatu titik dimana konsentrasi polutan cukup tinggi. Sedangkan pada grid sebelum
10, terdapat suatu titik dimana konsentrasi polutan sangat rendah pada waktu tertentu.
Disamping itu, pada kasus B terlihat bahwa konsentrasi polutan rata-rata naik seiring
bertambahnya waktu (dalam hal ini kecepatan negatif). Grafik menunjukkan hanya ada dua
kali penurunan kandungan polutan secara drastis.
VI.1.2. Skenario 2
Pada skenario dua, dilakukan dengan menggunakan empat kasus berbeda dengan besar
grid dua kali lebih besar pada grid skenario satu yaitu 220. Pada scenario kedua, grafik terlihat
lebih renggang dan nilainya lebih jelas. Namun hasil yang dihasilkan dari skenario dua ini
tidak terlalu jauh nilainya dengan skenario 1.
VI.1.3. Skenario 3
Pada Skenario tiga, dilakukan dengan menggunakan empat kasus yang sama akan tetapi nilai
lebar grid pada skenario tiga ini setengah dari lebar grid pada skenario pertama. Dari hasil grafik yang
muncul, terdapat beberapa grafik yang memiliki pola garis grafik sama dengan yang lain dengan
sumbu x grafik ini menggambatkan sebaran konsntrasi polutan disepanjang grid pada waktu x terlihat
stabil.
VI.1.4. Skenario 4
Gambar grafik pada skenario 4 menunjukkan fluktuasi yang cukup tinggi intensitasnya
dengan hampir semua waktu pada grid 5-20. Daoat disiimpulkan bahwa polutan ketika
sampai pada nilai 10 akan turun secara derastis kemudian naik menuju nilai 20 lalu turun lagi
dan naik menuju angka 50 kemudian turun lagi hingga nilai 0.
VI.1.5. Skenario 5
Hasil grafik pada skenario 5 baik pada kasus A, B, C, maupun D nilai perubahan
waktunya dt adalah 0.2. Umumnya, mirip terlihat seperti satu gelombang. Persebaran
konsentrasi polutan di sepanjang grid cukup stabil, dimana pada waktu x konsentrasi polutan
menyentuh konsentrasi tertinggi akan tetapi pada waktu x berikutya pada grid, konsentrasi polutamya
juga bsa menyentuk konsentrasi polutan terendah.
VI.1.6. Skenario 6
Pada skenario enam kecepatan aliran yang digunakan dua kali lebih besar dari kecepatan aliran
pada skenario satu. Pada hasil grafik yang diperoleh pada skenario ini terlihat bahwan dengan
menggunakan metode FTCS, CTCS sebaran konsentrasi polutannya pada grid waktu ke x terlihar
tidak stabil hanya pada Upstream terdapat hasil grafik yang sejajar sumbu x.
VI.1.7. Skenario 7
Pada skenario tujuh kecepatan aliran yang digunakan dua kali lebih kecil dari
kecepatan aliran pada skenario satu. Pada hasil grafik yang diperoleh terlihat sebaran
konsentrasi di grid nya tidak merata ini terjadi pada metode leapfrog. Semakin besar grid
sebaran polutanya memiliki konsentrasi yang semakin kecil. Sedang paa metode FTCS
sebaran konsentrasi polutan terlihat stabil di gridnya. Dan pada metode upstream sebaran
konsentrasi polutannya semakin besar.
VI.1.8. Skenario 8
Fluktuasi pada skenario 8 tetap ada namun lebih sedikit dibanding dari skenario-
skenario sebelumnya. Pada scenario 8 menggunakan nilai dx setengah dari ketentuan awal
dan nilai dt nya adalah 100
VII.1. Kesimpulan
1. Pada persamaan adveksi 1 dimensi ini terdiri dari metode eksplisit leapfrog, upstream
dan FTCS.
2. Ketiga metode ini memiliki kriteria stabilitas yang berbeda-beda. Kestabilan dari
ketiga metode ini berdasarkan nilai awal dan syarat batas yang ditetapkan serta
banyaknya polutan yang disebar.
VII.2. Saran
Saran pada praktikum kali ini adalah agar tidak terlalu banyak penggunaan skenario
agar praktikan lebih memahami materi dan pengaplikasian dari modul yang dibahas.
DAFTAR PUSTAKA
Kowalik, Z. and Murty, T. S. 1993. Numerical Modeling of Ocean Dynamics. World Scientific
Publishing Co. Pte. Ltd. London
Putri,T.L. Ariadji,Z.A.2009. Penyelesaian Numerik Metode Beda Hingga Persamaan Adveksi
1 Dimensi. Bandung: ITB.