MaximaLabs
Back to gallery
Container ship engine room, Port of Rotterdam, Netherlands

Organic Rankine Cycle — marine diesel exhaust waste-heat recovery — a PENG-ROBINSON process flowsheet

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.

Modeling assumptions & limitations

  1. 1The boiler's cold-outlet temperature is a fixed spec (not an approach-temperature/pinch rating against the real exhaust flow), so this demonstrates cycle convergence and net power, not a bounded heat-recovery-area design.

172 views 0 forks

Exhaust
Stack
PUMP
hot
cold
hot
cold
Boiler
Turbine
Condenser
What this showcases
  • Rigorous PENG-ROBINSON thermodynamics, solved by the same engine every simulation runs on.
  • 4 unit operations modeled: PUMP, Boiler, Turbine, Condenser.
  • Focus areas: ORC, Waste heat recovery, Marine, Closed loop, Rankine cycle.
Specification
Thermodynamics
PENG-ROBINSON
Components
r245fa, n2, co2, oxygen, 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("orc-marine-waste-heat")
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

Cold-storage terminal, Rotterdam, Netherlands

Ammonia refrigeration (−30 °C)

A closed single-stage ammonia vapor-compression cycle serving a −30 °C load: compressor → ambient condenser → JT valve → evaporator. The charge is set via tear_specs; metrics give duty and work (COP ≈ 2). From the ChemSep casebook (Refrigeration_Ammonia-30C).

Olefins complex, Baytown, Texas, USA

Propylene refrigeration (−30 °C)

Closed propylene cycle for −30 °C process cooling — the workhorse olefin-plant refrigerant. From the ChemSep casebook (Refrigeration_Propylene-30C).

Olefins complex, Baytown, Texas, USA

Propylene refrigeration (−50 °C)

The same propylene loop pulled to −50 °C by sub-atmospheric evaporation (0.8 bar) — COP drops as the lift grows. From the ChemSep casebook (Refrigeration_Propylene-50C).

Steam power station

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.

Ruhr Valley, Germany

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.

Songdo, Incheon, South Korea

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.

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