MaximaLabs
Back to gallery
Renewable-fuels refinery, Norco, Louisiana, USA

Renewable diesel & SAF: HEFA hydrotreating train — a PENG-ROBINSON process flowsheet

The HEFA (Hydroprocessed Esters and Fatty Acids) pathway to sustainable aviation fuel and renewable diesel from fats/oils/greases: a triglyceride feed (triolein) plus a large hydrogen excess is hydrodeoxygenated (HDO) to n-paraffins + propane + water, the paraffins are hydrocracked/isomerized toward the jet range, the H₂-rich recycle gas and the HDO process water are knocked out, the light ends are stabilized, and a two-column fractionation splits the product into light naphtha, a jet-range SAF cut, and renewable-diesel bottoms.

Modeling assumptions & limitations

  1. 1The databank carries no lauric/oleic assay, so the FOG feed is modeled as triolein hydrodeoxygenating to n-octadecane (real HDO stoichiometry: triolein + 15 H₂ → 3 n-C₁₈ + propane + 6 H₂O); the hydrocracking lump (n-C₁₈ → n-C₁₂ + n-C₆) is illustrative, not a fitted kinetic network; and the n-/iso-paraffin distinction that actually sets the jet freeze-point spec is NOT resolved (the databank carries n-paraffins, not the specific branched isomers) — the train computes real material/energy balances and a real fractionation, not a validated freeze-point. A 3-phase water knockout is modeled as a component separator (the real unit gravity-decants the sour water).

187 views 2 forks

OIL
H2feed
MIX
HDO
HC
Hpsep
Recycle H2
Water KO
SOUR Water
Letdown
Lpsep
Offgas
feed
dist
btms
NAPH COL
Naphtha
feed
dist
btms
JET COL
SAF JET
Renewable Diesel
What this showcases
  • Rigorous PENG-ROBINSON thermodynamics, solved by the same engine every simulation runs on.
  • 7 unit operations modeled: MIX, HDO, HC, 2× Lpsep, Water KO, Letdown, 2× JET COL.
  • Focus areas: SAF, HEFA, Renewable diesel, Hydrotreating, Hydrodeoxygenation.
Specification
Thermodynamics
PENG-ROBINSON
Components
triolein_ooo, n_octadecane, n_dodecane, n_hexane, propane, water, h2
Unit operations
MIXHDOHC2× LpsepWater KOLetdown2× JET COL
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("saf-hefa-renewable-jet")
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

Port Arthur, Texas, USA

Diesel hydrotreater with closed H2 recycle + amine wash

Diesel (an n-hexadecane carrier with a dibenzothiophene sulfur slice) and hydrogen react over a trickle-bed-equivalent reactor (dibenzothiophene + 3H2 → biphenyl + H₂S, the real HDS desulfurization route) after a fired-heater preheat. Hot and cold high-pressure separators knock the light gas off the treated oil; an amine wash (a fixed-recovery separator — the same simplification the existing carbon-capture example uses, not a full electrolyte amine model) scrubs H₂S from the recycle gas before a compressor closes the loop back to the reactor feed, with a small purge controlling buildup. A pressure-letdown valve + stripper finish the treated oil, removing dissolved light ends before the desulfurized diesel leaves the bottoms.

LanzaJet Freedom Pines Fuels, Soperton, Georgia, USA

Sustainable Aviation Fuel via Alcohol-to-Jet

Bio-ethanol is catalytically dehydrated to ethylene, oligomerized toward a decene-range olefin, then hydrogenated to n-decane — a real synthetic paraffin in the SAF/jet-range carbon-number band.

LNG receiving and export terminal

LNG front end and storage: guard beds, tank boil-off, driver limit

