Direct vs Indirect Integration

One of the most important distinctions in OpenPinch is the difference between direct integration and indirect integration.

Direct Integration

Direct integration is the classical process-level pinch problem:

  • process hot streams are matched against process cold streams

  • heat recovery happens directly inside the targeted system boundary

  • utilities cover the remaining deficits and surpluses

In OpenPinch, this is usually the first solve and the baseline answer. It is what most users mean by a direct pinch target.

Indirect Integration

Indirect integration operates one level up:

  • solved subzones are reduced to net thermal behavior

  • those net thermal segments are aggregated at a larger system boundary

  • utility-to-utility balancing is used to recover heat across zones through the wider utility system rather than only by direct process-to-process exchange

This is the foundation for Total Process and Total Site workflows.

Why The Answers Differ

Direct and indirect results differ because they do not use the same exchange mechanism or system boundary.

Direct integration answers:

How much recovery can be achieved inside this zone through direct thermal matching?

Indirect integration answers:

How much additional benefit emerges when solved subzones exchange energy through a utility-mediated higher-level system?

Hierarchy Matters

OpenPinch models these workflows through nested zones:

  • unit operation

  • process zone

  • site

  • extended multiscale labels where needed

Direct integration is usually meaningful at unit-operation or process-zone scope. Indirect integration becomes meaningful when multiple solved subzones can be aggregated into a higher-level system.

Practical Reading Rule

When comparing direct and indirect answers:

  • compare like with like by target row name

  • compare utility targets first

  • use graphs to explain why the change occurred

  • do not assume an indirect answer is always better; it is only better if the larger system boundary creates additional feasible recovery

OpenPinch Surfaces

Common user-facing routes are:

  • problem.target() for the default high-level workflow

  • problem.target.direct_heat_integration(…)

  • problem.target.indirect_heat_integration(…)

  • the CLI run and graph workflows