sistem informasi akademik jurusan teknofisika nuklir sttn-batan ...
Materi Aplikasi Matlab Pada Teknologi Proses STTN
-
Upload
mustaufiqoh -
Category
Documents
-
view
314 -
download
36
description
Transcript of Materi Aplikasi Matlab Pada Teknologi Proses STTN
Materi Coaching Matlab Aplikasi Matlab pada Teknologi Proses
Disampaikan pada coaching Matlab STTN-BATAN Yogyakarta
Oleh
Gde Pandhe Wisnu Suyantara [email protected]
Sekolah Tinggi Teknologi Nuklir
Badan Tenaga Nuklir Nasional Yogyakarta
2011
Aplikasi Matlab pada Teknologi Proses 2011
i
Daftar Isi
Daftar Isi .................................................................................................................................. i
1. Review Tools Box pada Matlab ................................................................................ 1
2. Aplikasi Matlab pada Teknologi Proses .................................................................... 3
2.1. Waktu untuk mencapai ketinggian tertentu pada tangki bocor (integrasi numeris) ............................... 3
2.2. Waktu steady state tangki bocor (mencari nilai nol fungsi/root finding problems dan integrasi numeris)
.............................................................................................................................................................. 7
2.3. Kecepatan dan debit aliran cairan diantara dua tangki (root finding problems) ................................... 10
2.4. Pencampuran di dalam tangki dengan pemanas (penyelesaian persamaan diferensial ordiner simultan)
............................................................................................................................................................ 14
2.5. Distribusi suhu pada batang logam diantara dua dinding panas (penyelesaian persamaan diferensial
ordiner dengan permasalahan nilai batas, boundary value problem)................................................... 20
2.6. Pengeringan padatan silinder-penyelesaian persamaan diferensial parsial (PDP) ................................ 25
2.7. Penentuan order reaksi dan konstanta kecepatan reaksi...................................................................... 32
3. Latihan .................................................................................................................. 36
3.1. Penentuan dew point campuran .......................................................................................................... 36
3.2. Adsorpsi senyawa limbah ..................................................................................................................... 37
3.3. Reaktor tabung non-adiabatis dan non-isotermal (penyelesaian persamaan diferensial ordiner
simultan) ............................................................................................................................................. 37
Aplikasi Matlab pada Teknologi Proses 2011
1
1. Review Tools Box pada Matlab
Fungsi Deskripsi
Optimasi dan root finding problem
Fminbnd Minimasi fungsi nonlinear skalar pada batas-batas tertentu
Fminsearch Minimasi fungsi nonlinear multidimensi tak berbatas dengan
menggunakan metode pencarian langsung Nelder-Mead
Fzero Pencarian nilai-nilai pembuat nol fungsi
Integrasi Numerik
Quad Integrasi numerik dengan metode berderajat rendah
Quadl Integrasi numerik dengan metode berderajat lebih tinggi
Dblquad Integrasi numerik untuk integral ganda
Triplequad Integrasi numerik untuk integral tingkat tiga
Trapz Integrasi numerik dengan metode trapezoidal
Plotting & Grafik
Ezplot Menggambar grafik fungsi 2D
ezplot3 Menggambar grafik fungsi parametrik 3D
Ezpolar Menggambar grafik fungsi polar
Ezcountour Menggambar kontur
Ezcountourf Menggambar kontur berisi
Ezmesh Menggambar kurva permukaan 3D
Ezmeshc Menggambar kurva permukaan dengan kontur
Ezsurf Menggambar permukaan 3D berwarna
Ezsurfc Menggmabar permukaan 3D dengan kontur
Fplot Menggambar fungsi 2D
Solver untuk Persamaan Differensial (PD)
PD Ordiner dengan masalah initial value (nilai awal)
ode45 Menyelesaikan PDO non-stiff dengan metode berderajat menengah
ode23 Menyelesaikan PDO non-stiff dengan metode berderajat rendah
ode113 Menyelesaikan PDO non-stiff dengan metode berderajat yang
ditentukan
ode23t Menyelesaikan PDO stiff dan persamaan aljabar diferensial
berindeks 1 dengan metode trapezoidal
ode15s Menyelesaikan PDO stiff dan persamaan aljabar diferensial
berindeks 1 dengan metode berderajat yang ditentukan
ode23s Menyelesaikan PD stiff dengan metode berderajat rendah
ode23tb Menyelesaikan PD stiff dengan metode berderajat rendah
PD Ordiner dengan masalah boundary value (nilai batas)
Aplikasi Matlab pada Teknologi Proses 2011
2
bvp4c Menyelesaikan PDO dengan BVP dua titik dengan collocation
PD Parsial 1D
pdepe Menyelesaikan PD Parsial parabolic-eliptik dengan masalah nilai
awal
Fungsi-fungsi dasar
abs Nilai absolut
cumprod Produk kumulatif dari elemen-elemen
cumsum Produk kumulatif dari penjumlahan elemen
cumtrapz Kumulatif integrasi numerik dengan metode trapezoidal
max Komponen terbesar
mean Nilai rerata
median Nilai tengah
min Komponen terkecil
prod Produk dari elemen-elemen
sort Menyusun elemen-elemen array dengan urutan semakin naik atau
turun
std Standar deviasi
sum Jumlah dari elemen-elemen
Lebih lengkap lihat pada ketik help funfun dan help elfun pada command window
Aplikasi Matlab pada Teknologi Proses 2011
3
2. Aplikasi Matlab pada Teknologi Proses
2.1. Waktu untuk mencapai ketinggian tertentu pada tangki bocor (integrasi
numeris) Suatu tangki kosong kemudian disi cairan A dengan debit Fin m
3/jam. Pada saat yang
bersamaan bagian dasar tangki mengalami kebocoran sebesar d cm dengan kecepatan cairan
keluar sebesar v m/s yang merupakan fungsi dari tinggi cairan di dalam tangki (h). v sebagai
fungsi h dapat didekati dengan persamaan berikut :
(1.1)
Dengan g adalah percepatan gravitasi bumi yang besarnya 10 m/s2. Ingin diketahui berapa lama
waktu yang diperlukan agar tinggi cairan di dalam tangki mencapai 0,5 m ? Asumsikan bahwa
densitas cairan tidak mengalami perubahan.
Fin=15 m3/jam
Fout m3/jam
D= 3 m
d= 3 cm
Gambar 1. Sistem untuk kasus 1 dan kasus 2
Diketahui:
Dari neraca massa di dalam tangki diperoleh persamaan sebagai berikut :
(1.2)
dengan
; ;
Penyelesaian
Untuk mencari nilai t pada saat h tertentu dapat dilakukan dengan memodifikasi persamaan
neraca massa diatas menjadi:
(1.3)
Integrasi persamaan diatas dengan batas-batas sebagai berikut:
Aplikasi Matlab pada Teknologi Proses 2011
4
Pada saat t=0 maka h=0
Pada saat t=t maka h=0,5
Menghasilkan persamaan sebagai berikut :
(1.4)
Algoritma pemrogramannya adalah sebagai berikut:
Input Data
Fin, g, D, d,
h
Subroutine
function t=integ_fun(h)
Hitung A, A0, v, Fout, dan t
Perhitungan
Selesai
Mulai Perhitungan
integrasi integ_fun
t=quadl(@integ_fun,0,h)
t
h
Gambar 2. Algoritma program untuk kasus 1
Main program run_integ_fun
% Kasus 1
% Menghitung waktu pengisian tangki
% ==================================
clc
clear all
% definisi global variabel
% ==================================
global Fin D d g
% Input Data
% ==================================
Fin=15/3600; % m3/jam to m3/s
D=3; % m
d=3/100; % cm to m
g=10; % m/s2
Aplikasi Matlab pada Teknologi Proses 2011
5
% Batas integrasi
% ==================================
h=0.5;
% Integrasi numeris
% ==================================
t=quadl(@integ_fun,0,h)
% Tampilan dalam bentuk grafik
% ==================================
run_fun_ode
Subroutine integ_fun
function t=integ_fun(h)
global Fin D d g
A=pi*D^2/4;
A0=pi*d^2/4;
v=sqrt(2*g.*h);
Fout=A0*v;
t=A./(Fin-Fout);
Program menampilkan grafik run_fun_ode
% Kasus 1 & 2
% Menampilkan grafik h versus t
% ==================================
% Input Data
% ==================================
tf=12*3600; % jam to s
[ts,hs]=ode45(@fun_ode,[0,tf],[0]);
plot(t/3600,h,'o',ts/3600,hs)
xlabel('waktu, jam')
ylabel('tinggi cairan, m')
legend('hasil hitungan','Location','Best')
Subroutine fun_ode
function dhdt=fun_ode(t,h)
global Fin D d g
Aplikasi Matlab pada Teknologi Proses 2011
6
A=pi*D^2/4;
A0=pi*d^2/4;
v=sqrt(2*g.*h);
Fout=A0*v;
dhdt=(Fin-Fout)/A;
Hasil
Waktu yang diperlukan hingga tinggi cairan = 0,50 m adalah 0,38 jam
Gambar 3. Profil tinggi cairan terhadap waktu
Aplikasi Matlab pada Teknologi Proses 2011
7
2.2. Waktu steady state tangki bocor (mencari nilai nol fungsi/root finding
problems dan integrasi numeris) Sama seperti pada Kasus 1, hanya saja ingin dicari berapa lama waktu yang diperlukan agar
kondisi di dalam tangki mencapai steady state (tinggi cairan didalam tangki tetap)?
Penyelesaian
Steady state digambarkan sebagai kondisi dimana tinggi cairan di dalam tangki tetap. Pada
gambar 3, kondisi steady tercapai pada saat dh/dt=0 sehingga dari persamaan (1.2)
(2.1)
Terlebih dahulu dicari berapa nilai h yang memenuhi persamaan (2.1). Kemudian nilai h yang
diperoleh digunakan sebagai kondisi batas atas persamaan (1.4) untuk mencari waktu yang
diperlukan mencapai ketinggian h steady state dengan cara yang sama seperti pada kasus 1.
Input Data
Fin, g, D, d
Hitung h pada saat dh/dt=0
sebagai nilai batas integrasi
h=fzero(@steady_state,h0)
Subroutine
function t=integ_fun(h)
Hitung A, A0, v, Fout, dan t
Perhitungan
Selesai
Mulai Perhitungan
integrasi integ_fun
t=quadl(@integ_fun,0,h)
t
h
h
f
Subroutine
function f=steady_state(h)
Hitung A, A0, v, Fout, dan f
Gambar 4. Algoritma program untuk kasus 2
Aplikasi Matlab pada Teknologi Proses 2011
8
Main program run_integ_fun_2
% Kasus 2
% Menghitung waktu steady state
% ==================================
clc
clear all
% definisi global variabel
% ==================================
global Fin D d g
% Input Data
% ==================================
Fin=15/3600; % m3/jam to m3/s
D=3; % m
d=3/100; % cm to m
g=10; % m/s2
% Menghitung batas integrasi
% ==================================
h=fzero(@steady_state,1);
% Integrasi numeris
% ==================================
t=quadl(@integ_fun,0,0.999*h)
% Tampilan dalam bentuk grafik
% ==================================
run_fun_ode
Subroutine steady_state
function f=steady_state(h)
global Fin D d g
A=pi*D^2/4;
A0=pi*d^2/4;
v=sqrt(2*g.*h);
Fout=A0*v;
f=A./(Fin-Fout);
Hasil
Waktu yang diperlukan hingga steady state adalah 10,81 jam (tinggi cairan = 1,74 m)
Aplikasi Matlab pada Teknologi Proses 2011
9
Gambar 5. Profil tinggi cairan terhadap waktu dan kondisi steady state
Aplikasi Matlab pada Teknologi Proses 2011
10
2.3. Kecepatan dan debit aliran cairan diantara dua tangki (root finding
problems)1
1
2
z1
z2
v,QD, Le
Gambar 6. Sistem untuk kasus 3 : pengaliran cairan antara dua tangki
Suatu cairan akan dialirkan dari tangki 1 menuju tangki 2 melalui pipa dengan diameter D
dengan bantuan pompa. Panjang ekuivalen pipa, Le, diketahui. Karakteristik pompa sentrifugal
yang dipakai berupa hubungan antara head pompa (Hm, cm) dengan debit (Q, cm3/detik) dapat
didekati dengan persamaan :
(3.1)
Ingin dihitung kecepatan cairan di dalam pipa (v) dan debit aliran (Q)
Diketahui:
Persamaan Bernoulli
(3.2)
P1=P2=1 atm. Asumsi bahwa diameter tangki cukup besar sehingga v1 dan v2 dapat dianggap nol,
maka persamaan tersebut menjadi :
(3.3)
1 W.B. Sediawan dan A. Prasetya, 1997,”Pemodelan Matematis dan Penyelesaian Numeris dalam Teknik Kimia”,
hal.115-117, Penerbit Andi : Yogyakarta.
Aplikasi Matlab pada Teknologi Proses 2011
11
Dengan :
(3.4)
(3.5)
(3.6)
(3.7)
Sedangkan debit aliran dapat dihitung dengan persamaan berikut:
(3.8)
Diketahui harga-harga:
ρ=1 g/cm3; µ=0,01 g/cm/s; g=981 cm/s
2 ; z1=300 cm; z2=800 cm; D=4 cm; Le=20000 cm.
Objective function
(3.9)
Penyelesaian
Harga v dapat ditentukan melalui prosedur trial and error (coba-coba) dengan memasukkan nilai
v ke dalam persamaan fobj diatas hingga diperoleh nilai fobj(v)=0
Algoritma perhitungan dan programnya pada gambar 7
Main program pump1
% Kasus 3
% Menghitung v dan Q pada pengaliran cairan
% ================================================
clc
clear
% Definisi global variabel
% ================================================
global g Z1 Z2 Le rho miu D
% Input data
% ================================================
g=981; % cm/s2
Le=20000; % cm
Z1=300; % cm
Aplikasi Matlab pada Teknologi Proses 2011
12
Z2=800; % cm
rho=1; % g/cm3
miu=0.01; % g/cm/s
D=4; % cm
%Nilai v trial awal
% ================================================
v0=200;
% Mencari nilai nol dari fungsi tujuan
% (objective function)
% ================================================
v=fzero(@obj_fun,v0);
% Hitung debit aliran
% ================================================
Q=pi/4*D^2*v;
% Tampilkan hasil
% ================================================
fprintf(' kecepatan cairan (v) = %6.4f cm/s \n',v)
fprintf(' debit cairan (Q) = %6.4f cm3/s \n',Q)
Subroutine obj_fun
function fobj=obj_fun(v)
global g Z1 Z2 Le rho miu D
Q=pi/4*D^2*v;
Hm=3718.5-2.3496*Q+7.8474e-4*Q^2-9.5812e-8*Q^3;
Re=rho*v*D/miu;
f=0.0596./Re.^0.215;
F=f*Le*v^2/2/g/D;
W=-Hm;
fobj=Z1-Z2-F-W;
Hasil
kecepatan cairan (v) = 227.6735 cm/s
debit cairan (Q) = 2861.0300 cm3/s
Aplikasi Matlab pada Teknologi Proses 2011
13
Mulai perhitungan
Input data
µ, ρ, g, z1,
z2, D, Le
Masukkan nilai
vtrial
Hitung Q=f(vtrial)
Hitung Hm=f(Q)
Hitung Re=f(v)
Hitung f=f(Re)
Hitung vhitung=f(Hm,f,vtrial)
vhitung=vtrial?
Perhitungan
selesai
Ya
Tidak
coba nilai v baru
Mulai perhitungan
Input data
µ, ρ, g, z1,
z2, D, Le,
vtrial
Hitung v
v=fzero(@obj_fun,vtrial)
Hitung Q=f(v)
Perhitungan
selesai
Subroutine
function fobj=obj_fun(v)
Hitung Q=f(vtrial)
Hitung Hm=f(Q)
Hitung Re=f(v)
Hitung f=f(Re)
Hitung fobj(v)
Langkah Perhitungan Manual Algoritma Program
Gambar 7. Algoritma perhitungan dan pemrograman kasus 3
Aplikasi Matlab pada Teknologi Proses 2011
14
2.4. Pencampuran di dalam tangki dengan pemanas (penyelesaian
persamaan diferensial ordiner simultan)
C1,kg/m3
Fv1, m3/jam
T1, oC
Cp1, J/kg/oC
Fs, kg/jam
Ts, oC
C2,kg/m3
Fv2, m3/jam
T2, oC
Cp2, J/kg/oC
C,kg/m3
Fv, m3/jam
T, oC
Cp,J/kg/oC
Fs, kg/jam
Ts, oC
U, watt/m2/oC
A, m2
C, kg/m3
V, m3
T, oC
Gambar 8. Sistem tangki pencampuran dengan pemanas
Sebuah tangki dilengkapi dengan pengaduk dan pemanas akan digunakan untuk mencampur
cairan B berkonsentrasi C1 dan bersuhu T1 dengan cairan B berkonsentrasi C2 dan bersuhu T2.
Campuran keluar tangki dengan konsentrasi C dan suhu T. Untuk mencapai suhu T, fluida
pemanas sebanyak Fs dengan suhu Ts, dialirkan melalui koil pemanas yang sepenuhnya
terendam di dalam cairan B. Ingin diketahui bagaimanakah profil suhu dan konsentrasi terhadap
waktu jika tangki dioperasikan selama 3 jam. Diketahui mula-mula di dalam tangki ada sebanyak
V cairan A dengan suhu T0 dan konsentrasi C0. Nilai kapasitas panas cairan dapat dianggap
tetap.
Diketahui:
C1 = 10 kg/m3; C2 = 2 kg/m
3; C0 = 8 kg/m
3; T1 = 35
oC; T2 = 95
oC; Ts = 120
oC; T0 = 35
oC; Fv1
= 5 m3/jam; Fv2 = 3 m
3/jam; Fv= 5 m
3/jam; Fs = 60 kg/jam; V =1 m
3 ; U=15 watt/m
2/oC ; A=25
m2; Cp=Cp1=Cp2= 3 J/kg/
oC
Aplikasi Matlab pada Teknologi Proses 2011
15
Neraca massa total
kecepatan massa masuk- kecepatan massa keluar = kecepatan massa terakumulasi
(4.1)
Jika densitas cairan dapat dianggap konstan maka persamaan tersebut menjadi:
(4.2)
Kondisi awal:
Pada t=0 maka V=V (4.3)
Neraca massa komponen
kecepatan B masuk- kecepatan B keluar = kecepatan B terakumulasi
(4.4)
(4.5)
Kondisi awal:
Pada t=0 maka C=C0 (4.6)
Neraca panas
kecepatan panas masuk - kecepatan panas keluar= kecepatan panas terakumulasi
(4.7)
Aplikasi Matlab pada Teknologi Proses 2011
16
Kondisi batas:
Pada t=0 maka T=T0 (4.8)
Penyelesaian
Diperoleh persamaan diferensial ordiner simultan dengan permasalahan kondisi awal sebagai
berikut:
Kondisi awal
Pada t=0 maka V=V;C=C0,T=T0
Untuk menyelesaikan ketiga persamaan tersebut secara simultan maka dapat digunakan metode
Runge-Kutta. Di dalam toolbox Matlab, metode ini digunakan dalam ode45. Sintaks ode45
adalah sebagai berikut :
[t,Y] = ode45(odefun,tspan,y0)
[t,Y] = ode45(odefun,tspan,y0,options)
[t,Y,TE,YE,IE] = ode45(odefun,tspan,y0,options)
sol = ode45(odefun,[t0 tf],y0...)
Algoritma pemrograman penyelesaian permasalahan ini diberikan pada gambar 9.
Main program mix_heat
% Kasus 4
% Pencampuran cairan dalam tangki berpengaduk dengan koil pemanas
% ===============================================================
% definisi global variabel
% ===============================================================
global Fv1 Fv2 Fv C1 C2
global T1 T2 Ts Tref U A Cp
% input data
% ===============================================================
Aplikasi Matlab pada Teknologi Proses 2011
17
C1 = 10; % kg/m3
C2 = 2; % kg/m3
C0 = 8; % kg/m3
T1 = 35+273; % C
T2 = 95+273; % C
Ts = 120+273; % C
T0 = 35+273; % C
Fv1 = 5; % m3/jam
Fv2 = 3; % m3/jam
Fv= 5; % m3/jam
Fs = 60; % kg/jam
V = 1; % m3
U = 15; % watt/m2/C
A = 25; % m2
Cp = 3; % J/kg/C
tf=3; % jam
Tref=298; % K
% menyelesaian ode simultan dengan ode45
% ===============================================================
[t,Y]=ode45(@mix_heat_ode_fun,[0,tf],[V,C0,T0]);
% menampilkan hasil perhitungan dalam bentuk grafik
% ===============================================================
figure(1) % menampilkan volum & konsentrasi cairan terhadap waktu
[AX,H1,H2]=plotyy(t,Y(:,1),t,Y(:,2))
set(get(AX(1),'Ylabel'),'String','volum cairan di dalam tangki, m3')
set(get(AX(2),'Ylabel'),'String','konsentrasi cairan di dalam tangki, kg/m3')
xlabel('waktu, jam')
figure(2) % menampilkan profil suhu sepanjang waktu
plot(t,Y(:,3),'r')
xlabel('waktu, jam')
ylabel('Suhu, K')
legend('T','Location','Best')
subroutine mix_heat_ode_fun
function dYdt=mix_heat_ode_fun(t,Y)
global Fv1 Fv2 Fv C1 C2
global T1 T2 Ts Tref U A Cp
V=Y(1);
C=Y(2);
T=Y(3);
Aplikasi Matlab pada Teknologi Proses 2011
18
dYdt=zeros(3,1);
dYdt(1)=(Fv1+Fv2-Fv);
dYdt(2)=(Fv1.*C1+Fv2.*C2-Fv.*C-C.*dYdt(1))./V;
dYdt(3)=(Fv1.*C1.*(T1-Tref)+Fv2.*C2.*(T2-Tref)+U.*A.*(Ts-T)./Cp...
-Fv.*C.*(T-Tref)-T.*(C.*dYdt(1)+V.*dYdt(2)))./V./C;
Input dataC1 ; C2 ; C0 ; T1 ; T2 ; Ts
; T0 ; Fv1 ; Fv2 ; Fv ; Fs
; V ; U; A ; Cp ; Cp1 ;
Cp2 ; tf ; Tref
Subroutine
function dYdt=mix_heat_ode_fun(t,Y)
dVdt=f(V)
dCdt=f(V,C)
dTdt=f(V,C,T)
dYdt=[dVdt;dCdt;dTdt]
Perhitungan ode simultan
[t,Y]=ode45(@mix_heat_ode_fun,[0,tf],[V,C0,T0])
Tampilkan hasil
perhitungan dalam
bentuk grafik
Mulai perhitungan
Perhitungan
selesai
t
Y=V,C0,T0
dYdt
Gambar 9. Algoritma program kasus 4
Aplikasi Matlab pada Teknologi Proses 2011
19
hasil
Gambar 10. Profil volum dan konsentrasi terhadap waktu
Gambar 11. Profil suhu terhadap waktu
Aplikasi Matlab pada Teknologi Proses 2011
20
2.5. Distribusi suhu pada batang logam diantara dua dinding panas
(penyelesaian persamaan diferensial ordiner dengan permasalahan
nilai batas, boundary value problem)
Suatu batang dengan panjang L dan diameter D, kedua ujungnya ditempelkan pada dinding
panas dengan suhu yang dijaga konstan masing-masing Ta dan Tb (gambar 12). Ingin diketahui
distribusi suhu pada batang logam sebagai fungsi panjang logam pada saat steady state.
Diketahui :
Konduktifitas panas logam (k) =0,2 cal/s/cm/oC
Koefisien perpindahan panas secara konveksi (h) =0,002 cal/s/cm2/oC
L=15 cm; D=1.5 cm
Ta=500 oC Tb=100
oC
x x+Δx
x=0 x=L
Tu=35 oC
qkonveksi
qkonveksi
qkonduksi qkonduksi
Gambar 12. Batang logam diantara dua dinding bersuhu tetap
Neraca panas pada elemen volum = A.Δx
Kecepatan panas masuk – kecepatan panas keluar = kecepatan panas terakumulasi
qkonduksi pada x- (qkonduksi pada x+Δx + qkonveksi) = 0
=0
Dengan: ;dan
A = luas perpindahan panas secara konduksi; A=
A’ = luas perpindahan panas secara konveksi
Aplikasi Matlab pada Teknologi Proses 2011
21
—
Persamaan tersebut diatur ulang dan dibagi dengan elemen volum serta diambil limit Δx
Karena nilai k tetap maka diperoleh PD ordiner order dua sebagai berikut:
(5.1)
dengan batas-batas:
pada x=0, T=Ta
pada x=L, T=Tb
Penyelesaian
Persamaan matematis yang diperoleh merupakan permasalahan PD ordiner dengan permasalahan
nilai batas. Matlab menyediakan tools berupa bvp4c untuk menyelesaikan permasalahan jenis
ini. Akan tetapi, bvp4c hanya dapat digunakan untuk menyelesaikan PD ordiner order satu
sehingga terlebih dahulu persamaan (5.1) dimanipulasi sedemikian sehingga menjadi PD ordiner
order 1 simultan.
Misalkan :
maka
Substitusi persamaan tersebut ke persamaan (5.1) menghasilkan PD ordiner simultan sebagai
berikut :
(5.2)
(5.3)
Aplikasi Matlab pada Teknologi Proses 2011
22
Sintaks dari bvp4c adalah sebagai berikut:
sol = bvp4c(odefun,bcfun,solinit)
sol = bvp4c(odefun,bcfun,solinit,options)
sol = bvp4c(odefun,bcfun,solinit,options,p1,p2...)
Algoritma pemrograman dengan Matlab diperlihatkan pada gambar 13.
Input data
Ta,Tb, Tu, h, k, L, D
Tentukan jumlah inkremen panjang (xint) serta nilai
tebakan penyelesaian PDO dengan permasalahan
nilai batas dalam solinit=bvpinit(xint,Y0)
Tampilkan hasil
perhitungan dalam
bentuk grafik
Mulai perhitungan
Perhitungan
selesai
Subroutine
function dy=ode_fun(x,y)
dTdx=f(y)
dydx=f(T)
dy=[dTdx;dydx]
Perhitungan numeris dengan bvp4c
sol = bvp4c(@ode_fun,@bc_fun,solinit)
x,y
dy
Subroutine
function bc_res=bc_fun(Ya,Yb)
Pada x=0, T=Ta
Pada x=L, T=Tb
Ya,Yb
bc_res
Ekstrak hasil hitungan sol dengan :
Yxint=deval(sol,xint)
Gambar 13. Algoritma kasus 5
Aplikasi Matlab pada Teknologi Proses 2011
23
Main program run_ode_bvp
% Kasus 5
% Distribusi suhu pada batang logam
% =================================
% definisi global variabel
% =================================
global Tu k D h
global Ta Tb
% Input data
% =================================
Ta=400; % deg C
Tb=100; % deg C
Tu=35; % deg C
k=0.2; % cal/s/cm/deg C
D=1.5; % cm
L=15; % cm
h=0.002; % cal/s/cm2/deg C
% Menentukan jumlah inkremen
% =================================
xint = linspace(0,L,20);
% Menentukan tebakan awal penyelesaian
% =====================================
solinit=bvpinit(xint,[0 1]);
% Penyelesaian PDO dengan BVP
% =================================
sol = bvp4c(@ode_fun,@bc_fun,solinit);
% Mengekstrak hasil penyelesaian
% =================================
Yint = deval(sol,xint);
% Menampilkan hasil perhitungan
% =================================
plot(xint,Yint(1,:))
xlabel('x, cm')
ylabel('T, \circ C')
subroutine ode_fun
function dy=ode_fun(X,Y)
global Tu k D h
dy=zeros(2,1);
Aplikasi Matlab pada Teknologi Proses 2011
24
dy(1)=Y(2);
dy(2)=4*h/k/D*(Y(1)-Tu);
subroutine bc_fun
function bc_res=bc_fun(Ya,Yb)
global Ta Tb
bc_res=[Ya(1)-Ta
Yb(1)-Tb];
Hasil
Gambar 14. Distribusi suhu pada batang logam
Aplikasi Matlab pada Teknologi Proses 2011
25
2.6. Pengeringan padatan silinder-penyelesaian persamaan diferensial
parsial (PDP)2 Suatu padatan berbentuk silinder panjang, berjari-jari R, dengan kadar air mula-mula C0
(g/cm3) dikeringkan dengan udara yang mengandung uap air sebesar yud ( g air/g udara).
Kesetimbangan H2O di fasa padat dan di udara dapat didekati dengan hokum Henry berbentuk
y=H.C (6.1)
Kecepatan perpindahan massa uap air dari permukaan padatan ke udara mengikuti
persamaan
(6.2)
Dengan y* adalah kadar H2O di udara setimbang dengan kadar H2O pada permukaan
silinder. Karena kadar air dalam silinder sudah cukup rendah, maka kecepatan difusi H2O dari
dalam silinder ke permukaan berpengaruh dan karena silinder sangat panjang (R<<L), maka
difusi H2O dianggap hanya kea rah radial. Ingin dicari kadar air dalam silinder (C) pada berbagai
posisi (r) dan waktu (t).
L
r
r+ΔrR
Δr
D
Gambar 15. Skema sistem pengeringan dan elemen volum pada silinder
Analisis matematis terhadap sistem pengeringan silinder menghasilkan sebuah PDP sebagai
berikut :
2 Soal diambil dari buku Pemodelan Matematis dan Penyelesaian Numeris dalam Teknik Kimia, hal.147, karya
W.B. Sediawan dan A. Prasetya dengan modifikasi.
Aplikasi Matlab pada Teknologi Proses 2011
26
(6.3)3
dengan batas-batas sebagai berikut :
C(r,0)=C0
C(0,t)=finite atau
C(R,t)=NAA=kGA(H.C-yud)
A merupakan luas perpindahan transfer massa, A=
Nilai-nilai tetapan yang diketahui adalah sebagai berikut :
De=0,04 cm2/jam; kG=0,08 g/cm
2/jam; H=0,2; R=0,2 cm; C0=0,2 g/cm
3; yud=0,002 g/g udara;
waktu pengeringan=25 jam ;L=10 cm;
Penyelesaian
Penyelesaian persamaan differensial parsial (PDP) tersebut secara numeris dapat dilakukan
dengan menggunakan metode implisit, eksplisit atau dengan metode Crank-Nicolson. Khusus
untuk penyelesaian numeris PDP parabolik dan elliptik dengan satu variabel bebas ruang (x) dan
satu variabel bebas waktu (t), Matlab menyediakan tools yang bernama pdepe untuk
menyelesaikan PDP tersebut. Secara umum untuk permasalahan nilai awal, sintaks yang dapat
digunakan adalah sebagai berikut :
sol = pdepe(m,pdefun,icfun,bcfun,xmesh,tspan)
sol = pdepe(m,pdefun,icfun,bcfun,xmesh,tspan,options)
sol = pdepe(m,pdefun,icfun,bcfun,xmesh,tspan,options,p1,p2...)
Algoritma penyelesaiannya disajikan pada gambar 16.
3 Penurunan persamaan dapat dilihat pada buku Pemodelan Matematis dan Penyelesaian Numeris dalam Teknik
Kimia, hal.147, karyaW.B. Sediawan dan A. Prasetya
Aplikasi Matlab pada Teknologi Proses 2011
27
Input dataDe; kG; H; R; C0; yud; t0;
tf; L
Tentukan jumlah inkremen radius (xmesh) serta
nilai kisaran untuk waktu (tspan). Masukan faktor
geometri (m)
Tampilkan hasil
perhitungan dalam
bentuk grafik
Mulai perhitungan
Perhitungan
selesai
Subroutine
function u0=icfun(x)
Perhitungan numeris dengan pdepe
sol=pdepe(m,@pdefun,@icfun,@bcfun,xmesh,tspan)
Subroutine
function [c,f,s]=pdefun(x,t,u,DuDx)
Subroutine
function [pl,ql,pr,qr]=bcfun(xl,ul,xr,ur,t)
Gambar 16. Algoritma pemrograman kasus 6
Untuk menggunakan pdepe, persamaan matematis yang diperoleh harus menyesuaikan dengan
kehendak dari bentuk umum persamaan yang digunakan pada pdepe yaitu:
Dengan kondisi batas yang berlaku : dan maka bentuk penulisan IC
adalah sebagai berikut
Untuk BC, bentuk persamaan yang dikehendaki adalah sebagai berikut :
Aplikasi Matlab pada Teknologi Proses 2011
28
Sehingga untuk menyelesaikan permasalahan pengeringan padatan silinder tersebut terlebih
dahulu PDP yang diperoleh dimodifikasi sedemikian rupa sehingga memenuhi format yang
diinginkan Matlab.
Modifikasi persamaan
PDP dari kasus:
Modifikasi persamaan tersebut adalah:
Bentuk Matlab:
Jika u=C, x=r maka nilai-nilai dari variable c, m, f dan s sebagai berikut:
m=1
Bentuk Matlab untuk kondisi awal (IC)
IC kasus : C(r,0)=C0
jika t0=0 maka persamaan untuk IC adalah:
IC:
Aplikasi Matlab pada Teknologi Proses 2011
29
Bentuk Matlab untuk kondisi batas (BC)
BC pada r=0 kasus : C(0,t)=finite atau
Modifikasi BC
sehingga :
Maka persamaan BC untuk batas kiri (r = 0):
BC pada r=R kasus : C(R,t)=NAA=kGA(H.C-yud)
Modifikasi BC
sehingga :
Maka persamaan BC untuk batas kanan (r=R):
Pemrograman dengan pdepe menggunakan sintaks berikut :
sol = pdepe(m,pdefun,icfun,bcfun,xmesh,tspan)
Untuk melengkapi sintaks tersebut diperlukan pdefun,icfun,bcfun,xmesh,tspan.
pdefun
function [c,f,s]=pdefun(x,t,u,DuDx) global De c=1/De; f=DuDx; s=0;
icfun
function u0=icfun(x) global C0 u0=C0;
Aplikasi Matlab pada Teknologi Proses 2011
30
bcfun
function [pl,ql,pr,qr]=bcfun(xl,ul,xr,ur,t) global kG H yud R L NA=kG*(H*ur-yud) A=2*pi*R*L pl=0; ql=1; pr=ur-NA*A; qr=0;
Sementara itu pada program pada main program adalah sebagai berikut
% Kasus 6 % Pengeringan padatan silinder % ===============================
% Definisi variabel global % =============================== global De global C0 global kG H yud R L
% Input data % =============================== De=0.04; % cm2/jam KG=0.08; % g/cm2/jam H=0.2; % tanpa satuan Yud=0.002; % g/g udara R=2; % cm C0=0.2; % g/cm3 L=10; % cm t0=0; % jam tf=25; % jam
% Menentukan mesh dan tspan % =============================== xmesh=[0:0.2:R] % inkremen arah r tspan=linspace(t0,tf,10); % jangkauan waktu
% definisi geometri % =============================== m=1;
Aplikasi Matlab pada Teknologi Proses 2011
31
% Menyelesikan pdepe % =============================== sol=pdepe(m,@pdefun1,@icfun1,@bcfun1,xmesh,tspan)
% Menampilkan hasil % =============================== surf(rmesh,tspan,sol) xlabel('Radius batang, cm') ylabel('waktu, jam') zlabel('konsentrasi air, g/cm3')
Hasil
Gambar 17. Konsentrasi air pada padatan silinder sebagai fungsi waktu pengeringan dan radius
Aplikasi Matlab pada Teknologi Proses 2011
32
2.7. Penentuan order reaksi dan konstanta kecepatan reaksi4
Reaksi isomerisasi tak dapat balik
Dijalankan dalam sebuah reactor batch dan diperoleh data konsentrasi tiap waktu sebagai
berikut:
t (men) 0 3 5 8 10 12 15 17.5
CA (mol/l) 4,0 2,89 2,25 1,45 1,0 0,65 0,25 0,07
Tentukan order reaksi terhadap A,α dan konstanta kecepatan reaksi, k!
Penyelesaian
CA
Gambar 18. Skema reaktor batch
Asumsi bahwa data diperoleh pada kondisi isotermal dan volum cairan di dalam reactor tetap.
Dicoba model reaksi elementer sebagai berikut:
-rA = k.CAα (7.1)
Neraca massa pada reactor batch:
kec. A masuk- kec.A keluar+ kec. A tergenerasi = kec. A terakumulasi
4 Fogler, H.S., 1999, “Elements of Chemical Reaction Engineering”, 3
rd ed. p.270,Prentice Hall, Inc., Nw Jersey.
Aplikasi Matlab pada Teknologi Proses 2011
33
karena volum reaktor tetap maka persamaan tersebut menjadi :
(7.2)
Untuk menentukan nilai k dan α digunakan metode minimasi sum of squared errors (SSE) yang
didefinisikan sebagai:
(7.3)
Semakin kecil nilai SSE maka, semakin baik model tersebut mewakili data percobaan. Cmodel
diperoleh dari hasil penyelesaian persamaan (7.2) dengan mencoba-coba nilai k dan α agar
memberikan nilai Cmodel yang sedekat mungkin dengan Cdata atau dengan kata lain nilai SSE
seminimum mungkin.
Karena fungsi yang akan diminimasi merupakan fungsi nonlinier maka pilihan tools pada Matlab
yang tersedia adalah fminbnd atau fminsearch. Oleh karena tidak ada indikasi nilai batas k
dan α yang memberikan nilai SSE minimum, maka fminsearch akan lebih tepat untuk
digunakan.
Algoritma program disajikan pada gambar 19.
Main Program data_reaktor
% Kasus 7 Penentuan order reaksi dan konstanta kecepatan reaksi % ============================================================= clear clc clf % Definisi global variabel % ========================= global t C C_hit
% Input data percobaan % ========================= t=[0 3 5 8 10 12 15 17.5]; C=[4.0 2.89 2.25 1.45 1.0 0.65 0.25 0.07];
% Nilai trial k dan alfa % ========================= k0=[0.2,0.5]; % urutan nilai uji coba : k alfa
% Minimasi fungsi tujuan sse % =========================== [kons,var]=fminsearch(@hit_sse,k0);
% Tampilkan hasil dalam bentuk grafik % ==================================== figure(1) plot(t,C,'*',t',C_hit)
Aplikasi Matlab pada Teknologi Proses 2011
34
xlabel('Waktu reaksi, menit') ylabel('Konsentrasi A, mol/l') legend('Data','Model')
% Tampilkan hasil pada command window % ==================================== fprintf('Nilai k =%6.4f \n',kons(1)) fprintf('Nilai a =%6.4f \n',kons(2))
Input data percobaan
Tentukan nilai trial awal untuk k dan α
Tampilkan hasil
perhitungan dalam
bentuk grafik
Mulai perhitungan
Perhitungan
selesai
Subroutine
function dCdt=ode_reaktor(t,C,kons)
dCdt=f(C)
Minimasi fungsi objektif SSE
kons_hit=fminsearch(@hit_sse,k0)
Subroutine
function fsse=hit_sse(kons)
Penyelesaian ode_reaktor
Hitung fsse
Gambar 19. Algoritma program untuk kasus 7
Subroutine hit_sse function fsse=hit_sse(kons) global t C C_hit residual % Menyelesaikan PD ordiner untuk memperoleh nilai C model dengan ode45: [thit,C_hit]=ode45(@ode_reaktor,t,C(1,1),[],kons); % Hitung nilai residual: residual=C_hit-C'; % Hitung fungsi tujuan: fsse=sse(residual)/(length(t)-length(kons));
Aplikasi Matlab pada Teknologi Proses 2011
35
Subroutine ode_reaktor function dCdt=ode_reaktor(t,C,kons) dCdt=-kons(1).*C^kons(2);
Hasil Nilai k =0.1991
Nilai α =0.5027
Gambar 20. Hasil fitting data dengan model
Aplikasi Matlab pada Teknologi Proses 2011
36
3. Latihan
3.1. Penentuan dew point campuran5 Sistem campuran uap benzen (1) /toluen (2) dengan fraksi mol A (y1) = 0.33 didinginkan pada
tekanan tetap 120 kPa. Ingin dicari pada suhu berapa (oC) pengembunan terjadi dan komposisi
embunan yang terbentuk (xi) jika diketahui bahwa tekanan uap murni mengikuti persamaan
sebagai berikut:
(1.1)
Komponen6 A B C
Benzen 13,8594 2773,78 220,07
Toluen 14,0098 3103,01 219,79
Petunjuk : kesetimbangan uap-cair mengikuti hokum Roult-Dalton
(1.2)
dengan xi adalah fraksi mol cairan i, Pio adalah tekanan uap murni komponeni, yi adalah fraksi
mol uap i, dan PT adalah tekanan total system.
Persamaan yang diketahui :
Pada saat kesetimbangan terjadi maka
x1+x2=1 dan y1+y2=1
karena yang diamati adalah cairan maka digunakan persamaan:
f(T)=x1+x2-1 (1.3)
substitusi x1 dan x2 dari persamaan Roult-Dalton maka:
(1.4)
5 Smith,J.M., Van Ness, H.C., dan Abbott, M.M., 2001, “Introduction to Chemical Engineering Thermodynamics”,
edisi ke-6, hal. 361, McGraw-Hill : Singapore. 6 Tabel 10.2 pada “Introduction to Chemical Engineering Thermodynamics” karya Smith, J.M., Van Ness, H.C., dan
Abbott, M.M.
Aplikasi Matlab pada Teknologi Proses 2011
37
3.2. Adsorpsi senyawa limbah7 Udara buang pabrik mengandung senyawa A yang akan dihilangkan A-nya sebelum dibuang ke
udara dengan cara menggelembungkan udara tersebut dalam larutan penyerap yang tidak volatile
sehingga sebagian besar A terserap dalam larutan. Jumlah udara G dengan kadar A adalah yAF.
Kandungan A dalam gas keluar larutan dianggap dalam keadaan setimbang dengan A dalam
larutan. Hubungan kesetimbangan uap-cair mengikuti hokum Henry: yA=HxA dimana xA dalam
gmol A/ gmol pelarut bebas A. Suhu sistem dianggap tetap sehingga harga H tetap. Larutan
penyerap berjumlah V dan mula-mula tidak mengandung A. Dengan berjalannya waktu,
kandungan A dalam larutan semakin tinggi sehingga kadar A dalam udara keluar menjadi yAB.
Hitunglah berapa lama proses penggelembungan bisa berlangsung sebelum larutan penyerap
harus diganti dengan larutan segar. Neraca massa A pada peristiwa tersebut dapat diturunkan
menjadi persamaan berikut:
(2.1)
G=0,2 gmol udara bebas A/detik; yAF=0,1 gmol A/gmol udara bebas A; yAB=0,05 gmol
A/gmol udara bebas A; H=0,1 gmol larutan bebas A/gmol udara bebas A; dan V=10 gmol bebas
A.
3.3. Reaktor tabung non-adiabatis dan non-isotermal (penyelesaian
persamaan diferensial ordiner simultan)8
Reaksi fasa gas bolak-balik, eksotermis
Dijalankan dalam sebuah reaktor tabung plug-flow, berdiameter dalam D dan panjang L.
Kecepatan reaksi dapat didekati dengan persamaan
-
Dengan
7 Soal ujian sisipan mata kuliah Perhitungan dengan Komputer, Magister Teknik Kimia, Jurusan Teknik Kimia FT
UGM, tanggal 14 Januari 2011 8 W.B. Sediawan dan A. Prasetya, 1997,”Pemodelan Matematis dan Penyelesaian Numeris dalam Teknik Kimia”,
hal.135-139, Penerbit Andi : Yogyakarta.
Aplikasi Matlab pada Teknologi Proses 2011
38
Perubahan entalpi reaksi mengikuti persaaan
Dengan adalah perubahan entalpi reaksi pada suhu Tref. Umpan reaktor berjumlah F0
(mol/detik) bersuhu T0 dengan komposisi 90% A dan 10% inert (I). Tekanan sepanjang reaktor
dianggap tetap. Untuk menjaga agar suhu reaktor tidak terlalu tinggi, pendingin berupa cairan
jenuh bersuhu Ts dialirkan diluar tabung (dalam anulus). Pendingin meninggalkan annulus dalam
keadaan uap jenuh pada suhu Ts (sehingga suhu pendingin tetap). Koefisien perpindahan panas
antara gas dan pendingin dihitung berdasarkan luas permukaan dalam tabung=U. Kapasitas
panas gas-gas dianggap tetap dan gas dapat dianggap ideal. Ingin dicari konversi A (X) dan suhu
gas (T) pada berbagai posisi (z), pada keadaan steady.
Diketahui:
U = 0,0085 cal/cm2/det/K; F0 = 10 gmol/detik; x0 = 0; P=7,0 atm; D=35 cm; L=1000 cm;
CpA,CpB,CpC,CpI masing-masing 20,10,15, dan 10 cal/gmol/K; ΔHRo= -35000 cal/gmol; R=82
cm3.atm/gmol/K; A=10000 detik
-1; E/R =6500 K; α = -12.3; β = 4400 K; Tref=273 K; T0=470
K; Ts=421 K
F0,T0,P
90% A
10% I
Ts
z=0
D
z z+Δz
z=L
xout
Ts
Gambar 21. Skema reaktor alir pipa non-adiabatis dan non-isotermal
Ringkasan Persamaan Diferensial Ordiner Simultan9:
(3.1)
(3.2)
9 Penurunan persamaan dapat dilihat pada buku Pemodelan Matematis dan Penyelesaian Numeris dalam Teknik
Kimia, hal.135-139, karyaW.B. Sediawan dan A. Prasetya
Aplikasi Matlab pada Teknologi Proses 2011
39
Dengan keadaan awal :
Pada z=0; x=0 dan T=T0
(3.3)
(3.4)
(3.5)