Ideal Gas Control Volume Reactor#

An ideal gas control volume reactor, as implemented by the C++ class IdealGasReactor and available in Python as the IdealGasReactor class. It is defined by the state variables:

  • m, the mass of the reactor’s contents (in kg)

  • V, the reactor volume (in m3)

  • T, the temperature (in K)

  • Yk, the mass fractions for each species (dimensionless)

Equations 1-4 below are the governing equations for an ideal gas reactor.

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 gas phase species on surfaces:

(1)#dmdt=inm˙inoutm˙out+m˙wall

where the subscripts in and out refer to the sum of the corresponding property over all inlets and outlets respectively. A dot above a variable signifies a time derivative.

Volume Equation#

The reactor volume can change as a function of time due to the motion of one or more walls:

(2)#dVdt=wfwAwvw(t)

where fw=±1 indicates the facing of the wall (whether moving the wall increases or decreases the volume of the reactor), Aw is the surface area of the wall, and vw(t) is the velocity of the wall as a function of time.

Species Equations#

The rate at which species k is generated through homogeneous phase reactions is Vω˙kWk, and the total rate at which species k is generated is:

m˙k,gen=Vω˙kWk+m˙k,wall

The rate of change in the mass of each species is:

d(mYk)dt=inm˙inYk,inoutm˙outYk+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:

(3)#mdYkdt=inm˙in(Yk,inYk)+m˙k,genYkm˙wall

Energy Equation#

In the case of the ideal gas control volume reactor model, the reactor temperature T is used instead of 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:

U=mkYkuk(T)

and differentiate it with respect to time to obtain:

dUdt=udmdt+mcvdTdt+mkukdYkdt

Substituting this into the energy equation for the control volume reactor (4) yields an equation for the temperature:

(4)#mcvdTdt=pdVdt+Q˙+inm˙in(hinkukYk,in)pVmoutm˙outkm˙k,genuk

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.