diff --git a/docs/Project.toml b/docs/Project.toml index db78f98971..fab2364752 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -7,6 +7,7 @@ Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" DocumenterTools = "35a29f4d-8980-5a13-9543-d66fff28ecb8" GLPK = "60bf3e95-4087-53dc-ae20-288a0d20c6a6" HiGHS = "87dc4568-4c63-4d18-b0c0-bb2238e4078b" +HydroPowerSimulations = "fc1677e0-6ad7-4515-bf3a-bd6bf20a0b1b" InfrastructureSystems = "2cd47ed4-ca9b-11e9-27f2-ab636a7671f1" Latexify = "23fbe1c1-3f47-55db-b15f-69d7ec21a316" PowerSimulations = "e690365d-45e2-57bb-ac84-44ba829e73c4" diff --git a/docs/src/formulation_library/General.md b/docs/src/formulation_library/General.md index 75ee8c70c2..71e3e552e6 100644 --- a/docs/src/formulation_library/General.md +++ b/docs/src/formulation_library/General.md @@ -25,6 +25,7 @@ No variables are created for `DeviceModel(<:DeviceType, FixedOutput)` ```@eval using PowerSimulations +using HydroPowerSimulations using PowerSystems using DataFrames using Latexify diff --git a/docs/src/modeler_guide/problem_templates.md b/docs/src/modeler_guide/problem_templates.md index 0262586a10..52eff0a56a 100644 --- a/docs/src/modeler_guide/problem_templates.md +++ b/docs/src/modeler_guide/problem_templates.md @@ -46,5 +46,6 @@ template_agc_reserve_deployment ```@example using PowerSimulations #hide +using HydroPowerSimulations #hide template_agc_reserve_deployment() ``` diff --git a/docs/src/tutorials/decision_problem.md b/docs/src/tutorials/decision_problem.md index eaa60e6b0b..b6d90126ef 100644 --- a/docs/src/tutorials/decision_problem.md +++ b/docs/src/tutorials/decision_problem.md @@ -13,6 +13,7 @@ building blocks for sequential simulations. This example shows how to specify an ```@example op_problem using PowerSystems using PowerSimulations +using HydroPowerSimulations using PowerSystemCaseBuilder using HiGHS # solver ``` @@ -64,8 +65,7 @@ for `HydroDispatch` and `RenewableFix` devices. set_device_model!(template_uc, ThermalStandard, ThermalStandardUnitCommitment) set_device_model!(template_uc, RenewableDispatch, RenewableFullDispatch) set_device_model!(template_uc, PowerLoad, StaticPowerLoad) -set_device_model!(template_uc, HydroDispatch, FixedOutput) -set_device_model!(template_uc, HydroDispatchRunOfRiver, HydroDispatchRunOfRiver) +set_device_model!(template_uc, HydroDispatch, HydroDispatchRunOfRiver) set_device_model!(template_uc, RenewableFix, FixedOutput) ``` diff --git a/docs/src/tutorials/pcm_simulation.md b/docs/src/tutorials/pcm_simulation.md index 5d33ea9a9a..048b49e8dd 100644 --- a/docs/src/tutorials/pcm_simulation.md +++ b/docs/src/tutorials/pcm_simulation.md @@ -15,6 +15,7 @@ This example is intended to be an extension of the ```@example pcm using PowerSystems using PowerSimulations +using HydroPowerSimulations const PSI = PowerSimulations using PowerSystemCaseBuilder using Dates @@ -67,6 +68,7 @@ with the slightly more complex `ThermalStandardUnitCommitment` for the thermal g ```@example pcm template_uc = template_unit_commitment() set_device_model!(template_uc, ThermalStandard, ThermalStandardUnitCommitment) +set_device_model!(template_uc, HydroDispatch, HydroDispatchRunOfRiver) ``` ### Define the reference model for the real-time economic dispatch diff --git a/src/core/auxiliary_variables.jl b/src/core/auxiliary_variables.jl index f929ad6b93..263615b30b 100644 --- a/src/core/auxiliary_variables.jl +++ b/src/core/auxiliary_variables.jl @@ -16,7 +16,14 @@ end get_entry_type(::AuxVarKey{T, U}) where {T <: AuxVariableType, U <: PSY.Component} = T get_component_type(::AuxVarKey{T, U}) where {T <: AuxVariableType, U <: PSY.Component} = U +""" +Auxiliary Variable for Thermal Generation Models to keep track of time elapsed on +""" struct TimeDurationOn <: AuxVariableType end + +""" +Auxiliary Variable for Thermal Generation Models to keep track of time elapsed off +""" struct TimeDurationOff <: AuxVariableType end """ diff --git a/src/core/variables.jl b/src/core/variables.jl index a4f228bdd4..51e7846400 100644 --- a/src/core/variables.jl +++ b/src/core/variables.jl @@ -59,10 +59,25 @@ Docs abbreviation: ``Pg^{out}`` """ struct ActivePowerOutVariable <: VariableType end +""" +Struct to dispatch the creation of Hot Start Variable for Thermal units with temperature considerations + +Docs abbreviation: TODO +""" struct HotStartVariable <: VariableType end +""" +Struct to dispatch the creation of Warm Start Variable for Thermal units with temperature considerations + +Docs abbreviation: TODO +""" struct WarmStartVariable <: VariableType end +""" +Struct to dispatch the creation of Cold Start Variable for Thermal units with temperature considerations + +Docs abbreviation: TODO +""" struct ColdStartVariable <: VariableType end """ @@ -104,8 +119,18 @@ struct ActivePowerReserveVariable <: VariableType end struct ServiceRequirementVariable <: VariableType end +""" +Struct to dispatch the creation of Binary Start Variables + +Docs abbreviation: TODO +""" struct StartVariable <: VariableType end +""" +Struct to dispatch the creation of Binary Stop Variables + +Docs abbreviation: TODO +""" struct StopVariable <: VariableType end struct SteadyStateFrequencyDeviation <: VariableType end @@ -128,8 +153,18 @@ struct SystemBalanceSlackDown <: VariableType end struct ReserveRequirementSlack <: VariableType end +""" +Struct to dispatch the creation of Voltage Magnitude Variables for AC formulations + +Docs abbreviation: TODO +""" struct VoltageMagnitude <: VariableType end +""" +Struct to dispatch the creation of Voltage Angle Variables for AC/DC formulations + +Docs abbreviation: TODO +""" struct VoltageAngle <: VariableType end """ @@ -170,12 +205,33 @@ Docs abbreviation: ``\\overleftarrow{Q}`` """ struct FlowReactivePowerToFromVariable <: VariableType end +""" +Struct to dispatch the creation of Phase Shifters Variables + +Docs abbreviation: TODO +""" struct PhaseShifterAngle <: VariableType end # Necessary as a work around for HVDCTwoTerminal models with losses +""" +Struct to dispatch the creation of HVDC Losses Auxiliary Variables + +Docs abbreviation: TODO +""" struct HVDCLosses <: VariableType end + +""" +Struct to dispatch the creation of HVDC Flow Direction Auxiliary Variables + +Docs abbreviation: TODO +""" struct HVDCFlowDirectionVariable <: VariableType end +""" +Struct to dispatch the creation of piecewise linear cost variables for objective function + +Docs abbreviation: TODO +""" struct PieceWiseLinearCostVariable <: VariableType end struct InterfaceFlowSlackUp <: VariableType end