MaximaLabs
Back to gallery
Reference model

Yield reactor: modelling a reaction nobody has kinetics for — a PENG-ROBINSON process flowsheet

Pyrolysis, gasification and cracking share a problem: the feed is not a set of molecules with a stoichiometry, it is biomass or coal or a heavy residue, and there is no reaction network to write down. What you have instead is a measured product slate from a pilot run. The yield reactor (Aspen's RYield) is the unit op for exactly that case — you give it the slate, it gives you a stream. Here 100 mol/s of feed goes to 823 K and comes out as 112 mol/s of gas at a specified mass yield (31% CO₂, 28% water, 22% methane, 14% ethane, 5% hydrogen), for a 3.66 MW heating duty. The mole count rises and the mass does not: the yields are normalised so the product mass equals the feed mass exactly, which is the entire contract of a yield reactor and the one thing it will not let you get wrong. Be honest about what this is. It has no kinetics, no equilibrium, no residence time and no temperature dependence of the slate — change the outlet temperature and the products do not shift, only the duty does. It is a way to carry a measured yield through a heat and material balance so the rest of the flowsheet is right; it predicts nothing about the reaction itself. If you have a rate law, use kinetic_reactor; if the system reaches equilibrium, use gibbs_reactor. Reach for this one when you have neither, which for solid-feed conversion is most of the time.

11 views 0 forks

Biomass
PYRO
Syngas
What this showcases
  • Rigorous PENG-ROBINSON thermodynamics, solved by the same engine every simulation runs on.
  • 1 unit operations modeled: PYRO.
  • Focus areas: Reactor, Yield, RYield, Pyrolysis, Gasification, Biomass.
Specification
Thermodynamics
PENG-ROBINSON
Components
methane, co2, water, hydrogen, ethane
Unit operations
PYRO
Open in workspace

Opens in a new tab, loaded straight into the app — no setup.

Read the step-by-step guide
Python SDK

Reproduce 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("pyrolysis-yield-reactor")
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

Hydrocracker complex, Jamnagar, India

Hydrocracking reaction section

A refinery hydrocracker: heavy VGO (modeled as n-dodecane) plus excess H₂ is cracked over catalyst into lighter products via a discrete lumped first-order kinetic network, then flashed to knock out recycle H₂/light gas from the liquid product (Peng-Robinson). Conversion is set by reactor temperature and LHSV.

Reference model (ChemSep)

Benzene hydrogenation → cyclohexane

Benzene + 3 H₂ → cyclohexane in a conversion reactor, then a high-pressure flash recovers liquid cyclohexane and recycles the excess hydrogen (with a purge). The classic ChemSep recycle example — exercises reaction + recycle convergence.

Reference model (Luyben 2010)

Cumene production (benzene alkylation)

Benzene and propylene alkylate over a fixed-conversion reactor to cumene (isopropylbenzene, the feedstock for phenol/acetone via the Hock process); a downstream column recovers unreacted benzene overhead for recycle-quality purity while cumene leaves the bottoms. Luyben, Ind. Eng. Chem. Res. 2010, 49, 719.

Reference model (Luyben 2009/2011)

Butene/isobutane alkylation

Sulfuric-acid alkylation of butene with excess isobutane produces high-octane alkylate gasoline blendstock; a conversion reactor stands in for the acid-catalyzed carbocation chemistry (a literal acid/hydrocarbon settler would need H₂SO₄ electrolyte thermodynamics this package doesn't carry — out of scope, same as the reactor already being a stand-in for the chemistry itself), and a deisobutanizer-style column recovers unreacted isobutane overhead. The high isobutane:olefin ratio real alkylation units run is maintained almost entirely by recycling that isobutane back to the reactor feed — closed here as a real Wegstein-converged tear loop, with only a small makeup feed replacing what the reaction actually consumes, rather than the previous version's isobutane leaving as an unrecycled product. Luyben, Principles and Case Studies of Simultaneous Design, Wiley (2011); Ind. Eng. Chem. Res. 2009, 48, 11081.

Reference model (2009 kinetics)

Ethylene oxide hydration to mono-ethylene glycol (MEG)

Ethylene oxide reacts uncatalyzed with excess water at 200 C to mono-ethylene glycol (MEG, antifreeze/PET feedstock); the excess-water dilution that suppresses the over-reaction to di-/tri-ethylene glycol byproducts is reflected in the large water excess on the feed, and a downstream column concentrates MEG in the bottoms while excess water leaves overhead for recycle. Kinetics basis: Ind. Eng. Chem. Res. 2009, 48, 10840.

EO/EG complex, Beaumont, Texas, USA

Ethylene oxide synthesis through to glycol

The full EO/MEG chain in one flowsheet, upstream of the standalone hydration example: ethylene and oxygen react over a silver catalyst to ethylene oxide (low per-pass ethylene conversion, ~10%, is realistic — high conversion pushes the competing total-combustion side reaction, which this model represents as a second reactor consuming a fixed share of the same ethylene at ~80% EO selectivity). A cooled flash condenses EO (and reaction water) from the unreacted ethylene/oxygen/CO₂ vented for combustion-side purge; the condensed EO then hydrates with fresh water to MEG exactly as in the standalone hydration example. No ethylene/O₂ recycle loop (an honest simplification — real plants recycle unreacted ethylene at high ratio).

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