COCO - CAPE-OPEN to CAPE-OPEN simulation environment


The PFR (Plug Flow Reactor) is a simplified 1-dimensional reactor model in which at every point along the reactor the velocity of the reactive phase, the concentrations and temperature and pressure are constant along the cross-section. There is no back-mixing.

The PFR has one inlet and one outlet. Before running the PFR, it needs to know about reactions. A reaction package must therefore be assigned to the PFR reactor.

From the assigned reaction package, you can specify kinetic reactions. Kinetic reactions have a reaction rate that is specified either as homogeneous (mol/s/m3) or heterogeneous (mol/s/kg catalyst). For heterogenous reactions, it is required to specify catalyst properties.

The PFR is implemented a single phase reactor. The reactor phase must be specified. Only reactions that take place in the specified phase can be selected.

Component balances

The PFR is formulated as a set of ODE equations. For each reactive component, the following equation is solved:

Here, l denotes the length coordinate of the reactor, Fi denotes the flow of reactive component i [mol/s], Across denotes the cross sectional area [m2], νi,j is the stoichiometric coefficient of component i in reaction j, rj is the rate of reaction j [mol/m3/s] for homogeneous reactions and [mol/kg cat./s] for heterogeneous reactions, and ε denotes the catalyst loading for heterogeneous reactions [kg/m3], whereas for homogeneous reactions, ε is unity for an empty bed, or catalyst porosity for a packed bed.

Heating/cooling tubes

A simplified model for heating / cooling tubes is implemented. The tubes are assumed to run from the start of the reactor to the end of the reactor:

The cross sectional area Across in the presence of heating / cooling tubes is reduced by the heating / cooling tube area, as indicated in yellow.

Pressure drop

The PFR can be specified as a packed or empty bed. In case of a packed bed, the pressure drop is given by the Ergun equation:

Here, P denotes pressure [Pa], μ denotes the fluid viscosity [Pa s], εcat is the packing porosity, u0 denotes the superficial velocity [m/s], dp is the packing particle diameter [m], ρ is the fluid density [kg/m3], g is the gravitational acceleration constant [m/s2] and β denotes the flow direction:

In case of an empty bed, the pressure drop is dictated by a Darcy type friction:

The Reynolds number is defined by:

where Dh is the hydraulic diameter:

with wetted perimeter I. In absence of heating / cooling tubes, Dh equals the reactor diameter. For Re < 2300, laminar flow is assumed, for which the friction factor f is given by:

Otherwise, the flow is considered turbulent, using the Colebrook correlation for the friction factor:

where e denotes the wall roughness [m].

Heterogenous reactions

If heterogeneous reactions are specified, the PFR must be a packed bed, and it is assumed that the packing is the catalyst. In addition to particle diameter and packing porosity, catalyst loading must be specified in terms of catalyst mass per reactor volume.

Energy balance

The PFR can be modelled as isothermal. In this case, the reactor temperature is specified, and constant along the reactor. Otherwise, the temperature along the reactor follows from the enthalpy balance:

Where H denotes enthalpy [J/mol], F denotes total flow [mol/s], Q' denotes the heat duty per length [W/m], and ΔHj,r is the heat of reaction for reaction j [J/mol]. The heat of reaction may be included in enthalpy and is guaranteed to be included in property enthalpyF (see reaction enthalpy). For these cases, the heat of reaction is not taken into account. Expanding the above, we get:

We notice that enthalpy can be written as H(x,T,P) and expand to:

where xi is the mole fraction of compound i. We can solve for the T dependence along the reactor:

The total flow F is written as:

where the summation is over all components (including inert ones). From here we get

If we write xi as

we get

The heat duty can be any combination of the following:

If either constant of wall heat transfer is specified, an energy port will be present that will expose the total heat duty of these two terms. If heating / cooling tubes are specified, another energy port will expose the heat duty via the tubes. The minimum and maximum temperature inside the reactor are estimated from a spline though the reactor's temperature profile. Increase the number of slices for more accurate values.

After the reactor is solved, the outlet will be flashed at specified pressure (after pressure drop) and at the specified (in case of isothermal) or calculated temperature. If the phase equilibrium is such that phases appear that are not the specified reaction phase, warnings are generated. In this case, the specified heat duty will not be met, as the reactor was solved for enthalpy of a single phase. The enthalpy change resulting from the flash will cause the enthalpy not to be balanced.

Other options

The relative integration tolerance can be specified. Also the number of slices for the profiles along the reactor can be specified.


The last run report will show the the input specifications and solution status. Heat duties as calculated during the solution and temperature range calculated from a spline through the reactor's temperature profile are also shown.

The profiles report will show the profiles along the reactor. The profiles are also available as output parameters, that can be used to create graphs.