The parts of a 5.2 Mtpa LNG train that are not the cold box, and the four questions they answer that no bulk unit can — at real capacity, so the vessel sizes and duties are ones an engineer can check against their own plant. Guard beds: a sulfur-carbon bed takes mercury from 200 to 0.01 µg/Nm³ — the brazed-aluminium limit, because mercury attacks the plate-fin cold box by liquid-metal embrittlement — on a 4.8 m x 6.6 m bed with 4.2 years of life from a capacity balance — inside the 3-5 year window these non-regenerable beds are actually replaced on, which is what a turnaround plan needs. A 4A molecular sieve then dries the gas to 0.1 ppmv, the only route to a cryogenic water spec (a glycol contactor tops out near a −30 °C dew point), on a 4.9 m x 5.1 m bed running a 13.8 h cycle for 1.3 MW of regeneration duty. Storage: the LNG goes to a tank whose boil-off rate comes from a 0.05%/day guarantee but whose boil-off composition comes from a real equilibrium flash — and that is the interesting part, because the vapour leaves at ~11 mol% nitrogen against 1.1% in the feed. Nitrogen and methane are far more volatile at 113 K, so the boil-off is light and the stored liquid weathers heavier: nobody specified that, the flash found it. Recondensing: the boil-off goes back into the send-out LNG rather than to a flare, and the unit reports the LNG:BOG ratio (1999) against the minimum the energy balance demands (3.8), which is the constraint a terminal is actually operated against. The driver: a gas turbine burning plant fuel gas, rated 97.5 MW at ISO conditions, delivers only 84.5 MW at 35 °C — 5.5 MW short of its 90 MW refrigeration load, and flagged as such. That derate is computed from two physical effects (a fixed-geometry compressor swallows a fixed volume so mass flow follows air density, and hotter air costs more to compress), not from a vendor curve, and it comes out at 0.66%/K — mid-band for industrial machines. It is why a tropical LNG train makes less product in summer.

Ichthys LNG, Darwin, Northern Territory, Australia

Gas-condensate LNG train: condensate, LPG and LNG

The LNG plant that is also a liquids plant, at real capacity: this is one 4.4 Mtpa train (a two-train plant is two of these), not a scaled-down sketch. A condensate-rich field arrives by trunkline as a two-phase stream: the slug catcher drops ~20 mol% of it out as raw condensate before a single molecule reaches the cold end, and the plant then runs two trains side by side off one feed. Liquids: the raw condensate is let down to an MP flash that strips the dissolved methane (without it the stabilizer's shortcut total condenser tries to condense methane at 8 bar, which is not a real stabilizer overhead), then stabilized to a C₅/C₆ product. Gas: sweetened and dried, chilled to 245 K to knock out an NGL cut, and the NGL demethanized and split by a deethanizer / depropanizer / debutanizer sequence into commercial propane (~98 mol%) and butane (~98 mol%) LPG plus a natural-gasoline bottoms. LNG: the lean gas goes to the same APCI C3MR cold end as the 'c3mr-lng-liquefaction' showcase — propane precool, mixed-refrigerant MCHE to 120 K, JT letdown to a 1.5 bar end-flash drum. Five sold products come out of one flowsheet, each a stream the solver computed. Watch the end-flash boil-off: it leaves at ~13 mol% nitrogen against 1 mol% in the feed, because the flash drum is where an LNG train actually rejects its nitrogen — nobody specified that, the flash found it. Dehydration is the real molecular-sieve bed, not a stand-in: a 4A sieve sized by length-of-unused-bed, which is what actually takes the gas to the <=0.1 ppmv the cold box needs — 95 t of sieve on a 5.5 x 5.5 m bed, a 17.5 h cycle and 1.4 MW of regeneration duty, with 0.47 bar of Ergun pressure drop. The AGRU spec is checked against the physics rather than assumed: 99.9% CO₂ removal leaves 33 ppmv, and at the coldest point in the train (115.9 K) the solid-CO₂ solubility limit is 232 ppmv on the measured-data basis — a 7x margin, so the sweetening spec demonstrably clears freeze-out instead of merely looking tight.

NGL recovery plant, Permian Basin, Texas, USA

Deep ethane recovery with propane-refrigerated feed chilling

Associated gas is chilled by an external propane refrigeration package before a demethanizer recovers ethane and heavier as NGL bottoms from a methane-rich residue gas overhead — the cryogenic-chilling role Ortloff's CCS/GSP processes play ahead of the turboexpander in a real deep-ethane-recovery plant. The mechanical refrigeration loop itself (compressor/condenser/valve) isn't separately modeled here; the chiller's duty is represented directly as the feed's cooled outlet temperature (the same honest-simplification pattern used for LNG cold-box examples elsewhere in this library).

Reference model

Gas compressor air-cooled aftercooler (fin-fan)

A natural-gas booster compressor followed by an air-cooled (fin-fan) aftercooler — the standard way to reject compression heat where no cooling water is available. The compressor raises the gas from 8 to 24 atm (hot discharge ~150 °C); the air cooler then rejects that heat to ambient air, cooling the gas back to 49 °C. Unlike a plain cooler, the air_cooler op closes the air side: from the process duty and the 35 °C design ambient it solves the air mass flow (a 15 °C air rise) and reports the fan power from the given fan static pressure. Honest scope: screening air-side model (fixed cp_air, ideal-gas air density, no fin/row geometry rating); an air cooler cannot cool below ambient, so the 49 °C target sits safely above the 35 °C air inlet.

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