CSTR Reactor

The IDAES CSTR model represents a unit operation where a material stream undergoes some chemical reaction(s) in a well-mixed vessel.

Degrees of Freedom

CSTRs generally have 2 degrees of freedom.

Typical fixed variables are:

  • reactor volume,
  • reactor heat duty (has_heat_transfer = True only).

Model Structure

The core CSTR unit model consists of a single Holdup0D (named holdup) with one Inlet Port (named inlet) and one Outlet Port (named outlet).

Construction Arguments

CSTR units have the following construction arguments:

  • property_package - property package to use when constructing Property Blocks (default = ‘use_parent_value’). This is provided as a Property Parameter Block by the Flowsheet when creating the model. If a value is not provided, the Holdup Block will try to use the default property package if one is defined.
  • property_package_args - set of arguments to be passed to the Property Blocks when they are created.
  • inlet_list - list of names to be passed to the build_inlets method (default = None).
  • num_inlets - number of inlets argument to be passed to the build_inlets method (default = None).
  • outlet_list - list of names to be passed to the build_outlets method (default = None).
  • num_outlets - number of outlets argument to be passed to the build_outlets method (default = None).

Additionally, CSTR units have the following construction arguments which are passed to the Holdup Block for determining which terms to construct in the balance equations.

Argument Default Value
material_balance_type ‘component_phase’
energy_balance_type ‘enthalpy_total’
momentum_balance_type ‘pressure’
dynamic False
include_holdup False
has_rate_reactions True
has_equilibrium_reactions True
has_phase_equilibrium False
has_mass_transfer False
has_heat_transfer True
has_work_transfer False
has_pressure_change False

Additional Constraints

CSTR units write the following additional Constraints beyond those written by the Holdup Block.

\[X_{t,r} = V_t \times r_{t,r}\]

where \(X_{t,r}\) is the extent of reaction of reaction \(r\) at time \(t\), \(V_t\) is the volume of the reacting material at time \(t\) (allows for varying reactor volume with time) and \(r_{t,r}\) is the volumetric rate of reaction of reaction \(r\) at time \(t\) (from the outlet property package).

Variables

CSTR units add the following additional Variables beyond those created by the Holdup Block.

Variable Name Notes
\(V_t\) volume If include_holdup = True this is a reference to holdup.volume, otherwise a Var attached to the Unit Model
\(Q_t\) heat Only if has_heat_transfer = True, reference to holdup.heat

CSTRData Class

class idaes.models.cstr.CSTRData(component)[source]

Standard CSTR Unit Model Class

build()[source]

Begin building model (pre-DAE transformation).

Parameters:None
Returns:None
post_transform_build()[source]

Continue model construction after DAE transformation.

Parameters:None
Returns:None