Anda di halaman 1dari 7

Algoritma dan Diagram Alir Penyelesaian Optimasi Reaktor dengan metode Runge-Kutta orde 4

Yovie Cikal M. (121170056) dan M. Ikang Adil Fauzi (121170029)


Algoritma yang digunakan untuk menyelesaikan persamaan diferensial biasa dengan persoalan nilai awal
dengan metode runge kutta orde 4 (RK-4)
Pada optimasi ini, penyelesaiannya menggunakan 4 (empat) buah persamaan (dengan variable bebas
tinggi tumpukan katalis, z, serta variable tak bebas konversi reaktan X, suhu reaksi T, suhu pemanas Tp,
dan tekanan operasi P.
𝑑𝑋
= 𝑓1 (𝑧, 𝑋, 𝑇, 𝑇𝑝, 𝑃)
𝑑𝑧
𝑑𝑇
= 𝑓2 (𝑧, 𝑋, 𝑇, 𝑇𝑝, 𝑃)
𝑑𝑧

𝑑𝑇𝑝
𝑑𝑧
= 𝑓3 (𝑧, 𝑋, 𝑇, 𝑇𝑝, 𝑃)
𝑑𝑃
= 𝑓4 (𝑧, 𝑋, 𝑇, 𝑇𝑝, 𝑃)
𝑑𝑧

Dengan nilai awal:


Tinggi tumpukan katalis mula-mula = z0 = 0 [meter]
Konversi mula-mula = X0 = 0
Suhu reaksi mula-mula = T0 = 755.372 [K]
Suhu pemanas mula-mula = Tp0 = 811 [K]
Tekanan mula-mula = P0 = 4.4 [atm]

Dari nilai awal z, X, T, Tp, dan P maka nilai selanjutnya dapat ditentukan dengan cara:
𝑧𝑖+1 = 𝑧𝑖 + Δ𝑧
Δ𝑧
𝑋𝑖+1 = 𝑋𝑖 + 6
(𝑘1 + 2𝑘2 + 2𝑘3 + 𝑘4 )
Δ𝑧
𝑇𝑖+1 = 𝑇𝑖 + 6
(𝑙1 + 2𝑙2 + 2𝑙3 + 𝑙4 )
Δ𝑧
𝑇𝑝𝑖+1 = 𝑇𝑝𝑖 + (𝑚1 + 2𝑚2 + 2𝑚3 + 𝑚4 )
6
Δ𝑧
𝑃𝑖+1 = 𝑃𝑖 + 6
(𝑛1 + 2𝑛2 + 2𝑛3 + 𝑛4 )

Dimana Δz = h merupakan step size/ inkremen yang digunakan


𝑘1 = 𝑓1 (𝑧𝑖 , 𝑋𝑖 , 𝑇𝑖 , 𝑇𝑝𝑖 , 𝑃𝑖 )
𝑙1 = 𝑓2 (𝑧𝑖 , 𝑋𝑖 , 𝑇𝑖 , 𝑇𝑝𝑖 , 𝑃𝑖 )
𝑚1 = 𝑓3 (𝑧𝑖 , 𝑋𝑖 , 𝑇𝑖 , 𝑇𝑝𝑖 , 𝑃𝑖 )
𝑛1 = 𝑓4 (𝑧𝑖 , 𝑋𝑖 , 𝑇𝑖 , 𝑇𝑝𝑖 , 𝑃𝑖 )
1 1 1 1 1
𝑘2 = 𝑓1 (𝑧𝑖 + Δ𝑧, 𝑋𝑖 + 𝑘1 Δ𝑧, 𝑇𝑖 + 𝑙1 Δ𝑧, 𝑇𝑝𝑖 + 𝑚1 Δ𝑧, 𝑃𝑖 + 𝑛1 Δ𝑧)
2 2 2 2 2
1 1 1 1 1
𝑙2 = 𝑓2 (𝑧𝑖 + Δ𝑧, 𝑋𝑖 + 𝑘1 Δ𝑧, 𝑇𝑖 + 𝑙1 Δ𝑧, 𝑇𝑝𝑖 + 𝑚1 Δ𝑧, 𝑃𝑖 + 𝑛1 Δ𝑧)
2 2 2 2 2
1 1 1 1 1
𝑚2 = 𝑓3 (𝑧𝑖 + Δ𝑧, 𝑋𝑖 + 𝑘1 Δ𝑧, 𝑇𝑖 + 𝑙1 Δ𝑧, 𝑇𝑝𝑖 + 𝑚1 Δ𝑧, 𝑃𝑖 + 𝑛1 Δ𝑧)
2 2 2 2 2
1 1 1 1 1
𝑛2 = 𝑓4 (𝑧𝑖 + 2 Δ𝑧, 𝑋𝑖 + 2 𝑘1 Δ𝑧, 𝑇𝑖 + 2 𝑙1 Δ𝑧, 𝑇𝑝𝑖 + 2 𝑚1 Δ𝑧, 𝑃𝑖 + 2 𝑛1 Δ𝑧)
1 1 1 1 1
𝑘3 = 𝑓1 (𝑧𝑖 + 2 Δ𝑧, 𝑋𝑖 + 2 𝑘2 Δ𝑧, 𝑇𝑖 + 2 𝑙2 Δ𝑧, 𝑇𝑝𝑖 + 2 𝑚2 Δ𝑧, 𝑃𝑖 + 2 𝑛2 Δ𝑧)
1 1 1 1 1
𝑙3 = 𝑓2 (𝑧𝑖 + 2 Δ𝑧, 𝑋𝑖 + 2 𝑘2 Δ𝑧, 𝑇𝑖 + 2 𝑙2 Δ𝑧, 𝑇𝑝𝑖 + 2 𝑚2 Δ𝑧, 𝑃𝑖 + 2 𝑛2 Δ𝑧)
1 1 1 1 1
𝑚3 = 𝑓3 (𝑧𝑖 + Δ𝑧, 𝑋𝑖 + 𝑘2 Δ𝑧, 𝑇𝑖 + 𝑙2 Δ𝑧, 𝑇𝑝𝑖 + 𝑚2 Δ𝑧, 𝑃𝑖 + 𝑛2 Δ𝑧)
2 2 2 2 2
1 1 1 1 1
𝑛3 = 𝑓4 (𝑧𝑖 + 2 Δ𝑧, 𝑋𝑖 + 2 𝑘2 Δ𝑧, 𝑇𝑖 + 2 𝑙2 Δ𝑧, 𝑇𝑝𝑖 + 2 𝑚2 Δ𝑧, 𝑃𝑖 + 2 𝑛2 Δ𝑧)

𝑘4 = 𝑓1 (𝑧𝑖 + Δ𝑧, 𝑋𝑖 + 𝑘3 Δ𝑧, 𝑇𝑖 + 𝑙3 Δ𝑧, 𝑇𝑝𝑖 + 𝑚3 Δ𝑧, 𝑃𝑖 + 𝑛3 Δ𝑧)


𝑙4 = 𝑓2 (𝑧𝑖 + Δ𝑧, 𝑋𝑖 + 𝑘3 Δ𝑧, 𝑇𝑖 + 𝑙3 Δ𝑧, 𝑇𝑝𝑖 + 𝑚3 Δ𝑧, 𝑃𝑖 + 𝑛3 Δ𝑧)
𝑚4 = 𝑓3 (𝑧𝑖 + Δ𝑧, 𝑋𝑖 + 𝑘3 Δ𝑧, 𝑇𝑖 + 𝑙3 Δ𝑧, 𝑇𝑝𝑖 + 𝑚3 Δ𝑧, 𝑃𝑖 + 𝑛3 Δ𝑧)
𝑛4 = 𝑓4 (𝑧𝑖 + Δ𝑧, 𝑋𝑖 + 𝑘3 Δ𝑧, 𝑇𝑖 + 𝑙3 Δ𝑧, 𝑇𝑝𝑖 + 𝑚3 Δ𝑧, 𝑃𝑖 + 𝑛3 Δ𝑧)
Algoritma penyelesaian sistem persamaan diferensial biasa dengan persoalan nilai awal yang terdiri dari
empat buah persamaan dengan metode RK-4 disajikan dalam diagram alir sebagai berikut:

Mulai

NILAI AWAL:
z0 = 0 [meter]
X0 = 0
T0 = 755.372 [K]
Tp0 = 811 [K]
Tekanan mula-mula = P0 = 4.4 [atm]
Xakhir = 0.95
Δz = h = 0.05

Δz = h = (zn – z0)/n

zi+1 = xz + Δz
Xi+1 = Xi+ f1(zi, Xi, Ti, Tpi, Pi). Δz
Ti+1 = Ti+ f2(zi, Xi, Ti, Tpi, Pi). Δz
Tpi+1 = Tpi + f3(zi, Xi, Ti, Tpi, Pi). Δz
Pi+1 = Pi + f4(zi, Xi, Ti, Tpi, Pi). Δz

zi = zakhir zakhir = zi+1


Xi = Xakhir Xakhir = Xi+1
Ti = Takhir Takhir = Ti+1
Tpi = Tpakhir Tpakhir = Tpi+1
Pi = Pakhir Pakhir = Pi+1

Tidak Xakhir > Xn

Ya

Xakhir
Takhir
Tpakhir
Pakhir

Selesai
Data lainnya yang digunakan:
Berat molekul
H2 = 2 kg/kmol
MEK = 72 kg/kmol
2-butanol = 74 kg/kmol
Air = 18 kg/kmol
Entalpi pembentukan ΔHft = 54200 kJ/kmol
Laju alir komponen
H2 = 0 kmol/jam

MEK = 1.592621108 kmol/jam


2-butanol = 249.8229189 kmol/jam
Air = 5.16105416 kmol/jam
Densitas Katalis, ρ = 1150 kg/m3
Diameter partikel, dp = 4 mm = 0.004 m
Porositas = 0.6
𝜋
𝑑𝑋𝐶 (−𝑟𝐶 ). 𝐼𝐷2 .𝜌𝑏𝑢𝑙𝑘.𝐴𝑘𝑎𝑡
4
𝑑𝑧
= 𝐹𝐶0

𝑑𝑥𝐶
𝑑𝑇𝑔 (−∆𝐻𝑅 . 𝐹𝐶0 . )−(𝑈𝐷 . 𝜋.𝐷0. (𝑇𝑔 − 𝑇𝑃 ))
𝑑𝑧
𝑑𝑧
= (∑ 𝑓𝑖. 𝐶𝑝𝑖 )

𝑑𝑇𝑝 −𝑈𝑑.𝜋.𝑂𝑑.𝑁𝑝𝑖𝑝𝑎.(𝑇𝑝−𝑇𝑔)
𝑑𝑧
= 𝑓𝑚𝑎𝑠𝑠.𝐶𝑝𝑝

𝑑𝑃 𝐺 1−𝜀 150.(1−𝜀).𝜇𝑚
= [− ( )( + 1,75. 𝐺) . 𝑔𝑐𝑐] /101,325
𝑑𝑧 𝜌𝑔.𝑔𝑐.𝐷𝑝 𝜀 3 𝐷𝑝

(Fogler 5th ed., Elements of Chemical Reaction Engineering)


clc;clear;clf
//Perhitungan reaktor fixed bed reaksi eksotermis
//Metode runge-kutta
//Non-isothermal Non Adiabatis
//Komponen :

//A =H2
//B =MEK
//C =SBA
//D =H2O
//BERAT MOLEKUL
BMA=2; //Kg/Kmol
BMB=72; //Kg/Kmol
BMC=74; //Kg/Kmol
BMD=18.015; //Kg/Kmol
//Delta Hft
deltahft=54200; //KJ/Kmol
//laju mol komponen
FA0 = 0; //Kmol/Jam
FB0 = 1.592621108; //Kmol/Jam
FC0 = 249.8229189; //Kmol/Jam
FD0 = 5.16105416; //Kmol/Jam
FT0 = FA0+FB0+FC0+FD0; //Kmol/Jam
//KATALIS ZnO
RhoKat =1150; //bulk density (kg/m3)
dp=0.004;
//data tambahan pipa 2 IPS
Di=0.0779272; //diameter dalam tube (m)
Od=0.0889; //diameter luar tube (m)
pi=22/7; //phi (3,14)
At=(pi*Di^2)/4; //luas penampang tube reaktor (m2)
Nt=4000; //banyak tube (3000-20000)
//kinetik1
x1 =0; //konversi mula-mula
z0 =0; //tinggi bed mula-mula (m)
T =755.372; //suhu reaksi mula-mula (K)
Tp =811; //Suhu pemanas masuk (K)
Ud =360; // koefisien perpindahan panas design overall (Kj/m^2 jam K) ***
P =4.4; //tekanan reaksi mula-mula (atm)
dz =0.05;
h=dz;
z=0;
//Data Pressure Drop
gc=12973050//kg.m/jam2 N Konversi dari 4,17 x 10^8 lbm ft/h2 lbf
poro=0.6; //void fraction
fmassa=18694.4636967969; //laju alir massa masuk reaktor (Kg/jam)
Gt=fmassa/(At*Nt); //Fluks massa (Kg/m2jam)
R=8.20574587*1e-2; //m^3 atm/Kmol K
//Data Pemanas
mhi=115000 //kg/jamA
//Membuat Tampilan
disp('=========================================================================================
===')
disp(' Z XB T Tp P ')
disp('=========================================================================================
===')
function dXBdz=fungsi1(z, x1, T, Tp, P)
//Persamaan rC
C=(10^((-5964*T^(-1))+8.464));//C (kmol/jam m2)
K=(10^((-2790*T^(-1))+(1.51*log10(T))+1.871));//K (atm), catatan:
KA=(10^((-3425*T^(-1))+5.231));//KA (1/atm)
KAK=(10^((486*T^(-1))-0.1968));//KAK

//Tekanan Parsial
PC=(((FC0*(1-x1))/(FT0+(FC0*x1)))*P);//PC Sec Butanol (atm)
PB=(((FB0+(FC0*x1))/(FT0+(FC0*x1)))*P);//PB MEthyl Ethyl Ketone (atm)
PA=(((FA0+(FC0*x1))/(FT0+(FC0*x1)))*P);//PA Hidrogen (atm)
//Persamaan dxB/dz
dXBdz= (C*(PC-((PB*PA)/K))*pi*(Di^2)*RhoKat*At*Nt)/(PB*(1+(KA*PC)+(KAK*(PC/PB)))*4*FC0);
endfunction
function dTdz=fungsi2(z, x1, T, Tp, P)
//Data Cp (kJ/kmolK)
CpC=(22.465+(0.352345*T)+(-1.2858e-4*T^2)+(-1.193e-8*T^3)+(1.294e-11*T^4));//Cp C kj/kmol K
CpB=(37.369+(0.23045*T)+(5.7387e-6*T^2)+(-8.187e-8*T^3)+(2.9637e-11*T^4));//Cp B kj/kmol K
CpA=(25.399+(2.0178e-2*T)+(-3.8549e-5*T^2)+(3.188e-8*T^3)+(-8.7585e-12*T^4));//Cp A kj/kmol K
CpD=(33.933+(-8.4186e-3*T)+(2.9906e-5*T^2)+(-1.7825e-8*T^3)+(3.6934e-12*T^4));//cp.D kj/kmol K

//Cp integral
//Data Cp integral
CpCi=(22.465*(T-298))+((0.352345/2)*(T-298)^2)+((-1.2858e-4/3)*((T-298)^3))+((-1.193e-8/4)*((T-
298)^4))+((1.294e-11/5)*((T-298)^5));//CpCkj/kmol
CpBi=((37.369*(T-298))+((0.23045/2)*(T-298)^2)+((5.7387e-6/3)*((T-298)^3)+((-8.187e-8/4)*((T-
298)^4))+((2.9637e-11/5)*((T-298)^5))));//CpBkj/kmol
CpAi=((25.399*(T-298))+((2.0178e-2/2)*(T-298)^2)+((-3.8549e-5/3)*((T-298)^3)+((3.188e-8/4)*((T-298)^4)+((-
8.7585e-12/5)*((T-298))^5))));//CpAkj/kmol
CpDi=((33.933*(T-298))+((-8.4186e-3/2)*(T-298)^2)+((2.9906e-5/3)*((T-298)^3)+((-1.7825e-8/4)*((T-
298)^4)+((3.6934e-12/5)*((T-298))^5))));//CpDkj/kmol
dHr=deltahft+CpBi-CpCi+CpAi-CpDi;

//sigmafi*cpi (KJ/K)
sigfCp=(FC0*(1-x1)*CpCi)+((FB0+(FC0*x1))*CpBi)+((FA0+(FC0*x1))*CpAi)+(FD0*CpDi);//kj/K
//Persamaan rC
C=10^((-10735/((T-273.15)*0.8)+7.776));//C
K=(10^((-2790*T^(-1))+(1.51*log10(T))+1.865));//K
KA=(10^((-6165/((T-273.15)*0.8))+5.327));//KA
KAK=(10^((486/T)-0.1986));//KAK

//Tekanan Parsial
PC=((FC0*(1-x1))/(FT0+(FC0*x1))*P);//PC Sec Butanol (atm)
PB=((FB0+(FC0*x1))/(FT0+(FC0*x1))*P);//PB MEthyl Ethyl Ketone (atm)
PA=((FA0+(FC0*x1))/(FT0+(FC0*x1))*P);//PA Hidrogen (atm)
//Persamaan r
//r=2.46*1e5*exp(-17300/(1.98*T))*PA; //laju reaksi (kmol/kgjam)
//Persamaan dT/dz
dTdz= ((dHr*dXBdz*FC0)+(-Ud*pi*Od*Nt*(Tp-T)))/sigfCp
endfunction

function dTpdz=fungsi3(z, x1, T, Tp, P)


//Data Cp pendingin (kj/kmolK)
Cpp=1.56*69 //kJ/kgK
//Mencari suhu pendingin (Tp)
dTpdz= ((Ud*pi*Od*(T-Tp)*Nt)/(mhi*Cpp))
endfunction

function dPdz=fungsi4(z, x1, T, Tp, P)


//Data viskositas gas
miuA=(27.758+(2.12e-01*T)+(-3.28e-5*(T^2)))*10e-6*0.1*3600;//miuAKgjam
miuB=3.01+(0.229*T)+(7.8953e-6*(T^2))*10e-6*0.1*3600;//miuBKg/mjam
miuC=-9.7882+(0.2908*T)+(-4.811e-5*(T^2))*10e-6*0.1*3600;//miuCKg/mjam
miuD=-36.826+(4.29e-1*T)+(-1.62e-5*(T^2))*10e-6*0.1*3600;//miuD Kg/m jam
//sigma atas mencari viskositas gas
//sigma atas mencari viskositas gas
sigmaatas=(((FC0*(1-
x1))/(FT0+(FC0*x1)))*miuC*(74^0.5))+(((FB0+(FC0*x1))/(FT0+(FC0*x1)))*miuB*(72^0.5))+(((FA0+(FC0*x1))/(FT0+
(FC0*x1)))*miuA*(2^0.5))+((FD0/(FT0+(FC0*x1)))*miuD*(18^0.5));

//sigmabawahmencariviskositasgas
sigmabawah=(((FC0*(1-
x1))/(FT0+(FC0*x1)))*(74^0.5))+(((FB0+(FC0*x1))/(FT0+(FC0*x1)))*(72^0.5))+(((FA0+(FC0*x1))/(FT0+(FC0*x1)))*(
2^0.5))+((FD0/(FT0+(FC0*x1)))*(18^0.5));
//viskositas gas campuran (Kg/m/jam)
miumix=3.6*1e-4*(sigmaatas/sigmabawah);
//Berat molekul gas campuran (Kg/Kmol)
//Beratmolekulgascampuran
BMg=(((FC0*(1-
x1))/(FT0+(FC0*x1)))*74)+(((FB0+(FC0*x1))/(FT0+(FC0*x1)))*72)+(((FA0+(FC0*x1))/(FT0+(FC0*x1)))*2)+((FD0/(F
T0+(FC0*x1)))*18);
//densitas gas campuran (Kg/m3)
rhomix=(P*BMg)/(R*T);
//Nre
Nre=RhoKat*dp/miumix;
//friksi
//f=(50/27)*(1.75+150*(0.4*Nre^-1));
//pressure drop
dPdz=(-(Gt/(rhomix*gc*dp))*((1-poro)/(poro^3))*(((150*(1-poro)*miumix)/dp)-1500+(1.75*Gt)))*0.00986923;//
Persamaan Ergun(fogler,1991)atm/m
endfunction
while x1<=0.99
k1=fungsi1(z,x1,T,Tp,P);
dXBdz=k1;
l1=fungsi2(z,x1,T,Tp,P);
m1=fungsi3(z,x1,T,Tp,P);
n1=fungsi4(z,x1,T,Tp,P);
k2=fungsi1(z+0.5*dz,x1+0.5*k1*dz,T+0.5*l1*dz,Tp+0.5*m1*dz,P+0.5*n1*dz);
l2=fungsi2(z+0.5*dz,x1+0.5*k1*dz,T+0.5*l1*dz,Tp+0.5*m1*dz,P+0.5*n1*dz);
m2=fungsi3(z+0.5*dz,x1+0.5*k1*dz,T+0.5*l1*dz,Tp+0.5*m1*dz,P+0.5*n1*dz);
n2=fungsi4(z+0.5*dz,x1+0.5*k1*dz,T+0.5*l1*dz,Tp+0.5*m1*dz,P+0.5*n1*dz);
k3=fungsi1(z+0.5*dz,x1+0.5*k2*dz,T+0.5*l2*dz,Tp+0.5*m2*dz,P+0.5*n2*dz);
l3=fungsi2(z+0.5*dz,x1+0.5*k2*dz,T+0.5*l2*dz,Tp+0.5*m2*dz,P+0.5*n2*dz);
m3=fungsi3(z+0.5*dz,x1+0.5*k2*dz,T+0.5*l2*dz,Tp+0.5*m2*dz,P+0.5*n2*dz);
n3=fungsi4(z+0.5*dz,x1+0.5*k2*dz,T+0.5*l2*dz,Tp+0.5*m2*dz,P+0.5*n2*dz);
k4=fungsi1(z+dz,x1+k3*dz,T+l3*dz,Tp+m3*dz,P+n3*dz);
l4=fungsi2(z+dz,x1+k3*dz,T+l3*dz,Tp+m3*dz,P+n3*dz);
m4=fungsi3(z+dz,x1+k3*dz,T+l3*dz,Tp+m3*dz,P+n3*dz);
n4=fungsi4(z+dz,x1+k3*dz,T+l3*dz,Tp+m3*dz,P+n3*dz);
z=z+dz;
x1=x1+(h/6)*(k1+2*k2+2*k3+k4);
T=T+(h/6)*(l1+2*l2+2*l3+l4);
Tp=Tp+(h/6)*(m1+2*m2+2*m3+m4);
P=P+(h/6)*(n1+2*n2+2*n3+n4);
printf('%10.2f%20.4f%20.4f%20.4f%20.4f\n',z,x1,T,Tp,P);
//plot(z,x1,'og');xlabel("Tinggi bed(m)");ylabel("Konversi")
subplot(2,2,1);plot(z,x1,'xg');xlabel("Tinggi bed(m)");ylabel("Konversi")
//subplot(2,2,2);plot(z,T,'or');xlabel("Tinggi bed(m)");ylabel("Suhu (K)")
//subplot(2,2,2);plot(z,Tp,'.k');xlabel("Tinggi bed(m)");ylabel("Suhu Pemanas (K)")
//subplot(2,2,4);plot(z,P,'ob');xlabel("Tinggi bed(m)");ylabel("Tekanan (atm)")
end

Anda mungkin juga menyukai