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.
AbstractNLPForm <: AbstractGasFormulation
AbstractMINLPForm <: AbstractGasFormulation
AbstractMISOCPForm <: AbstractGasFormulation
AbstractMIPForm <: AbstractGasFormulation
AbstractLPForm <: AbstractGasFormulation
Gas Models
Each of these forms can be used as the type parameter for a GasModel, i.e.:
NLPGasModel = GenericGasModel(StandardNLPForm)
MINLPGasModel = GenericGasModel(StandardMINLPForm)
MISOCPGasModel = GenericGasModel(StandardMISOCPForm)
MIPGasModel = GenericGasModel(StandardMIPForm)
LPGasModel = GenericGasModel(StandardLPForm)
For details on GenericGasModel
, see the section on Gas Model.
User-Defined Abstractions
The user-defined abstractions begin from a root abstract like the AbstractGasFormulation
abstract type, i.e.
AbstractMyFooForm <: AbstractGasFormulation
StandardMyFooForm <: AbstractFooForm
FooGasModel = GenericGasModel{StandardFooForm}
NLP
GasModels.constraint_compressor_ratios
— Method.enforces pressure changes bounds that obey compression ratios for an undirected compressor.
constraints on pressure drop across a compressor
constraints on pressure drop across control valves that are undirected
GasModels.constraint_weymouth
— Method.Weymouth equation with absolute value
GasModels.constraint_weymouth_directed
— Method.Weymouth equation with one way direction
GasModels.constraint_weymouth_ne
— Method.Weymouth equation for an undirected expansion pipe
Weymouth equation for directed expansion pipes
MINLP
GasModels.constraint_weymouth
— Method.Weymouth equation with discrete direction variables
GasModels.constraint_weymouth_directed
— Method.Weymouth equation with one way direction
GasModels.constraint_weymouth_ne
— Method.Weymouth equation for an undirected expansion pipe
Weymouth equation for directed expansion pipes
MISOCP
GasModels.constraint_weymouth
— Method.Weymouth equation for an undirected pipe
GasModels.constraint_weymouth_directed
— Method.Weymouth equation with a pipe with one way flow
GasModels.constraint_weymouth_ne
— Method.Weymouth equation for an undirected expansion pipe
Weymouth equation for expansion pipes with undirected expansion pipes
GasModels.variable_mass_flow
— Method.GasModels.variable_mass_flow_ne
— Method.MIP
GasModels.constraint_compressor_ratios
— Method.Constraint: Compressor ratio constraints on pressure differentials–not applicable for MIP models
Constraint: Compressor ratio when the flow direction is constrained–not applicable for MIP models
Constraint: compressor ratios on a new compressor–not applicable for MIP models-not applicable for MIP models
Constraint: Pressure drop across an expansion compressor when direction is constrained-not applicable for MIP models
constraints on pressure drop across control valves that are undirected–not applicable for MIP models
Constraint: Pressure drop across a control valves when directions is constrained–not applicable for MIP models
Constraint: Constraints on pressure drop across valves where the valve can open or close–not applicable for MIP models
GasModels.constraint_pipe_pressure
— Method.Constraint: Constraints which define pressure drop across a pipe
Constraint: constraints on pressure drop across where direction is constrained
GasModels.constraint_pipe_pressure_ne
— Method.Constraint: constraints on pressure drop across an expansion pipe
Constraint: Pressure drop across an expansion pipe when direction is constrained–not applicable for MIP models
GasModels.constraint_short_pipe_pressure
— Method.Constraint: Constraint on pressure drop across a short pipe–not applicable for MIP models
GasModels.constraint_weymouth
— Method.Constraint: Weymouth equation–not applicable for MIP models
GasModels.constraint_weymouth_directed
— Method.Constraint: Weymouth equation with one way direction–not applicable for MIP models
GasModels.constraint_weymouth_ne
— Method.Constraint: Weymouth equation–not applicable for MIP models–not applicable for MIP models
Constraint: Weymouth equation–not applicable for MIP models–not applicable for MIP models
LP
GasModels.constraint_compressor_ratios
— Method.Constraint: Compressor ratio constraints on pressure differentials–not applicable for LP models
Constraint: Compressor ratio when the flow direction is constrained–not applicable for LP models
Constraint: compressor ratios on a new compressor–not applicable for MIP models-not applicable for LP models
Constraint: Pressure drop across an expansion compressor when direction is constrained-not applicable for LP models
constraints on pressure drop across control valves that are undirected–not applicable for LP models
Constraint: Pressure drop across a control valves when directions is constrained–not applicable for LP models
Constraint: Constraints on pressure drop across valves where the valve can open or close–not applicable for LP models
GasModels.constraint_pipe_pressure
— Method.Constraint: Constraints which define pressure drop across a pipe
Constraint: constraints on pressure drop across where direction is constrained
GasModels.constraint_pipe_pressure_ne
— Method.Constraint: constraints on pressure drop across an expansion pipe
Constraint: Pressure drop across an expansion pipe when direction is constrained–not applicable for LP models
GasModels.constraint_short_pipe_pressure
— Method.Constraint: Constraint on pressure drop across a short pipe–not applicable for LP models
GasModels.constraint_weymouth
— Method.Constraint: Weymouth equation–not applicable for LP models
GasModels.constraint_weymouth_directed
— Method.Constraint: Weymouth equation with one way direction–not applicable for LP models
GasModels.constraint_weymouth_ne
— Method.Constraint: Weymouth equation–not applicable for MIP models–not applicable for LP models
Constraint: Weymouth equation–not applicable for MIP models–not applicable for LP models
GasModels.variable_valve_operation
— Method.continous relaxation of variables associated with operating valves