Thermodynamic cycle architecture

Every released cycle-resolved model family in TMHP wraps the same closed refrigerant cycle with a different source / sink boundary. That single piece of shared machinery is what lets one library cover ASHPB, GSHPB, WSHPB, ASHP, GSHP, and subsystem variants on top — without rewriting the thermodynamics each time. This page sketches the shared structure and shows where each system family plugs into it.

The shared core

Every cycle-resolved family reuses the same closed cycle — only the blocks marked source side and sink side swap out per family. The interactive diagram is drawn in heating / DHW orientation. For ASHP and GSHP cooling, Q_r_iu > 0 maps the indoor unit to the evaporator and the environmental side to the condenser; output columns stay labelled by physical location.

Click a node to see its code mapping and API link.

Topology is fixed · scroll-wheel to zoom · drag empty space to pan

Heating / DHW orientation of the data flow shared by cycle-resolved TMHP families. Bold blocks are reused across ASHPB, GSHPB, WSHPB, ASHP, and GSHP.

TMHP released source and sink matrix showing DHW boiler families for air, ground, and water and space-conditioning families for air and ground.

Model-family view of TMHP. The refrigerant-cycle core stays fixed; released model families swap the environmental medium, demand boundary, and optional subsystems around that core.

The cycle solves four refrigerant state points (compressor in / out, expander in / out) plus the evaporator and condenser saturation states. Heat transfer at each heat exchanger is solved with an ε-NTU model. The evaporating temperature is left as a free parameter and chosen by minimizing compressor power, so the cycle closes on a physical optimum rather than on a fitted coefficient.

Per-source mechanics — the outdoor coil for ASHP/ASHPB, the g-function borehole for GSHP/GSHPB, and the prescribed water inlet for WSHPB — live on each model’s page under Models. The released demand boundary (DHW tank or building load) is documented the same way.

Composed subsystems

The *_stc_* and *_pv_ess variants reuse the same core cycle and add one or more subsystems on the demand side:

  • Solar thermal collector (STC) preheat — STC heats the mains water before it reaches the tank. Reduces the tank-charge duty the heat pump has to deliver.

  • STC with stratified tank — STC charges a separate top node of a stratified tank; the heat pump charges the bottom.

  • PV + ESS — photovoltaic generation feeds an energy storage system that supplies the compressor and auxiliary loads preferentially.

These are documented under Subsystems.

Why the structure matters

Because the refrigerant-cycle core is reused across the cycle-resolved families, a parameter sweep across refrigerants, source types, or subsystem combinations doesn’t require re-implementing the thermodynamics — it requires picking the appropriate released class and schedule. The cycle-level invariants (energy balance, COP definitions, failure_reason semantics) therefore hold identically across the family. Results from ASHPB, GSHPB, WSHPB, ASHP, and GSHP remain comparable when the operating point and source/sink boundary are matched.