MaximaLabs
Back to gallery
Steam power station

Rankine steam power cycle (pump -> boiler -> turbine -> condenser) — a STEAM process flowsheet

The classic steam power cycle behind most of the world's electricity, on the rigorous IAPWS-97 steam properties. Feedwater is pressurized by a boiler-feed pump, fired to superheated steam in the boiler, expanded through a steam turbine to make shaft power, then condensed back to water in the surface condenser. The four Rankine components appear in order, and the numbers are the real thermodynamic ones: at 60 bar / 500 degC steam expanding to a 0.1-bar condenser vacuum the turbine makes ~18 MW of shaft work at 85% isentropic efficiency, the exhaust leaves the turbine as wet steam (~92% quality, the classic low-pressure blade-erosion concern), the condenser rejects ~40 MW to cooling water, and the feed pump costs only ~0.15 MW (the small back-work ratio that makes the Rankine cycle practical, since pressurizing a liquid is nearly free next to expanding a gas). Cycle thermal efficiency comes out ~28%. Every property (the superheat enthalpy, the isentropic expansion endpoint, the exhaust steam quality) is the real IAPWS steam-table value, not a correlation.

Modeling assumptions & limitations

  1. 1An open (once-through) view of the cycle rather than a physically closed loop (a real plant recirculates the condensate); no reheat or feedwater regeneration stage (a single expansion, no extraction), so the efficiency is the simple ideal-cycle figure, not a supercritical/reheat station's ~45%.

293 views 1 forks

Feedwater
PUMP
Boiler
extr
exh
Q out
Turbine
Condenser
Condensate
What this showcases
  • Rigorous STEAM thermodynamics, solved by the same engine every simulation runs on.
  • 4 unit operations modeled: PUMP, Boiler, Turbine, Condenser.
  • Focus areas: Rankine cycle, Steam turbine, Power generation, Boiler, IAPWS.
  • Verified fast convergence — a real, measured solve time, not an estimate.
Specification
Thermodynamics
STEAM
Components
water
Unit operations
PUMPBoilerTurbineCondenser
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("rankine-steam-power-cycle")
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

The Geysers, California, USA

Geothermal flash-steam power plant (~90 MW)

A single-flash geothermal power plant on the IAPWS steam tables. A liquid-dominated geothermal well arrives at 240 °C / 35 bar and flashes across a separator down to 8 bar: about 15% of the brine becomes saturated steam and the rest is reinjected. The steam drives a condensing turbine to a 10 kPa vacuum (82% isentropic, exhaust quality ~0.9 — a real wet-steam expansion), a water-cooled condenser drops it to ~46 °C condensate, and a hotwell pump lifts it for reinjection alongside the brine. It converges to 89.9 MW of turbine shaft power. The separator (flash) pressure is the plant's key design knob: the defaultSensitivity sweeps it, trading a larger steam fraction at low pressure against higher steam enthalpy at high pressure — the flash-pressure optimization every single-flash geothermal plant makes. It runs on the rigorous IAPWS-95 water properties (steam package), and the turbine tracks steam quality into the two-phase dome rather than assuming a dry expansion.

Reference model

Steam utility island: deaerator, boiler, desuperheater

The three units that stand between raw makeup water and steam a turbine can accept, on the IAPWS steam tables. The deaerator takes 500 mol/s of 300 K makeup and 40 mol/s of LP steam and returns 540 mol/s of saturated liquid at 5 bar (425 K) for 3.23 MW. It is a direct-contact heater, so the heating steam does not leave — it condenses into the feedwater and shows up in the outlet flow. That is the point of the unit: the reason a plant heats feedwater by injecting steam into it rather than through a tube bundle is that boiling the water is what strips the dissolved oxygen out of it. The boiler then absorbs 26.6 MW into the water and fires 31.3 MW to do it — the gap is the stack loss, and it is the number a fuel bill is written against, not the absorbed duty. The desuperheater takes that 720 K steam down to a 660 K target by spraying 25.96 mol/s of water into it. The spray rate is SOLVED, not specified: you state the temperature you want and the unit finds the water that achieves it, which is how an attemperator is actually specified. Note the outlet is 566 mol/s, more than entered it, the spray water becomes steam. Bounded: the deaerator is an equilibrium model, so it reports no rate-based O₂/CO₂ stripping (there is no residual-oxygen ppb number here, which is what a real deaerator is guaranteed on), and the desuperheater assumes the spray fully evaporates.

