| 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;
|
|---|