Perioodiline reaktor
Perioodiline reaktor (ingl batch reactor) on tavaliselt lihtsam ehitada ja opereerida, kui pidev reaktor. Tihti laboris kasutatakse perioodilist reaktorit. Siin kirjeldame reaktorit ja näitame, kuidas modelleerida seda.
Iseloomustus
Perioodilises reaktoris lisatakse protsessi alguses kõik vajalikud ained reaktorisse ja siis reaktsiooni ajal enam ei lisata ega võeta aineid. Seega, perioodiline reaktor on sulatud süsteem. Kui lisatakse või võetakse aineid reaktsiooni ajal, siis kutsutakse seda poolperioodiliseks reaktoriks. Kui lisatakse ja võetakse pidevalt aineid, siis oleks tõenäoliselt pidev segureaktor. Aga, siin käsitleme ainult perioodilisi reaktoreid, ehk molekule ei liiku reaktori ja ümbruse vahel.
Põhivõrrand
Reaktori põhivõrrand on lihtsalt moolbilanss. Põhivõrrand on oluline kuna selle kaudu on võimalik vastata olulistele disaini ja opereerimise küsimustele. Perioodilise reaktori põhivõrrand on järgmine:
Põhivõrrandit saab ka kirjutada integraalsel kujul.
V on reaktori maht, nA0 on moolid ainest A reaktoris protsessi alguses, nA on moolide arv ajal t ja rA on reaktsiooni kiiruse valemit.
Põhivõrrand on moolbilanss, aga teisel kujul. Alustame siis üldise moolbilansiga.
Kuna perioodilises reaktoris ained ei sisene ega lahku, siis ṅA0 ja ṅA on null.
Ja see ongi põhivõrrand.
Põhivõrrandit saab ka avaldada konversiooniastme suhtes.
Näide - lihtsam
Epikloorhüdriin on oluline lähteaine epoksiidvaikude, elastomeeride ja sünteetilise glütseriini tootmiseks. Seda praegu toodetakse enamasti propüleenist ja kloorgaasist, aga on võimalik ka toota glütseroolist. Tootmine glütseroolist on võibolla eelistatud kuna ei ole vaja kasutada kloorgaasi. Esimeses sammus toimub reaktsioon kloorhappe ja glütserooli vahel katalüsaatori juuresolekul selleks, et toota 2,3-dikloro-1-propanooli (DKP). Seejärel viiakse läbi reaktsiooni DKP ja naatrium hüdroksiidi vahel epikloorhüdriini sünteesimiseks.2
Tahetakse läbi viia selle reaktsiooni 1-liitrilises perioodilises reaktoris. Kui kaua aega segu peaks olema reaktoris selleks, et saavutada 90% konversiooniastet?
DKP algkontsentratsioon on 0,08 mol/l ja naatrium hüdroksiidi algkontsentratsioon on 0,08 mol/l. Reaktorit hoitakse 60 kraadi juures. DKP suhtes on teist järku reaktsioon ja NaOH suhtes esimest järku. Reaktsiooni kineetilised parameetrid:
A = 1,61·1025 l3 mol-2 s-1
Ea = 150 kJ mol-1
Alustame perioodilise reaktori põhivõrrandiga ja lisame reaktsiooni kiirusevalemi:
Kuna aine A moolide arv alguses on lihtsalt maht korrutatud kontsentratsiooniga, saame kirjutada valemit järgmiselt:
Võime kõik konstandid integraalist välja tuua ja osa neist taanduvad välja.
See on päris keeruline integraal ja muidu oleks vist lihtsam lahendada numbrilise meetodiga, aga kuna DKP ja NaOH algkontsentratsioonid on samad võime valemit lihtsustada.
Seda integraali suudame analüütiliselt lahendada.
Nüüd saame valemiga arvutada vajalikku aega 90% konversiooniastme saavutamiseks. Esiteks, tuleb arvutada kiiruskonstanti Arrheniuse võrrandiga. Seda saab teha käsitsi või Pythonis. Pythonis saame defineerida funktsiooni kiiruskonstandi arvutamiseks.
def kiiruskonstant(T):
RGAS = 8.314462618 # J mol^-1 K^-1
A = 1.61e25 # l^3 mol^-2 s^-1
Ea = 150 * 1000 # J mol^-1
k = A * np.exp(-Ea / RGAS / (T + 273.15))
return k # l^3 mol^-2 s^-1
Saame nüüd Pythonisse kirjutada valemit, mida me koostasime ja arvutada aega.
C_dkp_alg = 0.08 # mol l^-1
C_oh_alg = 0.08 # mol l^-1
V = 1 # l
T = 60 # Celcius
X_dkp = 0.9 # konversiooniaste
k = kiiruskonstant(T)
t = 1 / k / C_dkp_alg**2 * (1 / 2 / (1 - X_dkp)**2 - 1 / 2)
Vastuseks saame 158 sekundit.
Pythoni fail, mida kasutasime siin lahendamiseks, on kättesaadav Githubist.
Näide - keerulisem
Eelmises näites saime integraali lihtsustada kuna DKP ja NaOH algkontsentratsioonid olid samad. Lahendame sama ülesannet uuesti, aga ühe muudatusega: NaOH algkontsentratsioon on nüüd 0,12 mol/l.
Kuna eelmises lahenduses nägime, et integraal on päris keeruline juhul, kui algkontsentratsioonid on samad, kasutame nüüd numbrilist meetodit. Siis me ei pea analüütiliselt integraali lahendama. Esiteks, alustame põhivõrrandi diferentsiaalkujuga, asendades rdpk kiirusevalemiga, nii nagu eelmises lahenduses.
Kuna aine A moolide arv alguses on lihtsalt maht korrutatud kontsentratsiooniga, saame kirjutada valemit järgmiselt:
Nüüd võime kasutada Gekko paketti selleks, et lahendada diferentsiaalvõrrandit. Esiteks, loome Gekko mudelit ja defineerime meie parameetreid.
m = GEKKO()
C_dkp_alg = m.Param(value=0.08) # mol l^-1
C_oh_alg = m.Param(value=0.12) # mol l^-1
V = m.Param(value=1) # l
T = m.Param(value=60) # Celcius
k = m.Param(value=kiiruskonstant(T.value))
Seejärel võime anda Gekkole need ajahetked, mille juures sooviksime, et lahendust oleks arvutatud.
t_lõpp = 200 # s
npts = 1000
m.time = np.linspace(0, t_lõpp, npts)
Siis on vaja ka defineerida muutujat, mida me tahame leida, ehk konversiooniaste. Ja paneme esialgseks väärtuseks 0 kuna konversiooniaste on alguses 0.
X_dkp = m.Var() # konversiooniaste
X_dkp.value = np.zeros(npts)
Paneme ka kirja diferentsiaalvõrrandit, mida me varem koostasime. .dt() näitab Gekkole, et võtame antud muutuja tuletist aja suhtes.
m.Equation(X_dkp.dt() == k * C_dkp_alg * (1 - X_dkp)**2 * (C_oh_alg - C_dkp_alg * X_dkp))
Nüüd mudel on koostatud ja võime lahendada seda ja printida lõppvastust. IMODE ütleb Gekkole, et teeme dünaamilist simulatsiooni (ehk parameetrid muutuvad ajas või ruumalas).
m.options.IMODE = 4
m.solve(disp=False)
idx = np.amin(np.where(np.asarray(X_dkp.value) > 0.9)[0])
print('Vajalik aeg= {:.2f} s'.format(m.time[idx]))
Vastuseks saame 40 sekundit. Võime ka joonist teha selleks, et näha, kuidas konversiooniaste muutub ajaga. Jooniselt võime näha, et kui tahame järjest suuremat konversiooniastet saavutada, siis vajalik viibimisaeg kasvab eksponentsiaalselt.
Pythoni fail, mida kasutasime siin lahendamiseks, on kättesaadav Githubist.
Viited
- I. Kamenev, KAT0141 Reaktsiooniprotsessid: Loengukonspekt. Tallinna Tehnikaülikool, 2019.
- J. S. Zhang, Y. C. Lu, Q. R. Jin, K. Wang, and G. S. Luo, “Determination of kinetic parameters of dehydrochlorination of dichloropropanol in a microreactor,” Chemical engineering journal, vol. 203, pp. 142–147, 2012.