Toluene hydrodealkylation (HDA) — a PENG-ROBINSON process flowsheet
Toluene + H₂ react to benzene + methane over an equilibrium reactor (900 K), then a quench, a high-pressure separator, and a letdown-valve-plus-flash stabilizer strip dissolved H₂/methane before the aromatics split — the same SEP-LETDOWN-SEP2 degassing pattern used for methanol synthesis and CO₂-from-natural-gas elsewhere in this gallery. The final benzene/toluene split uses a shortcut separator rather than a rigorous distillation column: even the small H₂/methane trace left after stabilization has a pure-component bubble point far below any real column temperature (H₂ at 1.5 bar: ~22 K), which corrupts the column's initial T-profile guess and the inside-out/Newton MESH solvers land on a physically nonsensical low-temperature root for this feed. A fix narrowed to just that seed was tried and reverted: it also changes the wide-boiling classification and the seed fed into the (otherwise-fine) inside-out solver for other columns, and broke the already-shipped methanol-synthesis example — the same cross-example fragility already hit twice this session trying to patch the shared thermo core, so it's noted honestly here rather than chased further. From the ChemSep casebook (toluene HDA).
167 views 0 forks
- Rigorous PENG-ROBINSON thermodynamics, solved by the same engine every simulation runs on.
- 5 unit operations modeled: RX, Quench, 2× SEP2, Letdown, COL.
- Focus areas: Hydrodealkylation, Benzene, Equilibrium reactor, Degassing.
- Thermodynamics
- PENG-ROBINSON
- Components
- toluene, benzene, h2, methane
- Unit operations
- RXQuench2× SEP2LetdownCOL
Opens in a new tab, loaded straight into the app — no setup.
Read the step-by-step guideReproduce this exact result from Python — the real client.get_example() → run_and_wait() path, not a mockup.
from flowsim.sdk import FlowSimClient
client = FlowSimClient()
example = client.get_example("hda-toluene-dealkylation")
sim = client.create_simulation(example["title"], example["flowsheet"])
result = client.run_and_wait(sim["id"])
print(result["status"]) # "converged"
streams = client.streams(sim["id"])Related models
Thermal (non-catalytic) HDA — broad aromatics feedstock
A real thermal-HDA licensor's process (non-catalytic, tolerant of a mixed aromatics feedstock and inert impurities) modeled as a genuine competing-and-sequential reaction network in a real plug-flow reactor, not a fixed-Keq equilibrium reactor like the simpler hda-toluene-dealkylation example. The main toluene dealkylation (toluene + H₂ → benzene + methane) uses real published kinetics: (-r_toluene) = k0exp(-Ea/RT)C_toluene*C_H2^0.5 (order 1 in toluene, order 0.5 in H₂, the classic 1.5-order thermal-HDA rate law), k0 = 5.67e9 (m3/mol)^0.5/s, Ea = 228,200 J/mol, heat of reaction -49,000 J/mol — transcribed from Shull & Hixon (Ind. Eng. Chem. Process Des. Develop. 5, 147, 1966) as tabulated in Rase, H.F., 'Chemical Reactor Design for Process Plants, Vol. 2: Case Studies and Design Data' (Wiley-Interscience, 1977), Case Study 104 'Toluene Dealkylation', pp. 36-42 (unit-converted from the source's imperial (ft, lb-mol, degR) basis to SI). That same source explicitly states 'rate equations for the side reactions have not been reported' — so the coking/heavies side reaction (2 toluene → biphenyl + H₂, the real reaction that caps aromatic yield below 100% and drives decoking intervals) and the xylene demethylation feeding the shared toluene pool (o-xylene + H₂ → toluene + methane — the real single-methyl-loss pathway, not a lumped double-dealkylation straight to benzene, so this is a genuine reactions-in-series-and-parallel network, not three independent reactions) both stay illustrative order-of-magnitude Arrhenius parameters, tuned only to land in the source's cited ~98% main-reaction selectivity at 2:1 H₂:toluene — honestly labeled as such, not fabricated citations. H₂S/CO₂/ammonia ride through the flowsheet as inert impurities — exactly what 'impurity tolerance' means in a mass balance, not a special chemistry path. A real fired heater (rigorous combustion stoichiometry + stack energy balance, the same unit op used in the naphtha-steam-cracker example) brings the mixed fresh-plus-recycle feed up to reaction temperature — not a feed specified as already at 950 K. The H₂-rich high-pressure separator vapor is a real recycle loop: fresh feed joins recycled gas at a mixer ahead of the furnace, and past the separator the vapor splits into a recompressed recycle (85%) and a genuine purge (15%) that bleeds off the methane a single pass could never consume — the same role a purge plays in the ammonia-synthesis-loop example. Quench, the high-pressure separator, and a letdown-valve-plus-flash stabilizer strip dissolved H₂/methane before the aromatics split. The reactor is genuinely adiabatic, not isothermal: temperature is a real energy-balance-coupled ODE state (the adiabatic PFR mode) that rises along the reactor length as the exothermic reactions release heat — starting from the furnace's real ~900 K outlet (in the source's cited 894-922 K inlet range) and climbing as the reaction proceeds, self-consistent to within ~0.01% of the reactor's own required external duty (which should be ~0 for a truly adiabatic reactor — verified, not assumed). One honest simplification remains: the final benzene/toluene/xylene-derived-benzene split still uses a shortcut separator rather than a rigorous column, for the same documented reason as hda-toluene-dealkylation: trace H₂/methane corrupts the column's wide-boiling initial-guess classification, and a fix narrowed to just that seed broke the shipped methanol-synthesis example when tried previously.
Green ammonia synthesis
An equilibrium reactor runs N₂ + 3H₂ ⇌ 2NH₃ on green-hydrogen syngas (Keq illustrative) — the new-energy leapfrog workflow.
Ethane steam cracker
A simplified thermal-cracking train: an equilibrium reactor converts ethane to ethylene + H₂ at furnace conditions (1100 K), then a quench, compression, and a cold flash strip the H₂ tail gas before a C₂ splitter separates ethylene product from unconverted ethane. An equilibrium reactor is used here rather than the kinetic reactor because the latter's concentration term always uses a liquid-phase density (a real gap for a vapor-phase reaction at 1100 K) — noted, not fixed, out of scope for this example. The C₂ splitter needs many stages and high reflux since ethylene/ethane relative volatility is modest. From the ChemSep casebook (ethane cracker).
Ammonia synthesis loop (Haber-Bosch, ChemSep casebook)
The classic industrial ammonia loop: fresh syngas joins recycled unconverted gas, reacts over an equilibrium reactor (N₂ + 3H₂ ⇌ 2NH₃) at synthesis conditions, is chilled to condense high-purity liquid ammonia, and the remaining vapor splits into a recycle (back to the loop) and a purge — the purge exists specifically to bleed off the inert argon a single-pass reactor could never consume, which would otherwise concentrate in the recycle forever.
Polymerization reactor comparison: CSTR cascade vs. tubular (PFR)
The same monomer feed, split 50/50 into two trains at equal total reactor volume: a 3-stage CSTR cascade (each stage blending its own new polymer with the MWD already carried by the stream from the stage before it) versus a single tubular (PFR) reactor. Both converge to a real, different Mn/Mw/PDI — the PFR reaches higher conversion at the same total volume, but its cumulative polydispersity is measurably broader than the cascade's, because chain length drifts continuously with conversion along the tube while each CSTR stage makes its own local production under one fixed monomer concentration. See the 'Polymerization Reactors' docs page for the full reasoning.
Helium liquefaction (Linde-Hampson cycle)
A Joule-Thomson liquefaction loop: helium is compressed, aftercooled, precooled well below its ~40-51 K JT-inversion temperature, then throttled through a valve into a flash drum that draws off liquid helium while the cold vapor recycles back to the compressor suction — the same JT-cycle physics as the platform's LNG/refrigeration loops, run on a fluid whose inversion curve makes precooling mandatory before the throttle can cool it at all.