diff --git a/docs/make.jl b/docs/make.jl index 4092e05ee3..dda574be59 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -33,7 +33,6 @@ pages = OrderedDict( "Formulation Library" => Any[ "General" => "formulation_library/General.md", "Thermal Generation" => "formulation_library/ThermalGen.md", - "Hydro Generation" => "formulation_library/HydroGen.md", "Renewable Generation" => "formulation_library/RenewableGen.md", "Load" => "formulation_library/Load.md", "Network" => "formulation_library/Network.md", diff --git a/docs/src/formulation_library/HydroGen.md b/docs/src/formulation_library/HydroGen.md deleted file mode 100644 index 29704805f8..0000000000 --- a/docs/src/formulation_library/HydroGen.md +++ /dev/null @@ -1,134 +0,0 @@ -# `PowerSystems.HydroGen` Formulations - -Valid `DeviceModel`s for subtypes of `HydroGen` include the following: - -```@eval -using PowerSimulations -using PowerSystems -using DataFrames -using Latexify -combos = PowerSimulations.generate_device_formulation_combinations() -filter!(x -> x["device_type"] <: HydroGen, combos) -combo_table = DataFrame( - "Valid DeviceModel" => ["`DeviceModel($(c["device_type"]), $(c["formulation"]))`" for c in combos], - "Device Type" => ["[$(c["device_type"])](https://nrel-siip.github.io/PowerSystems.jl/stable/model_library/generated_$(c["device_type"])/)" for c in combos], - "Formulation" => ["[$(c["formulation"])](@ref)" for c in combos], - ) -mdtable(combo_table, latex = false) -``` - ---- - -## `HydroDispatchRunOfRiver` - -```@docs -HydroDispatchRunOfRiver -``` - -**Variables:** - -- [`ActivePowerVariable`](@ref): - - Bounds: [0.0, ] - - Default initial value: `PowerSystems.get_active_power(device)` -- [`ReactivePowerVariable`](@ref): - - Bounds: [0.0, ] - - Default initial value: `PowerSystems.get_reactive_power(device)` - -**Static Parameters:** - -- ``Pg^\text{min}`` = `PowerSystems.get_active_power_limits(device).min` -- ``Qg^\text{min}`` = `PowerSystems.get_reactive_power_limits(device).min` -- ``Qg^\text{max}`` = `PowerSystems.get_reactive_power_limits(device).max` - -**Time Series Parameters:** - -```@eval -using PowerSimulations -using PowerSystems -using DataFrames -using Latexify -combos = PowerSimulations.get_default_time_series_names(HydroGen, HydroDispatchRunOfRiver) -combo_table = DataFrame( - "Parameter" => map(x -> "[`$x`](@ref)", collect(keys(combos))), - "Default Time Series Name" => map(x -> "`$x`", collect(values(combos))), - ) -mdtable(combo_table, latex = false) -``` - -**Objective:** - -Creates an objective function term based on the [`VariableCost` Options](@ref) where the quantity term is defined as `` Pg``. - -**Expressions:** - -Adds ``Pg`` and ``Qg`` terms to the respective active and reactive power balance expressions created by the selected [Network Formulations](@ref) - -**Constraints:** - -```math -\begin{aligned} -& Pg^\text{min} \le Pg_t \le ActivePowerTimeSeriesParameter_t \\ -& Qg^\text{min} \le Qg_t \le Qg^\text{max} -\end{aligned} -``` - ---- - -## `HydroCommitmentRunOfRiver` - -```@docs -HydroCommitmentRunOfRiver -``` - -**Variables:** - -- [`ActivePowerVariable`](@ref): - - Bounds: [0.0, ] - - Default initial value: `PowerSystems.get_active_power(device)` -- [`ReactivePowerVariable`](@ref): - - Bounds: [0.0, ] - - Default initial value: `PowerSystems.get_reactive_power(device)` -- [`OnVariable`](@ref): - - Bounds: {0, 1} - - Default initial value: `PowerSystems.get_status(device)` - -**Static Parameters:** - -- ``Pg^\text{min}`` = `PowerSystems.get_active_power_limits(device).min` -- ``Qg^\text{min}`` = `PowerSystems.get_reactive_power_limits(device).min` -- ``Qg^\text{max}`` = `PowerSystems.get_reactive_power_limits(device).max` - -**Time Series Parameters:** - -```@eval -using PowerSimulations -using PowerSystems -using DataFrames -using Latexify -combos = PowerSimulations.get_default_time_series_names(HydroGen, HydroCommitmentRunOfRiver) -combo_table = DataFrame( - "Parameter" => map(x -> "[`$x`](@ref)", collect(keys(combos))), - "Default Time Series Name" => map(x -> "`$x`", collect(values(combos))), - ) -mdtable(combo_table, latex = false) -``` - -**Objective:** - -Creates an objective function term based on the [`VariableCost` Options](@ref) where the quantity term is defined as ``Pg``. - -**Expressions:** - -Adds ``Pg`` and ``Qg`` terms to the respective active and reactive power balance expressions created by the selected [Network Formulations](@ref) - -**Constraints:** - -```math -\begin{aligned} -& Pg^\text{min} \le Pg_t \le ActivePowerTimeSeriesParameter_t \\ -& Pg_t - u_t Pg^\text{max} \le 0 \\ -& Pg_t - u_t Pg^\text{min} \ge 0 \\ -& Qg_t - u_t Qg^\text{max} \le 0 \\ -& Qg_t - u_t Qg^\text{min} \ge 0 -\end{aligned} -``` \ No newline at end of file diff --git a/src/operation/operation_problem_templates.jl b/src/operation/operation_problem_templates.jl index fb6a1f9206..800c0cdb1d 100644 --- a/src/operation/operation_problem_templates.jl +++ b/src/operation/operation_problem_templates.jl @@ -8,8 +8,6 @@ function _default_devices_uc() DeviceModel(PSY.ThermalStandard, ThermalBasicUnitCommitment), DeviceModel(PSY.RenewableDispatch, RenewableFullDispatch), DeviceModel(PSY.RenewableFix, FixedOutput), - DeviceModel(PSY.HydroEnergyReservoir, HydroDispatchRunOfRiver), - DeviceModel(PSY.HydroDispatch, HydroDispatchRunOfRiver), DeviceModel(PSY.PowerLoad, StaticPowerLoad), DeviceModel(PSY.InterruptiblePowerLoad, PowerLoadInterruption), DeviceModel(PSY.Line, StaticBranch), diff --git a/test/performance/performance_test.jl b/test/performance/performance_test.jl index b1a034afc4..f7b0145b29 100644 --- a/test/performance/performance_test.jl +++ b/test/performance/performance_test.jl @@ -7,6 +7,7 @@ const PSY = PowerSystems using Logging using PowerSystemCaseBuilder using PowerNetworkMatrices +using HydroPowerSimulations using HiGHS using Dates diff --git a/test/test_formulation_combinations.jl b/test/test_formulation_combinations.jl index eb1e1dbc98..763f19f595 100644 --- a/test/test_formulation_combinations.jl +++ b/test/test_formulation_combinations.jl @@ -10,10 +10,6 @@ item["formulation"] == PSI.ThermalBasicCompactUnitCommitment found_valid_device = true end - if item["device_type"] == PSY.ThermalStandard && - item["formulation"] == PSI.HydroDispatchRunOfRiver - found_invalid_device = true - end end for item in res["service_formulations"]