District-heating stratified thermal store (charge and discharge) — a STEAM process flowsheet
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.
1 views 0 forks
- Rigorous STEAM thermodynamics, solved by the same engine every simulation runs on.
- 1 unit operations modeled: 2× Store Discharge.
- Focus areas: Thermal storage, District heating, Stratified tank, Energy storage.
- Thermodynamics
- STEAM
- Components
- water
- Unit operations
- 2× Store Discharge
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("district-heating-stratified-store")
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
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.
Data center cooling: 1 MW IT load on warm-water free cooling
A 1 MW data hall cooled the way modern halls are: a warm-water loop — chilled-water supply at 27 °C rather than the legacy 7 °C — picks up the IT heat (10 K rise at 24 kg/s), hands it across a plate exchanger to a condenser-water loop, and an evaporative cooling tower rejects all of it to an 18 °C wet bulb with a 6 K approach. No chiller runs: that is free cooling, and it is only possible because the supply is warm — a 7 °C loop cannot be served by a tower whose water cannot get below the wet bulb plus its approach, which is the whole reason the industry moved to warm-water and ASHRAE's wider allowable envelopes. The tower reports the numbers a data-center operator is judged on: 24.6 mol/s (0.44 kg/s) of evaporation and 32.8 mol/s of makeup water at four cycles of concentration — the water-usage effectiveness (WUE) story. Sweep the IT load and watch the makeup water scale with it. Honest scope: the IT load is a specified duty (no per-rack or airflow model); both loops are drawn open, supply to return, where a plant recirculates with makeup; the tower is a heat and water balance with a Merkel characteristic, not a fill-vendor rating; and a thermal_storage block on the chilled loop would give the ride-through buffer a real hall carries for a chiller or tower trip.
Propane (R-290) heat pump heating a hydronic loop
A single-stage vapor-compression heat pump delivering heat to a space-heating water loop — the same cycle as a refrigerator, read from the hot end. Propane evaporates at 4.7 atm (273 K, an air- or ground-source evaporator at 0 °C), is compressed to 21 atm (condensing at 333 K, 60 °C) and condenses against the heating water in a real two-sided exchanger, so the delivered heat is a water stream you can read: 40 °C return warmed to 59 °C. A small makeup feed and purge close the refrigerant mass balance around the recycle, as in the refrigeration examples. Two numbers define the machine: 80 kW delivered for 28 kW of compressor work, a heating COP of 2.9 — 52% of the Carnot limit for this 60 K lift, which is where a real R-290 unit sits. Read COP on the flowsheet as the user variable cop_heating, or sweep the condensing pressure: from 18 to 27 atm the COP falls 3.2 → 2.6 as the lift grows, the trade every heat pump makes between water temperature and electricity. Honest scope: the compressor is a fixed isentropic efficiency, the condenser outlet is a specified subcooling, and there is no defrost, part-load or refrigerant-charge model. Below ~18 atm the specified 326 K condenser outlet sits above saturation and the cycle stops condensing — the sweep starts where the physics does.
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.
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.
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.