High-CO2 LNG with amine capture and CO2 reinjection — a PENG-ROBINSON process flowsheet
One 5.3 Mtpa LNG train on a reservoir whose gas is 14 mol% CO₂, where the CO₂ is not vented but compressed to dense phase and injected — 2.8 Mtpa of it, at 200 bar, which is the scale that makes this a storage project rather than a gesture. Two things make this different from every other LNG example here. First, the acid-gas removal is real chemistry, in the same flowsheet as the cryogenics: per-node thermo_overrides run the absorber, the rich/lean loop and the stripper on the 'enrtl-mdea-pz' electrolyte package (MDEA protonation + piperazine carbamate/dicarbamate speciation) while the gas train and the cold end run Peng-Robinson — the amine unit and the MCHE are not two models bolted together, they are one solve. Second, the CO₂ goes somewhere: the stripper overhead is knocked back, two-stage compressed with interstage cooling and drying, and pumped to 200 bar as a ~96 mol% dense-phase stream ready for a reinjection well, rather than leaving as a vent. The sweet gas is water-washed, dried and liquefied in the C3MR cold end to LNG at ~116 K.
Modeling assumptions & limitations
- 1**the absorber drives CO₂ to exactly zero in the treated gas, and that is a model artifact, not a design result** — an equilibrium Kremser absorber against a reactive solvent has no mass-transfer resistance to leave a slip behind, so this flowsheet cannot tell you what the AGRU outlet spec should be. That number has to come from the freeze-out limit instead: `` (and the 'CO₂ freeze-out' analysis tab) puts it at a few hundred ppm at 116 K, which is why the real spec is <=50 ppmv with margin, and why this field's gas would plug the MCHE with dry ice ~1000x over if it were fed raw. Use the rate-based 'rate-based-amine-absorber' showcase for a contactor that does resolve a slip.
- 2The lean-amine loop is left OPEN (the regenerated solvent is a product, not recycled onto the absorber) with makeup steam as the reboiler surrogate — the same simplification 'mixed-amine-acid-gas-treating' discloses.
- 3Streams crossing the PR<->eNRTL boundary are rebased onto the shared 298.15 K ideal-gas datum, so the material balance and the datum are consistent, but the Kremser absorber attempts no rigorous energy balance of its own.
- 4The reservoir CO₂ content is representative of a high-CO₂ field; the injection well itself is out of scope — this train delivers CO₂ at wellhead conditions, it does not model the reservoir.
- 5Single-level precool and one MCHE bundle; refrigerant charges are set via tear_specs.
52 views 0 forks
- Rigorous PENG-ROBINSON thermodynamics, solved by the same engine every simulation runs on.
- 8 unit operations modeled: 2× Strip, 5× AC, 4× JTN, 3× Amine WASH, 4× K2, CO2 PUMP, 2× MCHE, DRUM.
- Focus areas: LNG, CCS, CO2 injection, Amine treating, MDEA, Piperazine, Multi-thermo, Cryogenics.
- Thermodynamics
- PENG-ROBINSON
- Components
- n2, methane, ethane, propane, co2, water, mdea, pz
- Unit operations
- 2× Strip5× AC4× JTN3× Amine WASH4× K2CO2 PUMP2× MCHEDRUM
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("barrow-island-lng-co2-injection")
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
Refinery acid-gas treating: MDEA/PZ absorber-stripper
Simultaneous CO₂ AND H₂S removal from a sour natural-gas / refinery off-gas stream by a piperazine-promoted MDEA solvent — the mixed-amine chemistry legacy tools reach for heavy rate-based/OLI add-ons to model. A high-pressure absorber contacts the sour gas with lean MDEA/PZ solvent (both acid gases absorb into the amine); the rich amine is heated and let down to a low-pressure steam stripper that drives the acid gases back off as a concentrated acid-gas stream and regenerates the lean solvent. Runs on the new 'enrtl-mdea-pz' electrolyte package: a generalized speciation (MDEA protonation + piperazine carbamate/dicarbamate + CO₂/HCO₃-/CO₃-- + H₂S/HS- + water) with Davies activity — it correctly reproduces piperazine's promotion (the blend holds more CO₂ at a given partial pressure than MDEA alone).
Rate-based reactive amine absorber (packed, MDEA/PZ)
A packed acid-gas absorber sized the way ChemSep / Aspen RateSep size one — by real mass-transfer rate over a PACKED HEIGHT, not an assumed stage count. Sour gas (CO₂ + H₂S in methane) contacts a piperazine-promoted MDEA solvent in a structured-packed column, and the recovery of each acid gas is set by three coupled pieces of physics: the Onda-Takeuchi-Okumoto (1968) gas/liquid film coefficients and wetted area over the packed height (the rate), a reaction-enhancement factor on the liquid film from the Hatta number (the reaction speeding up liquid-side transfer), and the reactive vapor-liquid equilibrium from the electrolyte 'enrtl-mdea-pz' package (the capacity). The result is a genuine design curve: CO₂ recovery climbs from ~85% at 0.3 m of packing to pipeline spec by ~1.5 m (5 ppm CO₂, 3 ppm H₂S) — run the built-in packed-height sweep to see it. A revealing rate-based insight the equilibrium-stage shortcut can't give: the fast amine reaction makes the liquid resistance negligible, so this absorber is gas-film-controlled — recovery barely moves with solvent rate but scales directly with packed height.
Blue hydrogen with rigorous amine capture (multi-thermo)
The blue-hydrogen train done properly: steam-methane reforming and water-gas-shift run on a cubic gas EoS (Peng-Robinson), while the CO₂ capture runs on the rigorous electrolyte amine package (MDEA/piperazine 'enrtl-mdea-pz') — two thermo methods in one flowsheet, via per-node thermo_overrides. This is what legacy tools do with a property-method 'section' and what the plain 'blue-hydrogen-smr-ccs' showcase couldn't (one package per flowsheet forced a component-separator stand-in for the capture). Here the shifted syngas is contacted with a lean MDEA/PZ solvent in an absorber that removes the CO₂ by real reactive equilibrium (H₂/CO/CH₄ pass through as insoluble gases), delivering ~94% H₂ with the CO₂ driven to trace and a rich amine at a realistic ~0.7 mol CO₂/mol amine loading.
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.
C3MR LNG liquefaction
A simplified APCI C3MR train: natural gas and the mixed refrigerant are precooled by a closed propane loop, liquefied to 120 K in a multi-stream main cryogenic exchanger against a closed N₂/C₁/C₂/C₃ refrigerant cycle, then let down to storage — LNG at ~115 K. Single-level precool and a single MCHE bundle (a real train uses three propane levels and two bundles); refrigerant charges are set via tear_specs.