MaximaLabs
All unit operations

Reactive column (kinetic) simulation

feed -> distillate + bottoms (per-stage Arrhenius reaction rate)

Governing equations

The exact equations the solver works for a reactive column (kinetic) — the same math shown in the app's "Theory" panel, not a black box.

ξj=k(Tj)ireactantsCi,joiεj(per-stage extent from the local rate, not a specified conversion)\xi_j = k(T_j)\,\prod_{i\in reactants} C_{i,j}^{\,o_i}\,\varepsilon_j\quad(\text{per-stage extent from the local rate, not a specified conversion})
Ci,j=xi,jcL,k=AeEa/(RTj)C_{i,j} = x_{i,j}\,c_L,\qquad k = A\,e^{-E_a/(R T_j)}
ξjnet=ξjkr(Tj)iproductsCi,joiεj(optional reverse term)\xi_j^{net} = \xi_j - k_r(T_j)\prod_{i\in products} C_{i,j}^{\,o_i}\,\varepsilon_j\quad(\text{optional reverse term})
outer fixed point: solve MESHxi,jξjre-solve(damped, ξj capped below the available reactant)\text{outer fixed point: solve MESH} \to x_{i,j} \to \xi_j \to \text{re-solve}\quad(\text{damped, } \xi_j \text{ capped below the available reactant})
ξj\xi_j
reaction extent on stage j [mol/s] — an *outcome* here, not a spec
k,krk, k_r
forward / reverse Arrhenius rate constants at the stage temperature
AA
pre-exponential factor
EaE_a
activation energy [J/mol]
TjT_j
temperature of stage j [K]
RR
gas constant
Ci,jC_{i,j}
liquid molar concentration of i on stage j [mol/m³]
xi,jx_{i,j}
liquid mole fraction of i on stage j
cLc_L
liquid molar density [mol/m³]
εj\varepsilon_j
liquid holdup on the reactive stage [m³] — more holdup, more reaction
oio_i
reaction order in component i

Parameters

reactive column with per-stage Arrhenius KINETICS (not a specified conversion): stoichiometry {comp: nu}, key_component, arrhenius_a [A], activation_energy [J/mol], optional reaction_orders, liquid_holdup [m3/stage], liquid_molar_density [mol/m3], reverse arrhenius_a_reverse/activation_energy_reverse. Extent on each tray = rate x holdup, solved self-consistently with the separation. Outlets: distillate, bottoms

Stop fighting legacy software. Build your first flowsheet in 60 seconds.