enex_analysis.gshpb_stc_preheat¶
GSHPB with SolarThermalCollector — mains_preheat placement.
Phase 3 restructuring: all simulation orchestration logic
(activation probe, result assembly, exergy calculation) is
implemented directly in this class. SolarThermalCollector
is used purely as a physics engine (calc_performance()),
with no dependency on step(), assemble_results(), or
calc_exergy().
Usage¶
from enex_analysis import SolarThermalCollector
from enex_analysis.gshpb_stc_preheat import GSHPB_STC_preheat
stc = SolarThermalCollector(A_stc=4.0)
model = GSHPB_STC_preheat(
stc=stc,
ref="R134a",
hp_capacity=15_000.0,
T_tank_w_lower_bound=55.0,
T_tank_w_upper_bound=65.0,
T_mix_w_out=42.0,
)
df = model.analyze_dynamic(...)
Classes
|
GSHPB + SolarThermalCollector in mains_preheat placement. |
- class enex_analysis.gshpb_stc_preheat.GSHPB_STC_preheat(*, stc, **kwargs)[source]¶
GSHPB + SolarThermalCollector in mains_preheat placement.
Physical configuration¶
The STC preheats mains cold water before it enters the storage tank. The raised inlet temperature (
T_tank_w_in_override_K) reduces the thermal load on the heat pump compressor.Orchestration responsibility¶
This class owns all simulation logic for the STC:
_run_subsystems: activation probe +calc_performance()→ setsT_tank_w_in_override_Kwhen active_augment_results: result column assembly (uses pump outlet temperature directly; no re-evaluation at solved tank temp)_postprocess: STC exergy calculation. Tank boundary corrections are not applied because the preheated inlet temperature is already reflected in the coreX_tank_w_in [W]column (X_in_tank_add = 0).
- type stc:
- param stc:
Pure physics engine. No
modeconstraint required.- type stc:
SolarThermalCollector
- type **kwargs:
- param **kwargs:
Forwarded to
GroundSourceHeatPumpBoiler.- raises TypeError:
If stc is not a
SolarThermalCollectorinstance.
- __init__(*, stc, **kwargs)[source]¶
- Parameters:
stc (
SolarThermalCollector)