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.
- 1Open 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.
- 2Confirm 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.
- 3Review the flowsheet
The flowsheet chains Preflash, Fired Heater, CDU. Every block is a real, solvable unit op you can reconfigure on the canvas.
- 4Run 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.
- 5Read 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.
- Thermodynamics
- PENG-ROBINSON
- Components
- cut_1, cut_2, cut_3, cut_4, cut_5, cut_6, cut_7, cut_8
- Unit operations
- PreflashFired HeaterCDU
Opens live on the canvas — free, no install.
Explore the model & flowsheetFrequently 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
Crude distillation (preset cuts)
An atmospheric crude column fractionating a petroleum feed (naphtha → kerosene → diesel → residue) into ordered side cuts — refinery support via pseudos.
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 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.
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.
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).
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.