Thermal oxidizer: VOC-laden waste-gas incineration — a PENG-ROBINSON process flowsheet
A dilute VOC-laden air stream preheats and combusts completely at typical thermal-oxidizer operating temperature (~1100 K / 827degC, in the 750-870degC range these units commonly run at for reliable VOC destruction), destroying toluene (a standard VOC surrogate) to CO2 + H2O (C7H8 + 9 O2 -> 7 CO2 + 4 H2O, exactly mass-balanced) at 99.9% destruction-and-removal efficiency (DRE) -- the real regulatory benchmark figure widely cited for thermal oxidizers/incinerators (e.g. the hazardous-waste-incinerator DRE standard), not a fabricated number. This is generic combustion-based air-pollution-control technology, not Linde-proprietary IP -- built the same way fired_heater.py already models fuel-gas combustion, applied here to a waste-destruction duty instead of a process-heating duty. Honesty note: no NOx formation chemistry is modeled (matching fired_heater's own disclosed bounded scope), and heat recovery (regenerative/recuperative preheat of the incoming waste-gas stream, standard on real thermal oxidizers to cut fuel demand) isn't modeled -- the preheat duty here is a plain utility heater, not a heat-integrated exchanger.
1 views 0 forks
- Rigorous PENG-ROBINSON thermodynamics, solved by the same engine every simulation runs on.
- 2 unit operations modeled: 2× Stack COOL, Oxidizer.
- Focus areas: Thermal oxidation, VOC destruction, Air pollution control, Incineration.
- Thermodynamics
- PENG-ROBINSON
- Components
- toluene, oxygen, n2, co2, water
- Unit operations
- 2× Stack COOLOxidizer
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("thermal-oxidizer-voc-destruction")
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
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.
Cement kiln calcination + CO2 liquefaction
Preheated limestone (CaCO3) enters an indirectly-heated rotary kiln that calcines it toward CaO, releasing a CO2-rich off-gas; the gas is knocked free of moisture, then compressed and cooled to liquefy the CO2 for transport/storage. Honesty notes: (1) this specific kiln model (rotary_kiln) heats via an indirect utility-temperature wall duty (an NTU model), not a simulated internal flame, so no combustion stoichiometry runs inside it here — real oxy-fuel combustion IS modeled elsewhere in this codebase (fired_heater's oxidant="oxy_co2" mode: near-pure-O2 combustion diluted by a recycled-CO2 stream instead of air's nitrogen), see allam-fetvedt-cycle for a real working example of it; (2) the calcination conversion shown (~21%) is the real, kinetically-limited result of this model's validated Arrhenius parameters at this residence time/temperature, not a claim of complete calcination — a real cement plant's preheater-tower-plus-kiln train achieves far higher calcination degree than one rotary-kiln unit alone models here; (3) CO2 must be compressed above roughly 5.2 atm before it can be liquefied by cooling at all (it has no liquid phase at 1 atm at any temperature), which the compressor stage here reflects.
NGL fractionation: single-shell Petlyuk dividing-wall column
A natural-gas-liquids cut (ethane / propane / n-butane) split into three on-spec products by ONE thermally-coupled dividing-wall column instead of two columns in series. This uses the native Petlyuk unit op: a prefractionator whose reflux and boilup are supplied by the main column (the single condenser + single reboiler), solved by an outer Wegstein loop that converges the bidirectional vapor/liquid coupling to self-consistency — the coupling legacy sequential-modular solvers approximate with two connected columns whose recycle fails to converge. Honesty note: the vapor-split and liquid-split ratios are specified inputs (not solved from tray hydraulics), and this is an outer-loop coupling of two rigorous MESH sub-solves, not a single monolithic Petlyuk MESH.
Ethanol–water distillation
An 8-stage column concentrating ethanol overhead toward the azeotrope (the headline demo).
Distributed pipeline cool-down (indexed equation model)
A hot gas cools along a buried pipeline — modeled as a custom unit op whose internals are a distributed 1-D indexed equation system, the gPROMS-style array + indexed-equation modeling capability solved by the sandboxed equation engine. Twenty axial segments compute the full temperature profile T[0..20] (the inlet drives the boundary T[0]; each segment loses heat toward the ground temperature); the outlet temperature is the end of that profile. Demonstrates writing a distributed model as one indexed template rather than 20 hand-written equations.