Network Formulations
Type Hierarchy
We begin with the top of the hierarchy, where we can distinguish between gas flow models. There are currently five formulations supported in GasModels. Two full non convex formulations and three relaxations.
AbstractNLPModel <: AbstractGasModel
AbstractMINLPModel <: AbstractGasModel
AbstractMISOCPModel <: AbstractGasModel
AbstractMIPModel <: AbstractGasModel
AbstractLPModel <: AbstractGasModel
Gas Models
Each of these forms can be used as the type parameter for a GasModel, i.e.:
NLPGasModel <: AbstractNLPForm
MINLPGasModel <: AbstractMINLPModel
MISOCPGasModel <: AbstractMISOCPModel
MIPGasModel <: AbstractMIPModel
LPGasModel <: AbstractLPModel
For details on AbstractGasModel
, see the section on Gas Model.
User-Defined Abstractions
The user-defined abstractions begin from a root abstract like the AbstractGasModel
abstract type, i.e.
AbstractMyFooModel <: AbstractGasModel
StandardMyFooForm <: AbstractFooModel
FooGasModel = AbstractGasModel{StandardFooForm}
NLP
GasModels.constraint_compressor_energy
— MethodConstraint: constrains the energy of the compressor
GasModels.constraint_compressor_ratio_value
— MethodConstraint: constrains the ratio to be pi * ratio = pj
GasModels.constraint_compressor_ratios
— Methodenforces pressure changes bounds that obey compression ratios for an undirected compressor.
GasModels.constraint_compressor_ratios_ne
— Methodconstraints on pressure drop across a compressor
GasModels.constraint_on_off_regulator_pressure
— Methodconstraints on pressure drop across control valves that are undirected
GasModels.constraint_pipe_weymouth
— MethodWeymouth equation with absolute value
GasModels.constraint_pipe_weymouth_directed
— MethodWeymouth equation with one way direction
GasModels.constraint_pipe_weymouth_ne
— MethodWeymouth equation for an undirected expansion pipe
GasModels.constraint_pipe_weymouth_ne_directed
— MethodWeymouth equation for directed expansion pipes
GasModels.constraint_resistor_weymouth
— MethodWeymouth equation with absolute value
GasModels.constraint_resistor_weymouth_directed
— MethodWeymouth equation with one way direction
MINLP
MISOCP
MIP
GasModels.constraint_compressor_energy
— MethodConstraint: constrains the energy of the compressor
GasModels.constraint_compressor_ratio_value
— MethodConstraint: constrains the ratio to be pi * ratio = pj
GasModels.constraint_compressor_ratios
— MethodConstraint: Compressor ratio constraints on pressure differentials–not applicable for MIP models
GasModels.constraint_compressor_ratios_directed
— MethodConstraint: Compressor ratio when the flow direction is constrained–not applicable for MIP models
GasModels.constraint_compressor_ratios_ne
— MethodConstraint: compressor ratios on a new compressor–not applicable for MIP models-not applicable for MIP models
GasModels.constraint_compressor_ratios_ne_directed
— MethodConstraint: Pressure drop across an expansion compressor when direction is constrained-not applicable for MIP models
GasModels.constraint_on_off_regulator_pressure
— Methodconstraints on pressure drop across control valves that are undirected–not applicable for MIP models
GasModels.constraint_on_off_regulator_pressure_directed
— MethodConstraint: Pressure drop across a control valves when directions is constrained–not applicable for MIP models
GasModels.constraint_on_off_valve_pressure
— MethodConstraint: Constraints on pressure drop across valves where the valve can open or close–not applicable for MIP models
GasModels.constraint_pipe_pressure
— MethodConstraint: Constraints which define pressure drop across a pipe
GasModels.constraint_pipe_pressure_directed
— MethodConstraint: constraints on pressure drop across where direction is constrained
GasModels.constraint_pipe_pressure_ne
— MethodConstraint: constraints on pressure drop across an expansion pipe
GasModels.constraint_pipe_pressure_ne_directed
— MethodConstraint: Pressure drop across an expansion pipe when direction is constrained–not applicable for MIP models
GasModels.constraint_pipe_weymouth
— MethodConstraint: Weymouth equation–not applicable for MIP models
GasModels.constraint_pipe_weymouth_directed
— MethodConstraint: Weymouth equation with one way direction–not applicable for MIP models
GasModels.constraint_pipe_weymouth_ne
— MethodConstraint: Weymouth equation–not applicable for MIP models–not applicable for MIP models
GasModels.constraint_pipe_weymouth_ne_directed
— MethodConstraint: Weymouth equation–not applicable for MIP models–not applicable for MIP models
GasModels.constraint_resistor_pressure
— MethodConstraint: Constraints which define pressure drop across a resistor
GasModels.constraint_resistor_pressure_directed
— MethodConstraint: constraints on pressure drop across where direction is constrained
GasModels.constraint_resistor_weymouth
— MethodConstraint: Weymouth equation–not applicable for MIP models
GasModels.constraint_resistor_weymouth_directed
— MethodConstraint: Weymouth equation with one way direction–not applicable for MIP models
GasModels.constraint_short_pipe_pressure
— MethodConstraint: Constraint on pressure drop across a short pipe–not applicable for MIP models
LP
GasModels.constraint_compressor_energy
— MethodConstraint: constrains the energy of the compressor
GasModels.constraint_compressor_ratio_value
— MethodConstraint: constrains the ratio to be pi * ratio = pj
GasModels.constraint_compressor_ratios
— MethodConstraint: Compressor ratio constraints on pressure differentials–not applicable for LP models
GasModels.constraint_compressor_ratios_directed
— MethodConstraint: Compressor ratio when the flow direction is constrained–not applicable for LP models
GasModels.constraint_compressor_ratios_ne
— MethodConstraint: compressor ratios on a new compressor–not applicable for MIP models-not applicable for LP models
GasModels.constraint_compressor_ratios_ne_directed
— MethodConstraint: Pressure drop across an expansion compressor when direction is constrained-not applicable for LP models
GasModels.constraint_on_off_regulator_pressure
— Methodconstraints on pressure drop across control valves that are undirected–not applicable for LP models
GasModels.constraint_on_off_regulator_pressure_directed
— MethodConstraint: Pressure drop across a control valves when directions is constrained–not applicable for LP models
GasModels.constraint_on_off_valve_pressure
— MethodConstraint: Constraints on pressure drop across valves where the valve can open or close–not applicable for LP models
GasModels.constraint_pipe_pressure
— MethodConstraint: Constraints which define pressure drop across a pipe
GasModels.constraint_pipe_pressure_directed
— MethodConstraint: constraints on pressure drop across where direction is constrained
GasModels.constraint_pipe_pressure_drop_ne_directed
— MethodConstraint: Pressure drop across an expansion pipe when direction is constrained–not applicable for LP models
GasModels.constraint_pipe_pressure_ne
— MethodConstraint: constraints on pressure drop across an expansion pipe
GasModels.constraint_pipe_weymouth
— MethodConstraint: Weymouth equation–not applicable for LP models
GasModels.constraint_pipe_weymouth_directed
— MethodConstraint: Weymouth equation with one way direction–not applicable for LP models
GasModels.constraint_pipe_weymouth_ne
— MethodConstraint: Weymouth equation–not applicable for MIP models–not applicable for LP models
GasModels.constraint_pipe_weymouth_ne_directed
— MethodConstraint: Weymouth equation–not applicable for MIP models–not applicable for LP models
GasModels.constraint_resistor_pressure
— MethodConstraint: Constraints which define pressure drop across a resistor
GasModels.constraint_resistor_pressure_directed
— MethodConstraint: constraints on pressure drop across where direction is constrained
GasModels.constraint_resistor_pressure_drop_ne_directed
— MethodConstraint: Pressure drop across an expansion pipe when direction is constrained–not applicable for LP models
GasModels.constraint_resistor_weymouth
— MethodConstraint: Weymouth equation–not applicable for LP models
GasModels.constraint_resistor_weymouth_directed
— MethodConstraint: Weymouth equation with one way direction–not applicable for LP models
GasModels.constraint_short_pipe_pressure
— MethodConstraint: Constraint on pressure drop across a short pipe–not applicable for LP models
GasModels.variable_valve_operation
— Functioncontinous relaxation of variables associated with operating valves