Thermodynamic cycle architecture¶
Every model in tmhp is the same closed refrigerant cycle wrapped
in a different source / sink pairing. That single piece of shared
machinery is what lets one library cover ASHPB, GSHPB, WSHPB, ASHP,
GSHP, and every subsystem variant on top — without rewriting the
thermodynamics each time. This page sketches the shared structure
and shows where each system family plugs into it.
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 cycle is the same code path for every system, a parameter sweep across refrigerants, source types, or subsystem combinations doesn’t require re-implementing the model — it requires picking a different class and a different schedule. The cycle-level invariants (energy balance, COP definitions, failure_reason semantics) therefore hold identically across the family, so a result from ASHPB is directly comparable to a result from GSHPB or WSHPB at the same operating point.