Exergy Workflows
OpenPinch exposes exergy targeting as an advanced post-processing workflow on top of an already solved thermal target.
Question This Guide Answers
How do I enrich an existing OpenPinch thermal target with exergy metrics and exergetic graph views?
Typical Workflow
solve the base thermal case
choose the target family whose GCC or net-load view you want to interpret
run the exergy workflow on that existing result
inspect the exergy summary fields and exergetic graph payloads together
Python Surface
The main user-facing route is:
problem = PinchProblem("pulp_mill.json")
problem.target()
exergy_target = problem.target.exergy()
problem.target.exergy() does not create a separate target family. It returns
the selected existing target after enriching it with:
exergy_sourcesexergy_sinksETEexergy_req_minexergy_des_min
Base Target Selection
By default, problem.target.exergy() resolves the first compatible existing
target family in this order:
Total Site -> Indirect Heat Pump -> Direct Heat Pump -> Direct Integration.
To pin one exact family and disable fallback, pass
options={"base_target_type": "..."}.
Unlike the main thermal targeting accessors, the exergy workflow expects that the requested target family already exists for the selected zone and state. If it does not, run the corresponding base targeting accessor first.
Typical explicit pattern:
problem.target.indirect_heat_integration(state_id="peak")
ts_exergy = problem.target.exergy(
state_id="peak",
options={"base_target_type": "Total Site Target"},
)
Graphs
The exergy workflow also restores two graph accessors:
problem.plot.exergetic_grand_composite_curve(...)problem.plot.exergetic_net_load_profiles(...)
Example:
problem.target.direct_heat_integration()
exergy_target = problem.target.exergy(
options={"base_target_type": "Direct Integration"},
)
gcc_x = problem.plot.exergetic_grand_composite_curve()
nlp_x = problem.plot.exergetic_net_load_profiles()
Interpretation Notes
Read the exergy result after the thermal picture is already understood.
Use this order:
confirm which thermal target family was enriched
inspect
exergy_sourcesandexergy_sinksinspect
exergy_req_minandexergy_des_mininspect the exergetic GCC and exergetic net-load profiles
Zone and State Scope
The same high-level targeting controls are available here:
zone_name=...for one zone in the hierarchyinclude_subzones=Trueto enrich a selected subtreestate_id=...for one canonical state
When include_subzones=True is used, exergy targeting is applied in
post-order so child zones are solved before any site-level exergy enrichment
that depends on their existing targets.
Next Steps
For graph reading guidance, see Graphing and Interpretation.
For the exact wrapper surface, see PinchProblem.
For the lower-level service boundary, see Service Layer.