MaximaLabs
All guides
North Sea (Brent Blend), landed at Rotterdam, Netherlands

How to simulate brent blend cdu (characterized from a real assay)

An atmospheric crude unit fed by a *named, cited* crude rather than invented pseudocomponents: Brent Blend (NOAA ADIOS oil EX00009, API 40.1, SG 0.8246, 0.35 wt% sulfur; the underlying assay is ExxonMobil's published Brent distillation curve). The bundled assay library (561 crudes, `flowsim.backend.crude_assays`) supplies the true-boiling-point curve; `assay_to_pseudocomponents` cuts it into 8 equal-volume pseudocomponents and characterizes each by Riazi-Daubert (Tc/Pc/MW from NBP + SG) and Edmister (acentric factor) — the eight `cut_N` entries below are that output verbatim, not hand-tuned numbers. The train is preflash drum → fired heater (660 K) → 20-stage atmospheric column with two side draws, yielding naphtha overhead, kerosene and diesel side cuts, and atmospheric residue. Three things worth knowing: (1) an assay reports one whole-crude gravity, but density rises steeply with boiling point, so the cuts are characterized at *constant Watson K* — Kw is fitted by requiring the cuts' volume-average SG to return the measured bulk 0.8246, giving Kw = 11.95 (the published paraffinic band is 11.4–12.1, which the fit was not tuned to hit) and per-cut gravities running 0.689 for the light naphtha to 0.971 for the 595 °C residue; (2) mole fractions follow from that — equal volume means mass ∝ SG, so each cut's mole fraction is proportional to SG/MW; (3) the column runs with `rigorous_draws` — real MESH liquid withdrawals — because the default carve mode (side products sliced out of a converged 2-product profile) returns two near-identical draws here and does not fractionate. Bounded: constant Kw is itself an idealization (a real crude's Kw drifts a few tenths across the barrel, and aromatic/naphthenic crudes differ), but it is the standard characterization and is strictly better than one gravity for every cut.

Crude
Preflash
Light ENDS
Fired Heater
crude
dist
cuts
btms
CDU
Naphtha
Kerosene
Diesel
Residue
  1. 1
    Open the ready-made model

    Open the "Brent Blend CDU (characterized from a real assay)" model in the MaximaLabs workspace — no install, no license. It loads live on the canvas, ready to edit and run.

  2. 2
    Confirm the thermodynamics

    This process is modeled with the PENG-ROBINSON property package over cut_1, cut_2, cut_3, cut_4, cut_5, cut_6, cut_7, cut_8 — already selected, so the phase equilibrium and enthalpy are physically consistent from the first run.

  3. 3
    Review the flowsheet

    The flowsheet chains Preflash, Fired Heater, CDU. Every block is a real, solvable unit op you can reconfigure on the canvas.

  4. 4
    Run the simulation

    Click Run. The deterministic solver converges the material and energy balances (recycles included) and fills the live stream table — the AI never invents a number.

  5. 5
    Read the results and iterate

    Inspect the converged streams, tweak a spec, and re-run — or ask the AI copilot to explain a result or diagnose a failed solve in plain English.

What you'll build
Thermodynamics
PENG-ROBINSON
Components
cut_1, cut_2, cut_3, cut_4, cut_5, cut_6, cut_7, cut_8
Unit operations
PreflashFired HeaterCDU
Open this model in the workspace

Opens live on the canvas — free, no install.

Explore the model & flowsheet

Frequently asked questions

What does the Brent Blend CDU (characterized from a real assay) model simulate?
An atmospheric crude unit fed by a *named, cited* crude rather than invented pseudocomponents: Brent Blend (NOAA ADIOS oil EX00009, API 40.1, SG 0.8246, 0.35 wt% sulfur; the underlying assay is ExxonMobil's published Brent distillation curve). The bundled assay library (561 crudes, `flowsim.backend.crude_assays`) supplies the true-boiling-point curve; `assay_to_pseudocomponents` cuts it into 8 equal-volume pseudocomponents and characterizes each by Riazi-Daubert (Tc/Pc/MW from NBP + SG) and Edmister (acentric factor) — the eight `cut_N` entries below are that output verbatim, not hand-tuned numbers. The train is preflash drum → fired heater (660 K) → 20-stage atmospheric column with two side draws, yielding naphtha overhead, kerosene and diesel side cuts, and atmospheric residue. Three things worth knowing: (1) an assay reports one whole-crude gravity, but density rises steeply with boiling point, so the cuts are characterized at *constant Watson K* — Kw is fitted by requiring the cuts' volume-average SG to return the measured bulk 0.8246, giving Kw = 11.95 (the published paraffinic band is 11.4–12.1, which the fit was not tuned to hit) and per-cut gravities running 0.689 for the light naphtha to 0.971 for the 595 °C residue; (2) mole fractions follow from that — equal volume means mass ∝ SG, so each cut's mole fraction is proportional to SG/MW; (3) the column runs with `rigorous_draws` — real MESH liquid withdrawals — because the default carve mode (side products sliced out of a converged 2-product profile) returns two near-identical draws here and does not fractionate. Bounded: constant Kw is itself an idealization (a real crude's Kw drifts a few tenths across the barrel, and aromatic/naphthenic crudes differ), but it is the standard characterization and is strictly better than one gravity for every cut.
Which thermodynamic method does it use?
The PENG-ROBINSON property package, over cut_1, cut_2, cut_3, cut_4, cut_5, cut_6, cut_7, cut_8 — already selected. You can switch the method on the canvas before running.
Which unit operations are in the flowsheet?
It chains Preflash, Fired Heater, CDU. Every block is a real, solvable unit operation you can reconfigure, add to, or remove.
Do I need to install software or buy a license?
No. Brent Blend CDU (characterized from a real assay) runs entirely in your browser on MaximaLabs — free, no install, no license. Open the model to load it live and run the deterministic solver.

More guides like this

Jamnagar, Gujarat, India

Crude distillation (preset cuts)

An atmospheric crude column fractionating a petroleum feed (naphtha → kerosene → diesel → residue) into ordered side cuts — refinery support via pseudos.

Port Arthur, Texas, USA

Crude distillation unit (full train)

A fuller atmospheric CDU: a crude/residue preheat exchanger, a desalter (wash water mixed in, then split off as brine), a fired heater, the multi-draw column, three steam side-strippers recovering kerosene / light gas oil / heavy gas oil, and an overhead condenser + three-phase reflux drum (fuel gas / naphtha / sour water). A pumparound heat-integration loop (drawing liquid off an interior stage, cooling it externally against crude, and returning it colder to preheat the column's own upper trays) was attempted — both a 2-loop and a 1-loop version — but proved too numerically expensive to converge in reasonable time and was dropped rather than shipped half-tuned; everything else in the reference PFD is real. From the ChemSep casebook (crude distillation).

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.