How to simulate rankine steam power cycle (pump -> boiler -> turbine -> condenser)
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.
- 1Open the ready-made model
Open the "Rankine steam power cycle (pump -> boiler -> turbine -> condenser)" 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 STEAM property package over water — already selected, so the phase equilibrium and enthalpy are physically consistent from the first run.
- 3Review the flowsheet
The flowsheet chains PUMP, Boiler, Turbine, Condenser. 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
- STEAM
- Components
- water
- Unit operations
- PUMPBoilerTurbineCondenser
Opens live on the canvas — free, no install.
Explore the model & flowsheetModeling assumptions & limitations
What this model captures, and what it deliberately does not — from the engineers who built it.
- 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%.
Frequently asked questions
- What does the Rankine steam power cycle (pump -> boiler -> turbine -> condenser) model simulate?
- 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.
- Which thermodynamic method does it use?
- The STEAM property package, over water — already selected. You can switch the method on the canvas before running.
- Which unit operations are in the flowsheet?
- It chains PUMP, Boiler, Turbine, Condenser. 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. Rankine steam power cycle (pump -> boiler -> turbine -> condenser) 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
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.
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.
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.
Flue-gas desulfurization: venturi wet scrubber
A coal/oil-fired power-plant stack gas (SO₂ in a hot N₂/CO₂/O₂/water flue) is cleaned in a high-energy venturi wet scrubber before the stack — the classic flue-gas-desulfurization (FGD) front end. The new venturi_scrubber unit op accelerates the gas through a throat where injected scrubbing water is atomized, and a stated fraction of the soluble SO₂ is absorbed into the drops and carried out as a slurry while the cleaned gas goes up the stack. Two cited pieces are computed: the momentum-exchange pressure drop ΔP = ρ_L·(Q_L/Q_G)·v_gt² (Calvert 1968; de Nevers — the L/G here is ~1.4 L/m³ and the throat runs 90 m/s, giving ~11 kPa, a real high-energy venturi), and the SO₂ removal (92% at this water rate) that drops the stack SO₂ to a fraction of the inlet.
Desiccant rotor HVAC — three-stage low-grade heat recovery
A desiccant dehumidification rotor whose regeneration air is preheated by three low-grade heat sources in ascending temperature order: a PVT (photovoltaic-thermal) collector loop at 40 °C, condenser heat rejected by the chiller at 50 °C, and a district-heating return at 55 °C. Cascading them warmest-last is the whole point — each coil lifts the air as far as its own source can reach, so the 55 °C district return is spent only on the final lift instead of being wasted on air that is still at ambient. Every coil leaves a 5 K approach at its hot end, which is what makes this solvable: a cold stream can never leave an exchanger hotter than the hot stream entering it, and in a series train each coil's outlet is the next one's inlet, so a target that looks reasonable in isolation becomes impossible two units downstream. The hot-side flows are sized so the water gives up its duty over a modest ΔT and stays above the air at the cold end as well — specifying the approach alone is not enough if the heat-capacity flow rates don't support it. The rotor's two halves are custom_block equation blocks (the regen side and the process side), and the process air is finished to a 16 °C supply condition by the evaporator coil.
Instrumentation: transmitters and controllers on the canvas
Field instruments are first-class wireable nodes here, not annotations. A flow transmitter and a pressure transmitter sit in the line, pass their stream through completely unchanged, and report their reading on a signal wire — a distinct edge kind that carries information rather than material — to a controller. In this let-down station the FT reads the 200 mol/s flowing through it and the PT reads the 20 bar downstream of the control valve. Each controller compares its reading against a setpoint and reports the measurement, the setpoint and its output. These two controllers are report-only, deliberately. Neither has an OUTPUT wire, so nothing is written back and the flowsheet solves once — this is the instrumentation and measurement layer on its own. Give a controller an output wire plus an output_param and the same machinery becomes a genuine closed loop: the output is written into the manipulated variable and the flowsheet re-converged through a Wegstein outer loop. Bounded: a signal edge never carries material, so it can never affect a mass or energy balance — which is exactly why a transmitter is safe to insert anywhere in a working flowsheet. The steady-state controller is proportional by default and therefore keeps a genuine offset (it converges the self-consistent operating point, not the setpoint); integral removes that offset. Derivative action needs a time history a single steady-state solve does not have.