From 21d90495d2dbd7d94d5d75f592e4ffe0e4d9aa2b Mon Sep 17 00:00:00 2001 From: Ray Speth Date: Tue, 16 Jul 2013 22:09:51 +0000 Subject: [PATCH] [Doc] Describe reactor governing equations --- doc/sphinx/index.rst | 1 + doc/sphinx/reactors.rst | 197 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 198 insertions(+) create mode 100644 doc/sphinx/reactors.rst diff --git a/doc/sphinx/index.rst b/doc/sphinx/index.rst index 5cd494835..ad60e1f6d 100644 --- a/doc/sphinx/index.rst +++ b/doc/sphinx/index.rst @@ -26,6 +26,7 @@ Documentation Compiliation Instructions language-interfaces cti/index + reactors python/index cython/index matlab/index diff --git a/doc/sphinx/reactors.rst b/doc/sphinx/reactors.rst new file mode 100644 index 000000000..d9ca28129 --- /dev/null +++ b/doc/sphinx/reactors.rst @@ -0,0 +1,197 @@ +.. default-role:: math + +**************** +Reactor Networks +**************** + +Cantera's Reactor Network module is designed to simulate networks of +interconnected reactors. The contents of each reactor in the network are +assumed to be homogeneous, a model variously referred to as the Continuously +Stirred Tank Reactor (CSTR), Well-Stirred Reactor (WSR), or Perfectly Stirred +Reactor (PSR) model. Cantera solves the time-dependent governing equations +that describe the evolution of the chemical and thermodynamic state of the +reactors. + +The contents of each reactor can undergo chemical reactions according to a +specified kinetic mechanism, and surface reactions may occur on the reactor +walls. Each reactor in a network may be connected so that the contents of one +reactor flow into another. Reactors may be also be in contact with one another +or the environment via walls which move or conduct heat. + +The purpose of this document is to describe the governing equations of reactor +models as implemented in Cantera. + +Wall Interactions +================= + +At each wall where there are surface reactions, there is a net generation (or +destruction) of homogeneous phase species. The molar rate of production for +each species `k` on wall `w` is `\dot{s}_{k,w}`. The total (mass) production +rate for species `k` on all walls is: + +.. math:: + + \dot{m}_{k,wall} = W_k \sum_w A_w \dot{s}_{k,w} + +where `W_k` is the molecular weight of species `k` and `A_w` is the area of +each wall. The net mass flux from all walls is then: + +.. math:: + + \dot{m}_{wall} = \sum_k \dot{m}_{k,wall} + +The total rate of heat transfer through all walls is: + +.. math:: + + \dot{Q} = \sum_w f_w \dot{Q}_w + +General Reactor +=============== + +The state variables for Cantera's general reactor model are + + - `m`, the mass of the reactor's contents + - `V`, the reactor volume + - `U`, the total internal energy of the reactors contents + - `Y_k`, the mass fractions for each species + +Reactor Volume +-------------- + +The reactor volume changes as a function of time due to the motion of one or +more walls: + +.. math:: + + \frac{dV}{dt} = \sum_w f_w A_w v_w(t) + +where `f_w = \pm 1` indicates the facing of the wall, `A_w` is the surface +area of the wall, and `v_w(t)` is the velocity of the wall as a function of +time. + +Mass Conservation +----------------- + +The total mass of the reactor's contents changes as a result of flow through +the reactor's inlets and outlets, and production of homogeneous phase species +on the reactor walls: + +.. math:: + + \frac{dm}{dt} = \sum_{in} \dot{m}_{in} - \sum_{out} \dot{m}_{out} + + \dot{m}_{wall} + +Species Conservation +-------------------- + +The rate at which species `k` is generated through homogeneous phase reactions +is `V \dot{\omega}_k W_k`, and the total rate at which species `k` is +generated is: + +.. math:: + + \dot{m}_{k,gen} = V \dot{\omega}_k W_k + \dot{m}_{k,wall} + +The rate of change in the mass of each species is: + +.. math:: + + \frac{d(mY_k)}{dt} = \sum_{in} \dot{m}_{in} Y_{k,in} - + \sum_{out} \dot{m}_{out} Y_k + + + \dot{m}_{k,gen} + +Expanding the derivative on the left hand side and substituting the equation +for `dm/dt`, the equation for each homogeneous phase species is: + +.. math:: + + m \frac{dY}{dt} = \sum_{in} (Y_{k,in} - Y_k) + + \dot{m}_{k,gen} - Y_k \dot{m}_{gen} + +Energy Conservation +------------------- + +The equation for the total internal energy is found by writing the first law +for an open system: + +.. math:: + + \frac{dU}{dt} = - p \frac{dV}{dt} - Q + + \sum_{in} \dot{m}_{in} h_{in} - h \sum_{out} \dot{m}_{out} + +Ideal Gas Reactor +================= + +The Ideal Gas Reactor model is similar to the General Reactor model, with the +reactor temperature `T` replacing the total internal energy `U` as a state +variable. For an ideal gas, we can rewrite the total internal energy in terms +of the mass fractions and temperature: + +.. math:: + + U = m \sum_k Y_k u_k(T) + + \frac{dU}{dt} = u \frac{dm}{dt} + + m c_v \frac{dT}{dt} + + m \sum_k u_k \frac{dY_k}{dt} + +Substituting the corresponding derivatives yields an equation for the +temperature: + +.. math:: + + m c_v \frac{dT}{dt} = - p \frac{dV}{dt} - Q + + \sum_{in} \dot{m}_{in} \left( h_{in} - \sum_k u_k Y_{k,in} \right) + - p V \sum_{out} \dot{m}_{out} - \sum_k \dot{m}_{k,gen} u_k + +While this form of the energy equation is somewhat more complicated, it +significantly reduces the cost of evaluating the system Jacobian, since the +derivatives of the species equations are taken at constant temperature instead +of constant internal energy. + +Constant Pressure Reactor +========================= + +For this reactor model, the pressure is held constant. The volume is not a +state variable, but instead takes on whatever value is consistent with holding +the pressure constant. The total enthalpy replaces the total internal energy +as a state variable. Using the definition of the total enthalpy: + +.. math:: + + H = U + pV + + \frac{dH}{dt} = p \frac{dV}{dt} + V \frac{dp}{dt} + +Noting that `dp/dt = 0` and substituting into the energy equation yields: + +.. math:: + + \frac{dH}{dt} = - Q + \sum_{in} \dot{m}_{in} h_{in} + - h \sum_{out} \dot{m}_{out} + +The species and continuity equations are the same as for the general reactor +model. + +Ideal Gas Constant Pressure Reactor +=================================== + +As for the Ideal Gas Reactor, we replace the total enthalpy as a state +variable with the temperature by writing the total enthalpy in terms of the +mass fractions and temperature: + +.. math:: + + H = m \sum_k Y_k h_k(T) + + \frac{dH}{dt} = h \frac{dm}{dt} + m c_p \frac{dT}{dt} + + m \sum_k h_k \frac{dY_k}{dt} + +Substituting the corresponding derivatives yields an equation for the +temperature: + +.. math:: + + m c_p \frac{dT}{dt} = - Q - \sum_k h_k \dot{m}_{k,gen} + + \sum_{in} \dot{m}_{in} \left(h_{in} - \sum_k h_k Y_{k,in} \right)