-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathformulations.jl
45 lines (37 loc) · 2.37 KB
/
formulations.jl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
############################ Hydro Generation Formulations #################################
# Defined in PSI copied here for reference
# abstract type PSI.AbstractHydroFormulation <: PSI.AbstractDeviceFormulation end
# abstract type PSI.AbstractHydroDispatchFormulation <: PSI.AbstractHydroFormulation end
# abstract type PSI.AbstractHydroUnitCommitment <: PSI.AbstractHydroFormulation end
abstract type AbstractHydroFormulation <: PSI.AbstractDeviceFormulation end
abstract type AbstractHydroDispatchFormulation <: AbstractHydroFormulation end
abstract type AbstractHydroReservoirFormulation <: AbstractHydroDispatchFormulation end
abstract type AbstractHydroUnitCommitment <: AbstractHydroFormulation end
"""
Formulation type to add injection variables constrained by total energy production budget defined with a time series for `HydroGen`
"""
struct HydroDispatchReservoirBudget <: AbstractHydroReservoirFormulation end
"""
Formulation type to constrain hydropower production with a representation of the energy storage capacity and water inflow time series of a reservoir for `HydroGen`
"""
struct HydroDispatchReservoirStorage <: AbstractHydroReservoirFormulation end
"""
Formulation type to constrain energy production from pumped storage with a representation of the energy storage capacity of upper and lower reservoirs and water inflow time series of upper reservoir and outflow time series of lower reservoir for `HydroPumpedStorage`
"""
struct HydroDispatchPumpedStorage <: AbstractHydroReservoirFormulation end
"""
Formulation type to add injection variables constrained by a maximum injection time series for `HydroGen`
"""
struct HydroDispatchRunOfRiver <: AbstractHydroDispatchFormulation end
"""
Formulation type to add commitment and injection variables constrained by total energy production budget defined with a time series for `HydroGen`
"""
struct HydroCommitmentReservoirBudget <: AbstractHydroReservoirFormulation end
"""
Formulation type to constrain hydropower production with unit commitment variables and a representation of the energy storage capacity and water inflow time series of a reservoir for `HydroGen`
"""
struct HydroCommitmentReservoirStorage <: AbstractHydroReservoirFormulation end
"""
Formulation type to add commitment and injection variables constrained by a maximum injection time series for `HydroGen`
"""
struct HydroCommitmentRunOfRiver <: AbstractHydroUnitCommitment end