Workflow Map

OpenPinch has several valid entrypoints. Choose by what owns the study state and how much control you need.

Choose an Entrypoint

Use PinchProblem when:

  • you are solving one active case

  • inputs come from JSON, Excel, CSV, sample cases, TargetInput, or mappings

  • you want validation, targeting, summaries, graphs, exports, period selection, advanced target accessors, and HEN design from one object

Use PinchWorkspace when:

  • the study has named baseline and variant cases

  • you need case copying, scenario edits, comparisons, or bundle save/load

  • an application needs serializable variant views as well as live cases

Use pinch_analysis_service when:

  • another system wants a typed TargetInput to TargetOutput boundary

  • you do not need wrapper state, period reruns, graph accessors, or exports

Use OpenPinch.resources when:

  • you need to list, inspect, read, or copy packaged sample cases and notebooks

  • you want examples without hard-coding repository paths

Use openpinch notebook when:

  • you want clean packaged notebooks copied from a shell

  • you do not need the command itself to solve or export anything

Use lower-level services when:

  • you need direct access to the prepared Zone hierarchy

  • you are extending OpenPinch or running research-oriented intermediate stages

Workflow Layering

notebooks / scripts / external applications
              |
              +--> openpinch notebook
              +--> OpenPinch.resources
              |
              v
PinchWorkspace / PinchProblem / pinch_analysis_service
              |
              v
     validation and data preparation
              |
              v
           Zone tree
              |
              v
direct / indirect / HPR / exergy / cogeneration / HEN services
              |
              v
    summaries + graph data + exports + design results

Common User Paths

First-time solve

PinchProblem("basic_pinch.json") -> validation_report -> target -> summary_frame

Named sensitivity study

PinchWorkspace(source=...) -> scenario -> compare_cases

Multiperiod study

problem.period_ids -> problem.target.*(period_id="peak") -> target_all_periods

Heat Pump screening

base direct/indirect target -> problem.target.direct_heat_pump(...) -> compare summary and graphs

Heat exchanger network synthesis

PinchProblem("Four-stream-Yee-and-Grossmann-1990-1.json") -> problem.design.enhanced_synthesis_method(quality_tier=2)

Direct process MVR

workspace.copy_case -> problem.add_component.process_mvr(...) -> re-solve -> compare_cases

Typed application integration

TargetInput -> pinch_analysis_service(...) -> TargetOutput

Next Steps