Skip to main content

Intervals Configuration

Function
IntervalsConfig
IntervalsConfig(; forbidden_match = Dict{Tuple{Symbol,Symbol}, Tuple{Float64,Float64}}(), node_rule = :both, T_interval_method = :default, T_nodes_specified = Float64[], maxΔT = 0, maxnumT = 0, mvr_config = MVRConfig(), use_clapeyron = false )

Create an interval-construction configuration object for `build_hen`.

Keyword Arguments

forbidden_matchDict{Tuple{Symbol,Symbol},Tuple{Float64,Float64}}= Dict{Tuple{Symbol,Symbol},Tuple{Float64,Float64}}()
Rules that prevent specific stream pairs from being matched, optionally with associated numeric bounds.
node_ruleSymbol= :both
Rule used to decide which temperature nodes are inserted when constructing the interval grid.
T_interval_methodSymbol= :default
Method used to build the temperature-interval structure.
T_nodes_specifiedVector{Float64}= Float64[]
User-specified temperature nodes to include explicitly in the interval construction.
maxΔTNumber= 0
Maximum temperature span allowed when subdividing or refining intervals.
maxnumTInteger= 0
Upper bound on the number of generated temperature nodes or intervals.
mvr_configMVRConfig= MVRConfig()
Configuration object for MVR-related interval handling.
use_clapeyronBool= false
Whether to use Clapeyron-based property calculations instead of the simpler default path.

Returns

IntervalsConfig
An `IntervalsConfig` instance that can be passed into `build_hen`.

Example

config = IntervalsConfig( node_rule=:both, T_interval_method=:default, maxΔT=10, maxnumT=20)

In practice, you only need to adjust this configuration when you want to control how temperature nodes are generated, limit interval refinement, explicitly specify temperature nodes, or enable more specialized thermodynamic handling.

For the 4SP1 example, the default settings are sufficient. After defining stream_data, you only need to write:

config = IntervalsConfig()

This creates the interval-configuration object that will later be passed into build_hen.