1 | package Reactor |
---|
2 | // Package for study of nonlinear reactor adapted from Seborg et al. |
---|
3 | // author: Bernt Lie |
---|
4 | // University College of Southeast Norway |
---|
5 | // June 16, 2016 |
---|
6 | // |
---|
7 | model ModReactor |
---|
8 | // Reactor model in Ex 2.5 of Seborg et al. (2011), |
---|
9 | // Process Dynamics and Control |
---|
10 | // |
---|
11 | // author: Bernt Lie |
---|
12 | // University College of Southeast Norway |
---|
13 | // June 16, 2016 |
---|
14 | // |
---|
15 | // Parameters |
---|
16 | parameter Real V = 100 "Reactor vessel volume; L"; |
---|
17 | parameter Real k0 = exp(8750/350) "Preexponential factor, reaction; 1/min"; |
---|
18 | parameter Real EdR = 8750 "Activation 'temperature'; K"; |
---|
19 | parameter Real dHr = -5e4 "Specific reaction enthalpy; J/mol"; |
---|
20 | parameter Real rho = 1e3 "Density, reactor fluid; g/L"; |
---|
21 | parameter Real cp = 0.239 "Specific heat capacity, reactor fluid; J/(g.K)"; |
---|
22 | parameter Real UA = 5e4 "Heat transfer parameter; J/(min.K)"; |
---|
23 | // Initial state parameter |
---|
24 | parameter Real cA0 = 0.5 "Initial cA; mol/L"; |
---|
25 | parameter Real nA0 = cA0*V "Initial 'real' state nA; mol"; |
---|
26 | parameter Real T0 = 350 "Initial T; K"; |
---|
27 | // Declaring variables |
---|
28 | // -- states |
---|
29 | Real nA(start = nA0, fixed = true); // initial # moles of A in vessel; mol |
---|
30 | Real T(start = T0, fixed = true); // initial temperature in vessel; K |
---|
31 | // -- auxiliary variables |
---|
32 | Real ndAi "Influent of A; mol/min"; |
---|
33 | Real ndAe "Effluent of A; mol/min"; |
---|
34 | Real ndAg "Generation rate of A; mol/min"; |
---|
35 | Real r "Rate of reaction; mol/(L.min)"; |
---|
36 | Real Qd "Heat flow from cooling fluid to reactor vessel; J/min"; |
---|
37 | // Inputs |
---|
38 | input Real Vd "Volumetric flow through reactor vessel; L/min"; |
---|
39 | input Real cAi "Reactor vessel influent concentration of A; mol/min"; |
---|
40 | input Real Ti "Reactor vessel influent temperature; K"; |
---|
41 | input Real Tci "Cooling circuit influent temperature; K"; |
---|
42 | // Outputs |
---|
43 | output Real cA "Reactor concentration; mol/L"; |
---|
44 | equation |
---|
45 | nA = V*cA; |
---|
46 | ndAi = Vd*cAi; |
---|
47 | ndAe = Vd*cA; |
---|
48 | ndAg = -V*r; |
---|
49 | r = k0*exp(-EdR/T)*cA; |
---|
50 | Qd = UA*(Tci-T); |
---|
51 | // |
---|
52 | der(nA) = ndAi - ndAe + ndAg; |
---|
53 | V*rho*cp*der(T) = rho*cp*Vd*(Ti-T) + (-dHr)*r*V + Qd; |
---|
54 | end ModReactor; |
---|
55 | // End package |
---|
56 | end Reactor; |
---|