MaximaLabs
All guides
Songdo, Incheon, South Korea

How to simulate 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.

Ambient Air
Process Air In
Pvt Heat Source
hot
cold
hot
cold
Pvt Coil
Pvt Heat Sink
Condenser Heat Source
hot
cold
hot
cold
Condenser Coil
Condenser Heat Sink
District Heat Source
hot
cold
hot
cold
District Coil
District Heat Sink
ƒ(x)
Regen Section
Regen Exhaust
ƒ(x)
Dehum Section
Evap Coil
Supply Air Out
  1. 1
    Open the ready-made model

    Open the "Desiccant rotor HVAC — three-stage low-grade heat recovery" model in the MaximaLabs workspace — no install, no license. It loads live on the canvas, ready to edit and run.

  2. 2
    Confirm the thermodynamics

    This process is modeled with the PENG-ROBINSON property package over air, water — already selected, so the phase equilibrium and enthalpy are physically consistent from the first run.

  3. 3
    Review the flowsheet

    The flowsheet chains 3× District Coil, 2× Dehum Section, Evap Coil. Every block is a real, solvable unit op you can reconfigure on the canvas.

  4. 4
    Run 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.

  5. 5
    Read 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.

What you'll build
Thermodynamics
PENG-ROBINSON
Components
air, water
Unit operations
3× District Coil2× Dehum SectionEvap Coil
Open this model in the workspace

Opens live on the canvas — free, no install.

Explore the model & flowsheet

Frequently asked questions

What does the Desiccant rotor HVAC — three-stage low-grade heat recovery model simulate?
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.
Which thermodynamic method does it use?
The PENG-ROBINSON property package, over air, water — already selected. You can switch the method on the canvas before running.
Which unit operations are in the flowsheet?
It chains 3× District Coil, 2× Dehum Section, Evap Coil. 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. Desiccant rotor HVAC — three-stage low-grade heat recovery 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

Zurich, Switzerland

Solid-sorbent fluidized-bed DAC with compression heat recovery

A second, lower-temperature DAC pathway alongside the liquid-KOH + rotary-kiln example: the captured CO₂ loads onto a solid sorbent, which regenerates in an indirectly-heated fluidized bed (real Wen-Yu minimum-fluidization sizing + Arrhenius desorption kinetics, the FluidizedBed) at 120 degC — the real low-temperature regime solid amine/physisorbent DAC sorbents actually use, versus the other example's ~977 degC calcination. The bed is fluidized by a recycled CO₂ sweep (self-sweep with product gas, a real design choice that sidesteps needing a steam-condensate knockout step). The desorbed CO₂ is compressed toward liquefaction pressure in one adiabatic stage — hot enough (~780 K discharge) that routing it through a heat exchanger against process utility water genuinely converts that water from subcooled liquid to a boiling mixed-phase stream before the CO₂ continues on to the same real liquefaction physics as the other DAC example.

Reference model

Multistream exchanger: one core, three streams, one free outlet

A cryogenic cold box is not a network of two-stream exchangers — it is one brazed-aluminium core with several streams exchanging heat simultaneously, and the multistream exchanger models it as such. Three streams share this core: 300 mol/s of 300 K feed gas being chilled, 250 mol/s of 190 K residue gas being rewarmed, and 60 mol/s of 200 K cold liquid. You specify outlet temperatures for all but one — 225 K for the feed gas, 280 K for the residue — and the remaining stream is the free one: its outlet, 230.1 K, is not specified but SOLVED, because it is what closes the adiabatic energy balance across the core. That is the correct number of degrees of freedom for an adiabatic exchanger, and specifying all three would over-specify it. The 1.08 MW duty and a composite-curve pinch check against a 3 K minimum approach come with it, so a specification that would need heat to flow the wrong way is rejected rather than reported. Bounded: this is a thermal feasibility and duty model, not a mechanical design. There is no core geometry, no layer stacking, no fin type, no per-stream pressure drop from passage dimensions — a real cold box datasheet needs all of those, and a vendor computes them from proprietary correlations.

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.

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.

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.

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.

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