Network Formulations
Type Hierarchy
We begin with the top of the hierarchy, where we can distinguish between gas flow models. Currently, there are two variations of the weymouth equations, one where the directions of flux are known and one where they are unknown.
AbstractDirectedGasFormulation <: AbstractGasFormulation
AbstractUndirectedGasFormulation <: AbstractGasFormulation
Each of these have a disjunctive form of the weymouth equations: The full non convex formulation and its conic relaxation.
AbstractMINLPForm <: AbstractGasFormulation
AbstractMISOCPForm <: AbstractGasFormulation
Gas Models
Each of these forms can be used as the type parameter for a GasModel, i.e.:
MINLPGasModel = GenericGasModel(StandardMINLPForm)
MISOCPGasModel = GenericGasModel(StandardMISOCPForm)
MIPGasModel = GenericGasModel(StandardMIPForm)
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}
Directed Models
Undirected Models
MINLP
GasModels.constraint_weymouth
— Method.Weymouth equation with discrete direction variables
GasModels.constraint_weymouth
— Method.Weymouth equation with discrete direction variables
GasModels.constraint_weymouth_directed
— Method.Weymouth equation with fixed direction
GasModels.constraint_weymouth_ne
— Method.Weymouth equation for an uexpansion pipe
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 a pipe
GasModels.constraint_weymouth
— Method.Weymouth equation for an undirected pipe
GasModels.constraint_weymouth_directed
— Method.Weymouth equation with a pipe with directed flow
GasModels.constraint_weymouth_ne
— Method.Weymouth equation for an expansion pipe
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.