pub enum VariableRef {
Show 19 variants
HydroStorage {
hydro_id: EntityId,
},
HydroTurbined {
hydro_id: EntityId,
block_id: Option<usize>,
},
HydroSpillage {
hydro_id: EntityId,
block_id: Option<usize>,
},
HydroDiversion {
hydro_id: EntityId,
block_id: Option<usize>,
},
HydroOutflow {
hydro_id: EntityId,
block_id: Option<usize>,
},
HydroGeneration {
hydro_id: EntityId,
block_id: Option<usize>,
},
HydroEvaporation {
hydro_id: EntityId,
},
HydroWithdrawal {
hydro_id: EntityId,
},
ThermalGeneration {
thermal_id: EntityId,
block_id: Option<usize>,
},
LineDirect {
line_id: EntityId,
block_id: Option<usize>,
},
LineReverse {
line_id: EntityId,
block_id: Option<usize>,
},
BusDeficit {
bus_id: EntityId,
block_id: Option<usize>,
},
BusExcess {
bus_id: EntityId,
block_id: Option<usize>,
},
PumpingFlow {
station_id: EntityId,
block_id: Option<usize>,
},
PumpingPower {
station_id: EntityId,
block_id: Option<usize>,
},
ContractImport {
contract_id: EntityId,
block_id: Option<usize>,
},
ContractExport {
contract_id: EntityId,
block_id: Option<usize>,
},
NonControllableGeneration {
source_id: EntityId,
block_id: Option<usize>,
},
NonControllableCurtailment {
source_id: EntityId,
block_id: Option<usize>,
},
}Expand description
Reference to a single LP variable in a generic constraint expression.
Each variant names the variable type and carries the entity ID. For
block-specific variables, block_id is None to sum over all blocks or
Some(i) to reference block i specifically.
The 19 variants cover the full variable catalog defined in
internal-structures.md §15 (table in the “Variable References” section).
Variants§
HydroStorage
Reservoir storage level for a hydro plant (stage-level, not block-specific).
HydroTurbined
Turbined water flow for a hydro plant (m³/s).
Fields
HydroSpillage
Spillage flow for a hydro plant (m³/s).
Fields
HydroDiversion
Diversion flow for a hydro plant (m³/s). Only valid for hydros with diversion.
Fields
HydroOutflow
Total outflow (turbined + spillage) for a hydro plant (m³/s).
Currently an alias for turbined + spillage. Future CEPEL formulations may turn this into an independent variable.
Fields
HydroGeneration
Electrical generation from a hydro plant (MW).
Fields
HydroEvaporation
Evaporation flow from a hydro reservoir (m³/s). Stage-level, not block-specific.
HydroWithdrawal
Water withdrawal from a hydro reservoir (m³/s). Stage-level, not block-specific.
ThermalGeneration
Electrical generation from a thermal unit (MW).
Fields
LineDirect
Direct (forward) power flow on a transmission line (MW).
Fields
LineReverse
Reverse power flow on a transmission line (MW).
Fields
BusDeficit
Load deficit (unserved energy) at a bus (MW).
Fields
BusExcess
Load excess (over-generation) at a bus (MW).
Fields
PumpingFlow
Pumped water flow at a pumping station (m³/s).
Fields
PumpingPower
Electrical power consumed by a pumping station (MW).
Fields
ContractImport
Energy imported via a contract (MW).
Fields
ContractExport
Energy exported via a contract (MW).
Fields
NonControllableGeneration
Generation from a non-controllable source (wind, solar, etc.) (MW).
Fields
NonControllableCurtailment
Curtailment of a non-controllable source (MW).
Trait Implementations§
Source§impl Clone for VariableRef
impl Clone for VariableRef
Source§fn clone(&self) -> VariableRef
fn clone(&self) -> VariableRef
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more