MaximaLabs
All examples
Simulation gallery

C5/C6 isomerization: why the colder catalyst wins

IsomerizationRefiningOctaneEquilibriumLight naphthaISU
See it live
Open this exact flowsheet in the workspace, already solved — tweak a spec and re-run.
Launch interactive model

The light end of a gasoline pool. Straight-chain C5/C6 paraffins have poor octane, their branched isomers have good octane, and the reaction between them is a simple reversible exothermic rearrangement. Which means the equilibrium gets worse as the reactor gets hotter -- and that single fact, not activity, is the technology choice in this unit. Run the built-in temperature sweep: this light straight-run naphtha reaches 74.9% iso-C5 and 67.2% iso-C6 at 400 K (the chlorided-alumina window) and only 65.3% and 57.6% at 530 K (the zeolitic window). A chlorided-alumina catalyst does not beat a zeolite by being more active; it beats it by approaching a better equilibrium. That is also why the two are not interchangeable in a revamp -- a zeolitic unit cannot be pushed to alumina octane by running harder, only by running colder than its catalyst allows. Two things the flowsheet shows directly: moles are conserved exactly (one molecule in, one molecule out -- 100.00000 mol/s out for 100 in, the module's own gate), and the benzene and cyclohexane in the feed pass through untouched at 4.00% and 6.00%, because a component named in no pair is not something this block pretends to convert. Only two pairs are written (n-pentane/isopentane and n-hexane/2-methylpentane) and that is deliberate: pairs are applied in sequence over a shared mole pool, so two pairs sharing one normal would let the second redistribute what the first already converted. A real C6 network (n-hexane / 2-MP / 3-MP / 2,2-DMB / 2,3-DMB, each with its own equilibrium) is a coupled problem this block does not solve -- see the honesty notes in flowsim/solver/unitops/isomerization.py. K_ref and the heat of reaction are inputs, not predictions: they come from the catalyst licensor or a pilot run and differ by catalyst, so the ones here are illustrative, fitted to put the unit in the published operating window rather than taken from a source. The fitted heats land at -6.9 and -6.0 kJ/mol, the right magnitude for a paraffin skeletal isomerization -- a sanity check on the fit, not a citation. approach_to_equilibrium (0.96 here) is where a real catalyst's shortfall against equilibrium goes, and is likewise the caller's to supply. Octane is deliberately not reported. The block returns it only when given a research_octane table, because pure-component RON is published but blending octane is not linear -- a component's contribution to a real pool differs from its pure value, sometimes by several numbers -- so a shipped table would hand back a blend calculation the number cannot support. Not modelled: kinetics and space velocity, catalyst deactivation, chloride injection, hydrocracking side reactions, benzene saturation (a real duty in a modern ISU), and the deisohexanizer recycle that a real unit uses to push past single-pass equilibrium -- that last one is a flowsheet you draw around this block, not something it does internally. Refs: Meyers (2004), Handbook of Petroleum Refining Processes ch. 9; Gary, Handwerk & Kaiser, Petroleum Refining ch. 11.

The flowsheet

The solved topology — every unit op's real duty, conversion, or split, read straight off a genuine converged solve.

LSR Naphtha
ISOM
Isomerate

The stream table

Every stream's flow, temperature, pressure, and composition — real converged numbers, not placeholders.

See it live
Open this exact flowsheet in the workspace, already solved — tweak a spec and re-run.
Launch interactive model

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