OpenPinch 0.7.2__tar.gz → 0.7.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/application/_problem/accessors/design.py +13 -5
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/application/_problem/input/utilities.py +38 -21
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/application/commands.py +31 -5
- {openpinch-0.7.2 → openpinch-0.7.4}/PKG-INFO +6 -1
- {openpinch-0.7.2 → openpinch-0.7.4}/README.md +5 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/pyproject.toml +1 -1
- {openpinch-0.7.2 → openpinch-0.7.4}/.gitignore +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/LICENSE +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/__main__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/adapters/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/adapters/io/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/adapters/io/csv.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/adapters/io/file_exports.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/adapters/io/json.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/adapters/io/problem_sources.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/adapters/io/records.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/adapters/io/tabular.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/adapters/io/workbook.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/adapters/io/workspace_bundles.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/adapters/optional_dependencies.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/economics.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/energy_transfer/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/energy_transfer/cascade.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/energy_transfer/diagram.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/energy_transfer/selection.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/energy_transfer/serialization.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/energy_transfer/service.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/exergy/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/exergy/service.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/graphs/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/graphs/composite.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/graphs/grand_composite.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/graphs/metadata.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/graphs/primitives.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/graphs/service.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/graphs/specifications.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/context.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/controllability.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/duty_optimisation.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/errors.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/execution/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/execution/executor.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/execution/fake_executor.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/execution/fallbacks.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/execution/pathways.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/execution/settings.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/execution/task_builders.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/extraction/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/extraction/metadata.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/extraction/period_state.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/extraction/recovery.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/extraction/segment_area.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/extraction/service.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/extraction/utility.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/indexing.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/models/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/models/_base/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/models/_base/alpha.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/models/_base/approach.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/models/_base/area.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/models/_base/costing.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/models/_base/execution.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/models/_base/parameters.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/models/_base/piecewise.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/models/_base/superstructure.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/models/_pinch_design/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/models/_pinch_design/amalgamation.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/models/_pinch_design/equations.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/models/_pinch_design/postprocess.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/models/_pinch_design/preprocessing.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/models/_stagewise/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/models/_stagewise/equations.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/models/_stagewise/evolution.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/models/_stagewise/objectives.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/models/_stagewise/postprocess.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/models/_stagewise/setup.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/models/_stagewise/verification.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/models/_stagewise/warm_start.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/models/base.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/models/fixed_structure.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/models/packed_pinch_design.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/models/packed_stagewise.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/models/pinch_decomposition.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/models/problem.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/models/stage_packing.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/models/stagewise.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/models/thermal_profiles.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/prepared_problem.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/reporting/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/reporting/exports.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/reporting/ranking.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/reporting/verification.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/results/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/results/assembly.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/results/seeds.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/results/selection.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/service.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/solver/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/solver/arrays.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/solver/backend.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/solver/dependencies.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/solver/piecewise.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/solver/pinch_design_decomposition.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/targeting/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/targeting/_stage.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/targeting/network_evolution_method.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/targeting/open_hens_method.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/targeting/pinch_design_method.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/targeting/thermal_derivative_method.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/targeting/topology.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/_multiperiod/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/_multiperiod/aggregation.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/_multiperiod/execution.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/_multiperiod/preparation.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/_multiperiod/setup.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/_multiperiod/state.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/_process_mvr/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/_process_mvr/membership.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/_process_mvr/replacement_streams.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/_process_mvr/selection.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/_process_mvr/state.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/_process_mvr/values.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/_process_mvr/work.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/common/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/common/_shared/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/common/_shared/air.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/common/_shared/plotting.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/common/_shared/streams.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/common/encoding.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/common/layout.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/common/load_selection.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/common/multi_vc_objective.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/common/postprocessing.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/common/preprocessing.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/common/shared.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/common/units.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/components.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/cycles/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/cycles/_multi_cycle_base.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/cycles/brayton_heat_pump.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/cycles/carnot_cycles.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/cycles/cascade_vapour_compression_cycle.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/cycles/mechanical_vapour_recompression_cycle.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/cycles/parallel_vapour_compression_cycles.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/cycles/vapour_compression_cycle.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/cycles/vapour_compression_mvr_cascade.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/direct_mvr/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/direct_mvr/execution.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/direct_mvr/models.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/direct_mvr/thermodynamics.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/direct_mvr/units.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/optimisation_adapter.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/performance_maps/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/performance_maps/adapters/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/performance_maps/adapters/coolprop.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/performance_maps/adapters/tespy.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/performance_maps/characteristics/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/performance_maps/characteristics/openpinch-single-stage-compressor-v1.json +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/performance_maps/context.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/performance_maps/coolprop_preflight.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/performance_maps/errors.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/performance_maps/factory.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/performance_maps/fluids.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/performance_maps/generation.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/performance_maps/models.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/performance_maps/points.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/performance_maps/protocols.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/performance_maps/provenance.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/performance_maps/resources.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/performance_maps/settings.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/performance_maps/target_basis.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/performance_maps/target_records.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/performance_maps/targeting.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/performance_maps/targeting_models.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/process_mvr.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/service.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/targeting/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/targeting/_carnot_common.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/targeting/brayton.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/targeting/cascade_carnot.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/targeting/cascade_vapour_compression.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/targeting/parallel_carnot.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/targeting/parallel_vapour_compression.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/targeting/vapour_compression_mvr.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_transfer.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/numerics.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/orc/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/orc/carnot.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/orc/costing.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/orc/cycle.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/orc/inputs.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/orc/profile.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/orc/search.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/orc/service.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/orc/simulated.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/parallelism.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/power/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/power/service.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/power/steam_turbine.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/targeting/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/targeting/area_cost.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/targeting/cascade.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/targeting/context.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/targeting/direct.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/targeting/grand_composite.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/targeting/heat_recovery_dt_min.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/targeting/indirect.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/targeting/residual.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/targeting/temperature_driving_force.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/targeting/utilities.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/thermodynamics/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/thermodynamics/water.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/utility_placement/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/utility_placement/allocation.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/utility_placement/bounds.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/utility_placement/codec.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/utility_placement/context.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/utility_placement/errors.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/utility_placement/evaluation.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/utility_placement/normalization.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/utility_placement/optimisation.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/utility_placement/penalties.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/utility_placement/profiles.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/utility_placement/replay.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/utility_placement/service.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/utility_placement/start_points.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/utility_placement/thermodynamics.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/utility_placement/units.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/application/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/application/_problem/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/application/_problem/accessors/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/application/_problem/accessors/component.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/application/_problem/accessors/plot.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/application/_problem/accessors/target.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/application/_problem/arguments.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/application/_problem/input/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/application/_problem/input/canonicalization.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/application/_problem/input/construction.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/application/_problem/input/loading.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/application/_problem/input/segments.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/application/_problem/input/semantics.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/application/_problem/input/validation.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/application/_problem/output/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/application/_problem/output/reporting.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/application/_problem/output/result_extraction.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/application/_problem/periods/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/application/_problem/periods/aggregation.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/application/_problem/targeting/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/application/_problem/targeting/catalog.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/application/_problem/targeting/dispatch.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/application/_problem/targeting/execution.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/application/_problem/targeting/provenance.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/application/_problem/targeting/state.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/application/_workspace/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/application/_workspace/case_inputs.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/application/_workspace/state.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/application/case_derivation.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/application/heat_recovery_dt_min.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/application/hpr_selection.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/application/problem.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/application/residual_utility.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/application/targeting.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/application/utility_placement.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/application/workspace.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/contracts/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/contracts/common.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/contracts/controllability.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/contracts/graphs.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/contracts/heat_recovery_dt_min.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/contracts/hpr.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/contracts/hpr_performance_map.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/contracts/input.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/contracts/output.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/contracts/report_metrics.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/contracts/report_units.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/contracts/reporting.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/contracts/resources/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/contracts/resources/hpr_performance_map/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/contracts/resources/hpr_performance_map/heat-pump-1.0.json +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/contracts/resources/hpr_performance_map/refrigeration-1.0.json +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/contracts/resources/hpr_performance_map/schema-1.0.json +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/contracts/schema.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/contracts/synthesis/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/contracts/synthesis/common.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/contracts/synthesis/method.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/contracts/synthesis/result.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/contracts/synthesis/task.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/contracts/synthesis/topology.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/contracts/synthesis/view.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/contracts/turbine.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/contracts/units.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/contracts/utility_placement.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/contracts/workspace.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/domain/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/domain/_heat_exchanger/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/domain/_heat_exchanger/area.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/domain/_heat_exchanger/period_state.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/domain/_heat_exchanger/rules.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/domain/_heat_exchanger_network/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/domain/_heat_exchanger_network/types.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/domain/_problem_table/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/domain/_problem_table/constants.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/domain/_problem_table/equality.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/domain/_problem_table/intervals.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/domain/_problem_table/types.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/domain/_stream/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/domain/_stream/linearisation.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/domain/_stream/profile.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/domain/_stream/segment.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/domain/_stream/segments.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/domain/_stream/thermodynamics.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/domain/_stream/value_state.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/domain/_stream_collection/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/domain/_stream_collection/filters.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/domain/_stream_collection/numeric_view.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/domain/_stream_collection/serialization.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/domain/_stream_collection/sorting.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/domain/_validation.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/domain/_value/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/domain/_value/coercion.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/domain/_value/resolution.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/domain/_value/units.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/domain/analysis.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/domain/configuration.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/domain/configuration_fields.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/domain/enums.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/domain/fluids.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/domain/heat_exchanger.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/domain/heat_exchanger_network.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/domain/hpr.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/domain/problem_table.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/domain/progress.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/domain/solver_options.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/domain/stream.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/domain/stream_collection.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/domain/targets.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/domain/value.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/domain/zone.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/optimisation/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/optimisation/backends/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/optimisation/backends/_multistart.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/optimisation/backends/_surrogate.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/optimisation/backends/bayesian.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/optimisation/backends/cma_es.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/optimisation/backends/dual_annealing.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/optimisation/backends/protocol.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/optimisation/backends/rbf.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/optimisation/candidates.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/optimisation/errors.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/optimisation/execution.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/optimisation/feasibility.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/optimisation/models.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/optimisation/service.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/presentation/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/presentation/configuration.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/presentation/configuration_text.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/presentation/dashboard/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/presentation/dashboard/dashboard.css +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/presentation/dashboard/dependencies.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/presentation/dashboard/exports.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/presentation/dashboard/rendering.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/presentation/dashboard/state.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/presentation/graphs/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/presentation/graphs/plotly.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/presentation/graphs/problem.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/presentation/graphs/simple.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/presentation/network_grid/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/presentation/network_grid/_constants.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/presentation/network_grid/dependencies.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/presentation/network_grid/geometry.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/presentation/network_grid/labels.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/presentation/network_grid/layout.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/presentation/network_grid/plotly.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/presentation/network_grid/rendering.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/presentation/network_grid/results.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/presentation/network_grid/service.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/presentation/network_grid/state.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/presentation/network_grid/temperatures.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/presentation/network_grid/view.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/presentation/reporting/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/presentation/reporting/adapters.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/presentation/reporting/excel_text.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/presentation/reporting/hpr.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/presentation/reporting/problem_table.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/presentation/reporting/results.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/presentation/reporting/specialist.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/presentation/reporting/stream_collection.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/presentation/reporting/thermal.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/presentation/reporting/workbook.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/resources.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/tutorials/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/tutorials/notebooks/01_first_solve_and_core_curves.ipynb +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/tutorials/notebooks/02_focused_direct_and_total_site.ipynb +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/tutorials/notebooks/03_multisegment_streams.ipynb +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/tutorials/notebooks/04_workspace_cases_and_scenarios.ipynb +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/tutorials/notebooks/05_workspace_persistence.ipynb +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/tutorials/notebooks/06_multiperiod_heat_integration.ipynb +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/tutorials/notebooks/07_area_cost_and_exergy.ipynb +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/tutorials/notebooks/08_carnot_heat_pump_and_refrigeration.ipynb +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/tutorials/notebooks/09_vapour_compression.ipynb +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/tutorials/notebooks/10_multiperiod_heat_pumps.ipynb +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/tutorials/notebooks/11_process_mvr_and_cascade.ipynb +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/tutorials/notebooks/12_cogeneration.ipynb +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/tutorials/notebooks/13_multiperiod_cogeneration.ipynb +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/tutorials/notebooks/14_energy_transfer.ipynb +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/tutorials/notebooks/15_hen_synthesis_and_selection.ipynb +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/tutorials/notebooks/16_advanced_hen_methods.ipynb +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/tutorials/notebooks/17_multiperiod_hen_synthesis.ipynb +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/tutorials/notebooks/18_results_plots_reports_exports.ipynb +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/tutorials/notebooks/19_utility_placement_optimisation.ipynb +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/tutorials/notebooks/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/tutorials/sample_cases/Four-stream-Yee-and-Grossmann-1990-1.json +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/tutorials/sample_cases/__init__.py +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/tutorials/sample_cases/basic_pinch.json +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/tutorials/sample_cases/chocolate_factory.json +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/tutorials/sample_cases/crude_preheat_train.json +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/tutorials/sample_cases/crude_preheat_train_multiperiod.json +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/tutorials/sample_cases/dairy_chilling_multiperiod.json +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/tutorials/sample_cases/process_mvr.json +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/tutorials/sample_cases/pulp_mill.json +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/tutorials/sample_cases/zonal_site.json +0 -0
- {openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/tutorials/sample_cases/zonal_site_multiperiod.json +0 -0
|
@@ -20,6 +20,18 @@ if TYPE_CHECKING:
|
|
|
20
20
|
from ...problem import PinchProblem
|
|
21
21
|
|
|
22
22
|
|
|
23
|
+
class UtilityChoiceError(ValueError):
|
|
24
|
+
"""A heater or cooler names no utility, and its side has several to choose from."""
|
|
25
|
+
|
|
26
|
+
def __init__(self, side: str, utilities: Sequence[str]) -> None:
|
|
27
|
+
super().__init__(
|
|
28
|
+
f"pass {side}_utility explicitly; the problem defines "
|
|
29
|
+
f"{len(utilities)} {side} utilities ({', '.join(utilities)})."
|
|
30
|
+
)
|
|
31
|
+
self.side = side
|
|
32
|
+
self.utilities = tuple(utilities)
|
|
33
|
+
|
|
34
|
+
|
|
23
35
|
def _set_if_supplied(values: dict[str, Any], key: str, value: Any) -> None:
|
|
24
36
|
if value is not None:
|
|
25
37
|
values[key] = value
|
|
@@ -479,11 +491,7 @@ class _DesignAccessor:
|
|
|
479
491
|
if getattr(utility.type, "value", utility.type) == kind
|
|
480
492
|
]
|
|
481
493
|
if len(names) != 1:
|
|
482
|
-
|
|
483
|
-
raise ValueError(
|
|
484
|
-
f"pass {side}_utility explicitly; the problem defines "
|
|
485
|
-
f"{len(names)} {side} utilities."
|
|
486
|
-
)
|
|
494
|
+
raise UtilityChoiceError(kind.lower(), names)
|
|
487
495
|
return names[0]
|
|
488
496
|
|
|
489
497
|
def optimise_duties(
|
|
@@ -4,7 +4,7 @@ from __future__ import annotations
|
|
|
4
4
|
|
|
5
5
|
from collections.abc import Mapping
|
|
6
6
|
from copy import deepcopy
|
|
7
|
-
from typing import List, Tuple
|
|
7
|
+
from typing import List, Sequence, Tuple
|
|
8
8
|
|
|
9
9
|
import numpy as np
|
|
10
10
|
|
|
@@ -82,7 +82,7 @@ def _get_hot_and_cold_utilities(
|
|
|
82
82
|
cu_t_max=cu_t_max,
|
|
83
83
|
dt_cont_multiplier=placement,
|
|
84
84
|
)
|
|
85
|
-
utilities_with_defaults = _add_default_utilities(
|
|
85
|
+
utilities_with_defaults, defaults = _add_default_utilities(
|
|
86
86
|
utilities=utilities_filled,
|
|
87
87
|
config=config,
|
|
88
88
|
add_default_hu=add_default_hu,
|
|
@@ -91,28 +91,23 @@ def _get_hot_and_cold_utilities(
|
|
|
91
91
|
cu_t_max=cu_t_max,
|
|
92
92
|
dt_cont_multiplier=placement,
|
|
93
93
|
)
|
|
94
|
+
# The streams built from the defaults this preparation added are marked
|
|
95
|
+
# (by identity, never by name: a given utility may be called HU or CU, and
|
|
96
|
+
# the collection may rename either), so targeting uses them only as a backup.
|
|
94
97
|
hot_utilities, utilities_left = _create_utilities_list(
|
|
95
98
|
utilities=utilities_with_defaults,
|
|
96
99
|
utility_type=StreamType.Hot.value,
|
|
97
100
|
dt_cont_multiplier=dt_cont_multiplier,
|
|
98
101
|
config=config,
|
|
102
|
+
defaults=defaults,
|
|
99
103
|
)
|
|
100
104
|
cold_utilities, _ = _create_utilities_list(
|
|
101
105
|
utilities=utilities_left,
|
|
102
106
|
utility_type=StreamType.Cold.value,
|
|
103
107
|
dt_cont_multiplier=dt_cont_multiplier,
|
|
104
108
|
config=config,
|
|
109
|
+
defaults=defaults,
|
|
105
110
|
)
|
|
106
|
-
# Mark the defaults this preparation added (never a user utility that is
|
|
107
|
-
# merely named HU or CU), so targeting uses them only as a backup.
|
|
108
|
-
for added, collection, name in (
|
|
109
|
-
(add_default_hu, hot_utilities, "HU"),
|
|
110
|
-
(add_default_cu, cold_utilities, "CU"),
|
|
111
|
-
):
|
|
112
|
-
if added:
|
|
113
|
-
for stream in collection:
|
|
114
|
-
if stream.name == name:
|
|
115
|
-
mark_default_utility(stream)
|
|
116
111
|
prepared = hot_utilities + cold_utilities
|
|
117
112
|
period_ids = {
|
|
118
113
|
str(period_id): index
|
|
@@ -379,12 +374,26 @@ def _add_default_utilities(
|
|
|
379
374
|
hu_t_min: float,
|
|
380
375
|
cu_t_max: float,
|
|
381
376
|
dt_cont_multiplier: float = 1.0,
|
|
382
|
-
) -> List[UtilitySchema]:
|
|
383
|
-
"""Add default hot and cold utilities to the list
|
|
377
|
+
) -> Tuple[List[UtilitySchema], List[UtilitySchema]]:
|
|
378
|
+
"""Add default hot and cold utilities to the list; also return the defaults.
|
|
379
|
+
|
|
380
|
+
A default is named HU or CU, or HU_1, CU_1, ... when a given utility
|
|
381
|
+
already has that name, so the given one keeps its name.
|
|
382
|
+
"""
|
|
383
|
+
taken = {utility.name for utility in utilities}
|
|
384
|
+
|
|
385
|
+
def free(name: str) -> str:
|
|
386
|
+
chosen, counter = name, 1
|
|
387
|
+
while chosen in taken:
|
|
388
|
+
chosen, counter = f"{name}_{counter}", counter + 1
|
|
389
|
+
taken.add(chosen)
|
|
390
|
+
return chosen
|
|
391
|
+
|
|
392
|
+
defaults: List[UtilitySchema] = []
|
|
384
393
|
if add_default_hu:
|
|
385
|
-
|
|
394
|
+
defaults.append(
|
|
386
395
|
_create_default_utility(
|
|
387
|
-
"HU",
|
|
396
|
+
free("HU"),
|
|
388
397
|
StreamType.Hot.value,
|
|
389
398
|
hu_t_min,
|
|
390
399
|
config,
|
|
@@ -392,16 +401,17 @@ def _add_default_utilities(
|
|
|
392
401
|
)
|
|
393
402
|
)
|
|
394
403
|
if add_default_cu:
|
|
395
|
-
|
|
404
|
+
defaults.append(
|
|
396
405
|
_create_default_utility(
|
|
397
|
-
"CU",
|
|
406
|
+
free("CU"),
|
|
398
407
|
StreamType.Cold.value,
|
|
399
408
|
cu_t_max,
|
|
400
409
|
config,
|
|
401
410
|
dt_cont_multiplier=dt_cont_multiplier,
|
|
402
411
|
)
|
|
403
412
|
)
|
|
404
|
-
|
|
413
|
+
utilities.extend(defaults)
|
|
414
|
+
return utilities, defaults
|
|
405
415
|
|
|
406
416
|
|
|
407
417
|
def _create_default_utility(
|
|
@@ -435,8 +445,13 @@ def _create_utilities_list(
|
|
|
435
445
|
utility_type: str,
|
|
436
446
|
dt_cont_multiplier: float = 1.0,
|
|
437
447
|
config: Configuration = Configuration(),
|
|
448
|
+
defaults: Sequence[UtilitySchema] = (),
|
|
438
449
|
) -> Tuple[StreamCollection, List[UtilitySchema]]:
|
|
439
|
-
"""Create a sorted list of hot or cold Stream objects based on type.
|
|
450
|
+
"""Create a sorted list of hot or cold Stream objects based on type.
|
|
451
|
+
|
|
452
|
+
The stream built from each utility in ``defaults`` (the default HU and CU
|
|
453
|
+
added by preparation) is marked as a default utility.
|
|
454
|
+
"""
|
|
440
455
|
created_utilities = StreamCollection()
|
|
441
456
|
unassigned_utilities = utilities
|
|
442
457
|
|
|
@@ -520,8 +535,10 @@ def _create_utilities_list(
|
|
|
520
535
|
fluid_name=selected.fluid_name,
|
|
521
536
|
fluid_phase=selected.fluid_phase,
|
|
522
537
|
)
|
|
538
|
+
if any(selected is default for default in defaults):
|
|
539
|
+
mark_default_utility(created)
|
|
523
540
|
created_utilities.add(created, key)
|
|
524
|
-
|
|
541
|
+
created.delta_t_contribution_multiplier = dt_cont_multiplier
|
|
525
542
|
if selected.type == utility_type:
|
|
526
543
|
selected.active = False
|
|
527
544
|
|
|
@@ -38,7 +38,10 @@ from ..domain.targets import BaseTargetModel
|
|
|
38
38
|
from ..presentation.configuration import configuration_field_metadata
|
|
39
39
|
from ..presentation.reporting.hpr import hpr_failure_summary
|
|
40
40
|
from ..presentation.reporting.results import serialize_target
|
|
41
|
-
from ._problem.accessors.design import
|
|
41
|
+
from ._problem.accessors.design import (
|
|
42
|
+
HeatExchangerNetworkDesignView,
|
|
43
|
+
UtilityChoiceError,
|
|
44
|
+
)
|
|
42
45
|
from ._problem.input.validation import (
|
|
43
46
|
InputValidationWarning,
|
|
44
47
|
build_validation_report,
|
|
@@ -75,12 +78,26 @@ _SESSIONS: dict[str, _Session] = {}
|
|
|
75
78
|
|
|
76
79
|
|
|
77
80
|
class _DefaultUtilityWarning(UserWarning):
|
|
78
|
-
"""A default utility added
|
|
81
|
+
"""A default utility added because no given utility of its kind can serve.
|
|
82
|
+
|
|
83
|
+
``given`` names the problem's own utilities of that kind: none at all, or
|
|
84
|
+
ones that are too warm (cold) or too cool (hot), or capped, to take the
|
|
85
|
+
whole duty, in which case the default is a backup beside them.
|
|
86
|
+
"""
|
|
79
87
|
|
|
80
|
-
def __init__(self, name: str, kind: str) -> None:
|
|
81
|
-
|
|
88
|
+
def __init__(self, name: str, kind: str, given: list[str]) -> None:
|
|
89
|
+
if given:
|
|
90
|
+
enough = "cold enough" if kind == "cold" else "hot enough"
|
|
91
|
+
message = (
|
|
92
|
+
f"None of the given {kind} utilities is {enough} and uncapped; "
|
|
93
|
+
f"added the default {name!r} as a backup."
|
|
94
|
+
)
|
|
95
|
+
else:
|
|
96
|
+
message = f"No {kind} utility given; added the default {name!r}."
|
|
97
|
+
super().__init__(message)
|
|
82
98
|
self.name = name
|
|
83
99
|
self.kind = kind
|
|
100
|
+
self.given = given
|
|
84
101
|
|
|
85
102
|
|
|
86
103
|
def _load_problem(source: Mapping[str, Any]) -> PinchProblem:
|
|
@@ -106,9 +123,14 @@ def _load_problem(source: Mapping[str, Any]) -> PinchProblem:
|
|
|
106
123
|
("hot", problem.hot_utilities),
|
|
107
124
|
("cold", problem.cold_utilities),
|
|
108
125
|
):
|
|
126
|
+
given = [
|
|
127
|
+
utility.name for utility in utilities if not is_default_utility(utility)
|
|
128
|
+
]
|
|
109
129
|
for utility in utilities:
|
|
110
130
|
if is_default_utility(utility):
|
|
111
|
-
warnings.warn(
|
|
131
|
+
warnings.warn(
|
|
132
|
+
_DefaultUtilityWarning(utility.name, kind, given), stacklevel=1
|
|
133
|
+
)
|
|
112
134
|
return problem
|
|
113
135
|
|
|
114
136
|
|
|
@@ -276,6 +298,7 @@ def _warnings_json(caught: list[warnings.WarningMessage]) -> list[dict[str, Any]
|
|
|
276
298
|
"details": {
|
|
277
299
|
"name": warning.message.name,
|
|
278
300
|
"kind": warning.message.kind,
|
|
301
|
+
"given": warning.message.given,
|
|
279
302
|
},
|
|
280
303
|
}
|
|
281
304
|
)
|
|
@@ -413,6 +436,7 @@ _ANALYSIS_FAILURES = (
|
|
|
413
436
|
HPRTargetingError,
|
|
414
437
|
HprTargetCompatibilityError,
|
|
415
438
|
OrcTargetingError,
|
|
439
|
+
UtilityChoiceError,
|
|
416
440
|
)
|
|
417
441
|
|
|
418
442
|
|
|
@@ -429,6 +453,8 @@ def _error_json(error: Exception) -> dict[str, Any]:
|
|
|
429
453
|
details = hpr_failure_summary(error)
|
|
430
454
|
elif isinstance(error, HprTargetCompatibilityError):
|
|
431
455
|
details = {"code": error.code}
|
|
456
|
+
elif isinstance(error, UtilityChoiceError):
|
|
457
|
+
details = {"side": error.side, "utilities": list(error.utilities)}
|
|
432
458
|
return {"type": type(error).__name__, "message": str(error), "details": details}
|
|
433
459
|
|
|
434
460
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: OpenPinch
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.4
|
|
4
4
|
Summary: An advanced pinch analysis and total site integration toolkit
|
|
5
5
|
Project-URL: Homepage, https://github.com/waikato-ahuora-smart-energy-systems/OpenPinch
|
|
6
6
|
Project-URL: Issues, https://github.com/waikato-ahuora-smart-energy-systems/OpenPinch/issues
|
|
@@ -63,6 +63,7 @@ Description-Content-Type: text/markdown
|
|
|
63
63
|
[](https://pypi.org/project/OpenPinch/)
|
|
64
64
|
[](https://pypi.org/project/OpenPinch/)
|
|
65
65
|
[](LICENSE)
|
|
66
|
+
[](https://doi.org/10.5281/zenodo.23619779)
|
|
66
67
|
|
|
67
68
|
OpenPinch is an open-source Python toolkit for advanced Pinch Analysis and
|
|
68
69
|
Total Site Integration. It supports direct and indirect heat integration
|
|
@@ -260,6 +261,10 @@ Timothy Gordon Walmsley, 2026. OpenPinch: An Open-Source Python Library for
|
|
|
260
261
|
Advanced Pinch Analysis and Total Site Integration. Process Integration and
|
|
261
262
|
Optimization for Sustainability. https://doi.org/10.1007/s41660-026-00729-6
|
|
262
263
|
|
|
264
|
+
Each release of the software is archived on Zenodo with its own DOI. The DOI
|
|
265
|
+
https://doi.org/10.5281/zenodo.23619779 always resolves to the latest release;
|
|
266
|
+
cite the DOI of the version you used, listed on its Zenodo page.
|
|
267
|
+
|
|
263
268
|
## Contributors
|
|
264
269
|
|
|
265
270
|
Founder: Tim Walmsley, University of Waikato
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
[](https://pypi.org/project/OpenPinch/)
|
|
6
6
|
[](https://pypi.org/project/OpenPinch/)
|
|
7
7
|
[](LICENSE)
|
|
8
|
+
[](https://doi.org/10.5281/zenodo.23619779)
|
|
8
9
|
|
|
9
10
|
OpenPinch is an open-source Python toolkit for advanced Pinch Analysis and
|
|
10
11
|
Total Site Integration. It supports direct and indirect heat integration
|
|
@@ -202,6 +203,10 @@ Timothy Gordon Walmsley, 2026. OpenPinch: An Open-Source Python Library for
|
|
|
202
203
|
Advanced Pinch Analysis and Total Site Integration. Process Integration and
|
|
203
204
|
Optimization for Sustainability. https://doi.org/10.1007/s41660-026-00729-6
|
|
204
205
|
|
|
206
|
+
Each release of the software is archived on Zenodo with its own DOI. The DOI
|
|
207
|
+
https://doi.org/10.5281/zenodo.23619779 always resolves to the latest release;
|
|
208
|
+
cite the DOI of the version you used, listed on its Zenodo page.
|
|
209
|
+
|
|
205
210
|
## Contributors
|
|
206
211
|
|
|
207
212
|
Founder: Tim Walmsley, University of Waikato
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/controllability.py
RENAMED
|
File without changes
|
{openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/duty_optimisation.py
RENAMED
|
File without changes
|
|
File without changes
|
{openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/execution/__init__.py
RENAMED
|
File without changes
|
{openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/execution/executor.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/execution/pathways.py
RENAMED
|
File without changes
|
{openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/execution/settings.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/extraction/service.py
RENAMED
|
File without changes
|
{openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/extraction/utility.py
RENAMED
|
File without changes
|
|
File without changes
|
{openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/models/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/models/_base/alpha.py
RENAMED
|
File without changes
|
|
File without changes
|
{openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/models/_base/area.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/models/base.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/models/problem.py
RENAMED
|
File without changes
|
|
File without changes
|
{openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/models/stagewise.py
RENAMED
|
File without changes
|
|
File without changes
|
{openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/prepared_problem.py
RENAMED
|
File without changes
|
{openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/reporting/__init__.py
RENAMED
|
File without changes
|
{openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/reporting/exports.py
RENAMED
|
File without changes
|
{openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/reporting/ranking.py
RENAMED
|
File without changes
|
|
File without changes
|
{openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/results/__init__.py
RENAMED
|
File without changes
|
{openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/results/assembly.py
RENAMED
|
File without changes
|
{openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/results/seeds.py
RENAMED
|
File without changes
|
{openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/results/selection.py
RENAMED
|
File without changes
|
|
File without changes
|
{openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/solver/__init__.py
RENAMED
|
File without changes
|
{openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/solver/arrays.py
RENAMED
|
File without changes
|
{openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/solver/backend.py
RENAMED
|
File without changes
|
|
File without changes
|
{openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/solver/piecewise.py
RENAMED
|
File without changes
|
|
File without changes
|
{openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/targeting/__init__.py
RENAMED
|
File without changes
|
{openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/targeting/_stage.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_exchanger_networks/targeting/topology.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/_multiperiod/aggregation.py
RENAMED
|
File without changes
|
|
File without changes
|
{openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/_multiperiod/preparation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openpinch-0.7.2 → openpinch-0.7.4}/OpenPinch/analysis/heat_pumps/_process_mvr/membership.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|