Reactor


The continuously stirred tank reactor is a popular model for benchmarking. It is a simple A to B reaction and has exothermic reaction instability with a prolonged cooling jacket temperature above 305 K.


CSTR Simulation with Python


! APMonitor Modeling Language
! http://www.apmonitor.com

! CSTR model from
! Michael A. Henson and Dale E. Seborg.  Nonlinear
!   Process Control. Prentice Hall PTR, Upper 
!   Saddle River, New Jersey, 1997.
! Description:
! Continuously Stirred Tank Reactor with energy
!   balance and reaction A->B.
!   The temperature of the cooling
!     jacket is the control.
Model cstr
  Parameters
    ! Manipulated Variables
    Tc = 270    ! Temperature of cooling jacket (K)

    ! Parameters
    q = 100     ! Volumetric Flowrate (m^3/sec)
    V = 100     ! Volume of CSTR (m^3)
    rho = 1000  ! Density of A-B Mixture (kg/m^3)
    Cp = .239   ! Heat capacity of A-B Mixture (J/kg-K)
    mdelH = 5e4 ! Heat of reaction for A->B (J/mol)
                ! E - Activation energy in the 
                !  Arrhenius Equation (J/mol)
                ! R - Universal Gas Constant 
                !  = 8.31451 J/mol-K
                ! EoverR = E/R
    EoverR = 8750
    k0 = 7.2e10 ! Pre-exponential factor (1/sec)
                ! U - Overall Heat Transfer 
                !  Coefficient (W/m^2-K)
                ! A - Area - this value is specific
                !  for the U calculation (m^2)
                ! UA = U * A
    UA = 5e4
    Caf = 1     ! Feed Concentration (mol/m^3)
    Tf = 350    ! Feed Temperature (K)
  End Parameters

  Variables
    ! Differential States
    Ca = 0.9    ! Concentration of A in CSTR (mol/m^3)
    T  = 305    ! Temperature in CSTR (K)
  End Variables

  Equations
    ! note: the $ denotes time differential
    !  (e.g. $x is dx/dt)

    ! mole balance for species A
    V * $Ca = q*(Caf-Ca) - k0*V*exp(-EoverR/T)*Ca

    ! energy balance
    rho*Cp*V * $T = q*rho*Cp*(Tf - T) + V*mdelH*k0*exp(-EoverR/T)*Ca + UA*(Tc-T)
  End Equations
End Model


Van de Vusse Reactor

The Van de Vusse reaction kinetics are employed in many benchmarking problems. This model is a simple stirred tank reactor model with reactions A->B->C and A->2D. Note that in the original reference, the reactor volume was listed as 0.01 L. This model has been modified for the original intent of 10 L reactor volume.

! Continuously Stirred Tank Reactor with energy
!   balance and reactions A->B->C and A->2D
Model cstr
  Parameters
    F = 14.19         ! Feed rate (l/hr)
    Qk = -1579.5      ! Jacket cooling rate (kJ/hr)
    Ca0 =  5.1        ! Inlet feed concentration (mol/m^3)
    T0 = 104.9        ! Inlet feed temperature (degC)

    k10 = 1.287e12    ! A->B Pre-exponential factor (1/hr)
    k20 = 1.287e12    ! B->C Pre-exponential factor (1/hr)
    k30 = 9.043e9     ! A->2D Pre-exponential factor (1/hr)
    E1 = 9758.3       ! A->B Activation Energy (K)
    E2 = 9758.3       ! B->C Activation Energy (K)
    E3 = 8560         ! A->2D Activation Energy (K)
    dHrAB = 4.2       ! A->B Heat of Reaction (kJ/mol A)
    dHrBC = -11       ! B->C Activation Energy (kJ/mol B)
    dHrAD = -41.85    ! A->2D Activation Energy (kJ/mol A)
    rho = 0.9342      ! density (kg/l)
    Cp = 3.01         ! Heat capacity of reactants (kJ/kg-K)
    kw = 4032         ! Heat transfer coefficient (kJ/h-K-m^2)
    AR = .215         ! Area of jacket cooling (m^2)
    VR = 10.0         ! Reactor volume (l)
    mK = 5            ! Mass of cooling (kg)
    CpK = 2           ! Heat capacity of cooling (kJ/kg-K)
  End Parameters

  Variables
    ! Differential States
    Ca = 2.2291  ! Concentration of A in CSTR (mol/l)
    Cb = 1.0417  ! Concentration of B in CSTR (mol/l)
    Cc = 0.91397 ! Concentration of C in CSTR (mol/l)
    Cd = 0.91520 ! Concentration of D in CSTR (mol/l)

    T  = 79.591  ! Temperature in CSTR (degC)
    Tk = 77.69   ! Cooling jacket temperature (degC)
  End Variables

  Intermediates
    k1 = k10*exp(-E1/(T+273.15))
    k2 = k20*exp(-E2/(T+273.15))
    k3 = k30*exp(-E3/(T+273.15))
  End Intermediates

  Equations
    ! note: the $ denotes time differential
    !  (e.g. $x is dx/dt)

    ! species balances
    VR * $Ca = -k1*VR*Ca - k3*VR*Ca^2 + F*(Ca0-Ca)
    VR * $Cb =  k1*VR*Ca - k2*VR*Cb   - F*Cb
    VR * $Cc =  k2*VR*Cb              - F*Cc
    VR * $Cd =  k3*VR*Ca^2            - F*Cd

    ! energy balance on reactor
    rho*Cp*VR*$T = F*rho*Cp*(T0 - T) &
                   - VR*(k1*Ca*dHrAB + k2*Cb*dHrBC + k3*Ca^2*dHrAD) &
                   + kw*AR*(Tk - T)

    ! energy balance on cooling
    mK * CpK * $Tk = Qk + kw*AR*(T - Tk)
  End Equations
End Model