Container ship engine room, Port of Rotterdam, Netherlands

Organic Rankine Cycle — marine diesel exhaust waste-heat recovery

A closed R245fa Rankine loop recovers waste heat from a heavy marine diesel engine's exhaust: a two-stream boiler vaporizes the working fluid against the hot exhaust gas, a real isentropic-efficiency turbine expands it to shaft power, an ambient-cooled condenser returns it to saturated liquid, and a pump restores boiler pressure. The exhaust-gas composition is a representative combustion-product mix (N₂/CO₂/O₂/H₂O), not a specific engine's measured flue analysis.

NET Power demonstration plant, La Porte, Texas, USA

sCO2 Allam-Fetvedt oxy-combustion power cycle

Natural gas burns in near-pure oxygen, diluted by a large recycled supercritical-CO₂ flow instead of air's nitrogen — the oxy-combustion, near-critical-CO₂ cycle that yields pipeline-ready CO₂ with no separate capture step. Main compressor takes CO₂ from just above its critical point (310 K, 8 MPa vs. Tc=304 K/Pc=7.38 MPa) to 30 MPa; the combined CO2+combustion-product stream expands through a real isentropic-efficiency turbine, still supercritical throughout.

Reference model

Industrial steam boiler with capacity control

A natural-gas-fired water-tube boiler raising 50 t/h of steam at 42 bar and 400 C, with its three circuits and its capacity control on one flowsheet. Fuel: methane at 3 bar to the windbox. Combustion air / flue gas: an FD fan and a regenerative air preheater feed the burner at 15% excess air; the flame (adiabatic, 2252 K) then gives up its heat to the radiant evaporator, the superheater, the economizer and the air preheater in turn, and leaves the stack at 377 K with 3.0% O₂ dry. Steam: deaerated feedwater is pumped to 48 bar, warmed in the economizer, boiled in the evaporator and separated in the drum; saturated steam is superheated to 672.2 K and 2% is blown down. Capacity control: a steam-flow controller (FIC, integral action) sets the firing rate to hold the steam demand, a ratio station keeps combustion air at 15% excess, and the drum-level balance makes feedwater equal steam plus blowdown. At design it fires 49.92 mol/s of fuel (40.0 MW LHV); the evaporator takes 25.3 MW, the economizer 7.7 MW and the superheater 5.7 MW, for a direct efficiency of 96.7% LHV / 87.1% HHV. The heat-transfer banks are rated by UA, so a change of load redistributes the heat instead of reproducing it: run the sensitivity (70-100% load) and the superheat falls from 673 K to 605 K at 70%. Property method: pr-steam, Peng-Robinson for the gas with IAPWS-95 steam tables for pure water; plain Peng-Robinson puts 18% too little heat in the superheater. Bounds: no radiation or casing loss (a real boiler loses 1-2%, so efficiency reads high, and more so at part load); no dissociation in the flame; the radiant section is a fixed-UA exchanger, which overstates its absorption at deep turndown; no attemperator; and level and ratio control are the steady-state balances, not dynamic loops.

District-heating plant, Copenhagen, Denmark

District-heating stratified thermal store (charge and discharge)

A stratified hot-water thermal energy store on a district-heating loop, shown at one operating point in both directions. The charge leg sends 90 °C supply water through the store, which is standing at four layers of 350 / 335 / 320 / 305 K (hottest on top): the water exhausts in contact with the coldest layer and leaves at 305 K, so the whole 85 K drop goes into the store. The discharge leg draws 30 °C network return through the same store and takes it from the hottest layer, leaving at 350 K. That asymmetry is the entire reason to stratify — a fully mixed store holding the same energy would deliver its 328 K average. The blocks report the stored energy above the 300 K floor, the state of charge over the 300-360 K window, the standing loss through an 80 W/K vessel, and the time to full or empty at the current net rate. Honest scope: this is a steady-state picture — the store's layers do not move within a solve, and the two legs are drawn as separate blocks on one store. The transient (how far the thermocline travels over a six-hour charge, and what outlet temperature the morning discharge actually delivers as the hot layers are consumed) is the Thermal energy storage analysis tool.

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