Aniline via nitrobenzene hydrogenation — a PENG-ROBINSON process flowsheet
Vapor-phase catalytic hydrogenation of nitrobenzene (C₆H₅NO₂ + 3H2 → C₆H₅NH₂ + 2H2O, highly exothermic) with excess hydrogen, a high-pressure flash recovering unreacted H₂ as a recycle vent, then a reduced-pressure flash stripping residual water from the crude aniline.
Modeling assumptions & limitations
- 1The reactor is a stoichiometric conversion model (98%), not a nitrobenzene-specific rate law — this solver has no curated hydrogenation kinetics for this reaction. The final aniline/water cut is a single-stage flash, not a multi-tray column: aniline and water are a genuinely non-ideal, partially-miscible pair, and this solver's UNIFAC-based decanter (the tool built for exactly that miscibility gap) doesn't have nitrobenzene's group decomposition, so a real plant's decant-then-distill sequence isn't fully modeled here.
168 views 0 forks
- Rigorous PENG-ROBINSON thermodynamics, solved by the same engine every simulation runs on.
- 3 unit operations modeled: MIX, RX, 2× Vflash.
- Focus areas: Hydrogenation, Exothermic reaction, Gas recycle, Vacuum flash.
- Thermodynamics
- PENG-ROBINSON
- Components
- nitrobenzene, hydrogen, aniline, water
- Unit operations
- MIXRX2× Vflash
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("aniline-hydrogenation")
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
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.
Jet loop reactor: nitrobenzene to aniline
A circulating loop reactor of the kind BASF and Buss built for strongly exothermic three-phase hydrogenations — here nitrobenzene to aniline (C₆H₅NO₂ + 3 H₂ → C₆H₅NH₂ + 2 H₂O, -443 kJ/mol). Fresh nitrobenzene and hydrogen are injected into a large circulating liquid stream; the reactor itself runs adiabatic and the reaction heat is taken out by a heat exchanger in the EXTERNAL loop, which is the whole architectural point — the exchanger area is set independently of the reactor, and the circulation rate, not a cooling jacket, is what holds the temperature. A gas separator vents the excess hydrogen, 5% of the liquid is taken off as crude aniline, and the rest is pumped back. What it computes: a 19:1 recycle-to-product ratio holds the adiabatic reactor to 429.7 K in / 494.3 K out, a 64.6 K rise, with the loop cooler removing 4.66 MW; overall nitrobenzene conversion is 99.98% (99.70% per pass) and the crude leaves at 34.7% aniline / 64.9% water. Counting the vent as well as the crude, one aniline is made per two water, which is the stoichiometric mass-balance check on the whole loop — the crude by itself runs slightly water-lean because the vent carries water vapour off with the excess hydrogen. The acid test is what happens without the loop: the same feed in one adiabatic once-through reactor is already at 627 K by 30% conversion and runs off the top of the model's temperature range well before full conversion. That gap is the reason the architecture exists.
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 (CaCO₃) enters an indirectly-heated rotary kiln that calcines it toward CaO, releasing a CO₂-rich off-gas; the gas passes a knockout drum, then is compressed and cooled to liquefy the CO₂ for transport/storage.
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.