From 723cf1b94bd223a6cea71eb897c0b127733e596e Mon Sep 17 00:00:00 2001 From: "Documenter.jl" Date: Wed, 13 Sep 2023 21:43:33 +0000 Subject: [PATCH] build based on c90011c --- .../PR1003/api/PowerSimulations/index.html | 40 +++++++------- .../developer/index.html | 2 +- .../extending_powersimulations/index.html | 2 +- .../troubleshooting/index.html | 2 +- .../formulation_library/Branch/index.html | 2 +- .../formulation_library/General/index.html | 4 +- .../formulation_library/Load/index.html | 6 +-- .../formulation_library/Network/index.html | 2 +- .../formulation_library/README/index.html | 2 +- .../RenewableGen/index.html | 6 +-- .../formulation_library/Service/index.html | 2 +- .../formulation_library/ThermalGen/index.html | 2 +- previews/PR1003/index.html | 2 +- .../structure_of_operation_problem/index.html | 2 +- .../troubleshooting/index.html | 2 +- .../debugging_infeasible_models/index.html | 2 +- .../modeler_guide/definitions/index.html | 2 +- .../PR1003/modeler_guide/logging/index.html | 2 +- .../modeler_guide/modeling_faq/index.html | 2 +- .../parallel_simulations/index.html | 2 +- .../problem_templates/index.html | 8 +-- .../modeler_guide/psi_structure/index.html | 2 +- .../running_a_simulation/index.html | 2 +- .../simulation_recorder/index.html | 2 +- .../modeler_guide/tips_and_tricks/index.html | 2 +- previews/PR1003/quick_start_guide/index.html | 2 +- previews/PR1003/search/index.html | 2 +- .../adding_new_device_formulation/index.html | 2 +- .../adding_new_problem_model/index.html | 2 +- .../basics_of_developing_models/index.html | 2 +- .../tutorials/decision_problem/index.html | 52 +++++++++---------- .../jl_Dy9uxn/rts-test/logs/simulation.log | 23 -------- .../jl_GSKlBR/rts-test/logs/simulation.log | 23 ++++++++ .../rts-test/recorder/execution.log | 0 .../rts-test/recorder/simulation_status.log | 0 .../tutorials/pcm_simulation/index.html | 10 ++-- 36 files changed, 111 insertions(+), 111 deletions(-) delete mode 100644 previews/PR1003/tutorials/jl_Dy9uxn/rts-test/logs/simulation.log create mode 100644 previews/PR1003/tutorials/jl_GSKlBR/rts-test/logs/simulation.log rename previews/PR1003/tutorials/{jl_Dy9uxn => jl_GSKlBR}/rts-test/recorder/execution.log (100%) rename previews/PR1003/tutorials/{jl_Dy9uxn => jl_GSKlBR}/rts-test/recorder/simulation_status.log (100%) diff --git a/previews/PR1003/api/PowerSimulations/index.html b/previews/PR1003/api/PowerSimulations/index.html index 2846fb7456..ef73b105aa 100644 --- a/previews/PR1003/api/PowerSimulations/index.html +++ b/previews/PR1003/api/PowerSimulations/index.html @@ -7,13 +7,13 @@ duals::Vector{DataType}, services::Vector{ServiceModel} attributes::Dict{String, Any} -)

Establishes the model for a particular device specified by type. Uses the keyword argument feedforward to enable passing values between operation model at simulation time

Arguments

Example

thermal_gens = DeviceModel(ThermalStandard, ThermalBasicUnitCommitment)
source

Formulations

Refer to the Formulations Page for each Abstract Device Formulation.

Problem Templates

Refer to the Problem Templates Page for available ProblemTemplates.

Problem Templates

Refer to the Problem Templates Page for available ProblemTemplates.

  - 

Service Models

List of structures and methods for Service models

PowerSimulations.ServiceModelType

Establishes the model for a particular services specified by type. Uses the keyword argument use_service_name to assign the model to a service with the same name as the name in the template. Uses the keyword argument feedforward to enable passing values between operation model at simulation time

Arguments

-::Type{D}: Power System Service Type -::Type{B}: Abstract Service Formulation

Accepted Key Words

  • feedforward::Array{<:AbstractAffectFeedforward} : use to pass parameters between models
  • use_service_name::Bool : use the name as the name for the service

Example

reserves = ServiceModel(PSY.VariableReserve{PSY.ReserveUp}, RangeReserve)

source

Decision Models

PowerSimulations.DecisionModelType
DecisionModel{M}(
+)

Establishes the model for a particular device specified by type. Uses the keyword argument feedforward to enable passing values between operation model at simulation time

Arguments

  • ::Type{D} where D<:PSY.Device: Power System Device Type
  • ::Type{B} where B<:AbstractDeviceFormulation: Abstract Device Formulation
  • feedforward::Array{<:AbstractAffectFeedforward} = Vector{AbstractAffectFeedforward}() : use to pass parameters between models
  • use_slacks::Bool = false : Add slacks to the device model. Implementation is model dependent and not all models feature slacks
  • duals::Vector{DataType} = Vector{DataType}(): use to pass constraint type to calculate the duals. The DataType needs to be a valid ConstraintType
  • time_series_names::Dict{Type{<:TimeSeriesParameter}, String} = get_default_time_series_names(D, B) : use to specify time series names associated to the device`
  • attributes::Dict{String, Any} = get_default_attributes(D, B) : use to specify attributes to the device

Example

thermal_gens = DeviceModel(ThermalStandard, ThermalBasicUnitCommitment)
source

Formulations

Refer to the Formulations Page for each Abstract Device Formulation.

Problem Templates

Refer to the Problem Templates Page for available ProblemTemplates.

Problem Templates

Refer to the Problem Templates Page for available ProblemTemplates.

  + 

Service Models

List of structures and methods for Service models

PowerSimulations.ServiceModelType

Establishes the model for a particular services specified by type. Uses the keyword argument use_service_name to assign the model to a service with the same name as the name in the template. Uses the keyword argument feedforward to enable passing values between operation model at simulation time

Arguments

-::Type{D}: Power System Service Type -::Type{B}: Abstract Service Formulation

Accepted Key Words

  • feedforward::Array{<:AbstractAffectFeedforward} : use to pass parameters between models
  • use_service_name::Bool : use the name as the name for the service

Example

reserves = ServiceModel(PSY.VariableReserve{PSY.ReserveUp}, RangeReserve)

source

Decision Models

PowerSimulations.DecisionModelType
DecisionModel{M}(
     template::ProblemTemplate,
     sys::PSY.System,
     jump_model::Union{Nothing, JuMP.Model}=nothing;
     kwargs...) where {M<:DecisionProblem}

Build the optimization problem of type M with the specific system and template.

Arguments

  • ::Type{M} where M<:DecisionProblem: The abstract operation model type
  • template::ProblemTemplate: The model reference made up of transmission, devices, branches, and services.
  • sys::PSY.System: the system created using Power Systems
  • jump_model::Union{Nothing, JuMP.Model}: Enables passing a custom JuMP model. Use with care
  • name = nothing: name of model, string or symbol; defaults to the type of template converted to a symbol.
  • optimizer::Union{Nothing,MOI.OptimizerWithAttributes} = nothing : The optimizer does not get serialized. Callers should pass whatever they passed to the original problem.
  • horizon::Int = UNSET_HORIZON: Manually specify the length of the forecast Horizon
  • warm_start::Bool = true: True will use the current operation point in the system to initialize variable values. False initializes all variables to zero. Default is true
  • system_to_file::Bool = true:: True to create a copy of the system used in the model.
  • initialize_model::Bool = true: Option to decide to initialize the model or not.
  • initialization_file::String = "": This allows to pass pre-existing initialization values to avoid the solution of an optimization problem to find feasible initial conditions.
  • deserialize_initial_conditions::Bool = false: Option to deserialize conditions
  • export_pwl_vars::Bool = false: True to export all the pwl intermediate variables. It can slow down significantly the build and solve time.
  • allow_fails::Bool = false: True to allow the simulation to continue even if the optimization step fails. Use with care.
  • optimizer_solve_log_print::Bool = false: Uses JuMP.unset_silent() to print the optimizer's log. By default all solvers are set to MOI.Silent()
  • detailed_optimizer_stats::Bool = false: True to save detailed optimizer stats log.
  • calculate_conflict::Bool = false: True to use solver to calculate conflicts for infeasible problems. Only specific solvers are able to calculate conflicts.
  • direct_mode_optimizer::Bool = false: True to use the solver in direct mode. Creates a JuMP.direct_model.
  • store_variable_names::Bool = false: to store variable names in optimization model. Decreases the build times.
  • rebuild_model::Bool = false: It will force the rebuild of the underlying JuMP model with each call to update the model. It increases solution times, use only if the model can't be updated in memory.
  • initial_time::Dates.DateTime = UNSET_INI_TIME: Initial Time for the model solve.
  • time_series_cache_size::Int = IS.TIME_SERIES_CACHE_SIZE_BYTES: Size in bytes to cache for each time array. Default is 1 MiB. Set to 0 to disable.

Example

template = ProblemTemplate(CopperPlatePowerModel, devices, branches, services)
-OpModel = DecisionModel(MockOperationProblem, template, system)
source
PowerSimulations.DecisionModelMethod
DecisionModel(
+OpModel = DecisionModel(MockOperationProblem, template, system)
source
PowerSimulations.DecisionModelMethod
DecisionModel(
     ::Type{M<:PowerSimulations.DecisionProblem},
     template::ProblemTemplate,
     sys::System
@@ -26,13 +26,13 @@
     kwargs...
 ) -> DecisionModel
 

Build the optimization problem of type M with the specific system and template

Arguments

  • ::Type{M} where M<:DecisionProblem: The abstract operation model type
  • template::ProblemTemplate: The model reference made up of transmission, devices, branches, and services.
  • sys::PSY.System: the system created using Power Systems
  • jump_model::Union{Nothing, JuMP.Model} = nothing: Enables passing a custom JuMP model. Use with care.

Example

template = ProblemTemplate(CopperPlatePowerModel, devices, branches, services)
-problem = DecisionModel(MyOpProblemType, template, system, optimizer)
source
PowerSimulations.DecisionModelMethod
DecisionModel(
+problem = DecisionModel(MyOpProblemType, template, system, optimizer)
source
PowerSimulations.DecisionModelMethod
DecisionModel(
     directory::AbstractString,
     optimizer::MathOptInterface.OptimizerWithAttributes;
     jump_model,
     system
 ) -> Any
-

Construct an DecisionProblem from a serialized file.

Arguments

  • directory::AbstractString: Directory containing a serialized model
  • jump_model::Union{Nothing, JuMP.Model} = nothing: The JuMP model does not get serialized. Callers should pass whatever they passed to the original problem.
  • optimizer::Union{Nothing,MOI.OptimizerWithAttributes} = nothing: The optimizer does not get serialized. Callers should pass whatever they passed to the original problem.
  • system::Union{Nothing, PSY.System}: Optionally, the system used for the model. If nothing and systofile was set to true when the model was created, the system will be deserialized from a file.
source
PowerSimulations.build!Method
build!(
+

Construct an DecisionProblem from a serialized file.

Arguments

  • directory::AbstractString: Directory containing a serialized model
  • jump_model::Union{Nothing, JuMP.Model} = nothing: The JuMP model does not get serialized. Callers should pass whatever they passed to the original problem.
  • optimizer::Union{Nothing,MOI.OptimizerWithAttributes} = nothing: The optimizer does not get serialized. Callers should pass whatever they passed to the original problem.
  • system::Union{Nothing, PSY.System}: Optionally, the system used for the model. If nothing and systofile was set to true when the model was created, the system will be deserialized from a file.
source
PowerSimulations.build!Method
build!(
     model::DecisionModel;
     output_dir,
     recorders,
@@ -40,7 +40,7 @@
     file_level,
     disable_timer_outputs
 )
-

Build the Decision Model based on the specified DecisionProblem.

Arguments

  • model::DecisionModel{<:DecisionProblem}: DecisionModel object
  • output_dir::String: Output directory for results
  • recorders::Vector{Symbol} = []: recorder names to register
  • console_level = Logging.Error:
  • file_level = Logging.Info:
  • disable_timer_outputs = false : Enable/Disable timing outputs
source
PowerSimulations.solve!Method
solve!(
+

Build the Decision Model based on the specified DecisionProblem.

Arguments

  • model::DecisionModel{<:DecisionProblem}: DecisionModel object
  • output_dir::String: Output directory for results
  • recorders::Vector{Symbol} = []: recorder names to register
  • console_level = Logging.Error:
  • file_level = Logging.Info:
  • disable_timer_outputs = false : Enable/Disable timing outputs
source
PowerSimulations.solve!Method
solve!(
     model::DecisionModel;
     export_problem_results,
     console_level,
@@ -50,13 +50,13 @@
     kwargs...
 ) -> RunStatus
 

Default solve method for models that conform to the requirements of DecisionModel{<: DecisionProblem}.

This will call build! on the model if it is not already built. It will forward all keyword arguments to that function.

Arguments

  • model::OperationModel = model: operation model
  • export_problem_results::Bool = false: If true, export ProblemResults DataFrames to CSV files. Reduces solution times during simulation.
  • console_level = Logging.Error:
  • file_level = Logging.Info:
  • disable_timer_outputs = false : Enable/Disable timing outputs
  • serialize::Bool = true: If true, serialize the model to a file to allow re-execution later.

Examples

results = solve!(OpModel)
-results = solve!(OpModel, export_problem_results = true)
source
  +results = solve!(OpModel, export_problem_results = true)source   

Emulation Models

PowerSimulations.EmulationModelType
EmulationModel{M}(
     template::ProblemTemplate,
     sys::PSY.System,
     jump_model::Union{Nothing, JuMP.Model}=nothing;
     kwargs...) where {M<:EmulationProblem}

Build the optimization problem of type M with the specific system and template.

Arguments

  • ::Type{M} where M<:EmulationProblem: The abstract Emulation model type
  • template::ProblemTemplate: The model reference made up of transmission, devices, branches, and services.
  • sys::PSY.System: the system created using Power Systems
  • jump_model::Union{Nothing, JuMP.Model}: Enables passing a custom JuMP model. Use with care
  • name = nothing: name of model, string or symbol; defaults to the type of template converted to a symbol.
  • optimizer::Union{Nothing,MOI.OptimizerWithAttributes} = nothing : The optimizer does not get serialized. Callers should pass whatever they passed to the original problem.
  • warm_start::Bool = true: True will use the current operation point in the system to initialize variable values. False initializes all variables to zero. Default is true
  • system_to_file::Bool = true:: True to create a copy of the system used in the model.
  • initialize_model::Bool = true: Option to decide to initialize the model or not.
  • initialization_file::String = "": This allows to pass pre-existing initialization values to avoid the solution of an optimization problem to find feasible initial conditions.
  • deserialize_initial_conditions::Bool = false: Option to deserialize conditions
  • export_pwl_vars::Bool = false: True to export all the pwl intermediate variables. It can slow down significantly the build and solve time.
  • allow_fails::Bool = false: True to allow the simulation to continue even if the optimization step fails. Use with care.
  • calculate_conflict::Bool = false: True to use solver to calculate conflicts for infeasible problems. Only specific solvers are able to calculate conflicts.
  • optimizer_solve_log_print::Bool = false: Uses JuMP.unset_silent() to print the optimizer's log. By default all solvers are set to MOI.Silent()
  • detailed_optimizer_stats::Bool = false: True to save detailed optimizer stats log.
  • direct_mode_optimizer::Bool = false: True to use the solver in direct mode. Creates a JuMP.direct_model.
  • store_variable_names::Bool = false: True to store variable names in optimization model.
  • rebuild_model::Bool = false: It will force the rebuild of the underlying JuMP model with each call to update the model. It increases solution times, use only if the model can't be updated in memory.
  • initial_time::Dates.DateTime = UNSET_INI_TIME: Initial Time for the model solve.
  • time_series_cache_size::Int = IS.TIME_SERIES_CACHE_SIZE_BYTES: Size in bytes to cache for each time array. Default is 1 MiB. Set to 0 to disable.

Example

template = ProblemTemplate(CopperPlatePowerModel, devices, branches, services)
-OpModel = EmulationModel(MockEmulationProblem, template, system)
source
PowerSimulations.EmulationModelMethod
EmulationModel(
+OpModel = EmulationModel(MockEmulationProblem, template, system)
source
PowerSimulations.EmulationModelMethod
EmulationModel(
     ::Type{M<:PowerSimulations.EmulationProblem},
     template::ProblemTemplate,
     sys::System
@@ -69,14 +69,14 @@
     kwargs...
 ) -> EmulationModel
 

Build the optimization problem of type M with the specific system and template

Arguments

  • ::Type{M} where M<:EmulationProblem: The abstract Emulation model type
  • template::ProblemTemplate: The model reference made up of transmission, devices, branches, and services.
  • sys::PSY.System: the system created using Power Systems
  • jump_model::Union{Nothing, JuMP.Model}: Enables passing a custom JuMP model. Use with care

Example

template = ProblemTemplate(CopperPlatePowerModel, devices, branches, services)
-problem = EmulationModel(MyEmProblemType, template, system, optimizer)
source
PowerSimulations.EmulationModelMethod
EmulationModel(
+problem = EmulationModel(MyEmProblemType, template, system, optimizer)
source
PowerSimulations.EmulationModelMethod
EmulationModel(
     directory::AbstractString,
     optimizer::MathOptInterface.OptimizerWithAttributes;
     jump_model,
     system,
     kwargs...
 ) -> Any
-

Construct an EmulationProblem from a serialized file.

Arguments

  • directory::AbstractString: Directory containing a serialized model.
  • optimizer::MOI.OptimizerWithAttributes: The optimizer does not get serialized. Callers should pass whatever they passed to the original problem.
  • jump_model::Union{Nothing, JuMP.Model} = nothing: The JuMP model does not get serialized. Callers should pass whatever they passed to the original problem.
  • system::Union{Nothing, PSY.System}: Optionally, the system used for the model. If nothing and systofile was set to true when the model was created, the system will be deserialized from a file.
source
PowerSimulations.build!Method
build!(
+

Construct an EmulationProblem from a serialized file.

Arguments

  • directory::AbstractString: Directory containing a serialized model.
  • optimizer::MOI.OptimizerWithAttributes: The optimizer does not get serialized. Callers should pass whatever they passed to the original problem.
  • jump_model::Union{Nothing, JuMP.Model} = nothing: The JuMP model does not get serialized. Callers should pass whatever they passed to the original problem.
  • system::Union{Nothing, PSY.System}: Optionally, the system used for the model. If nothing and systofile was set to true when the model was created, the system will be deserialized from a file.
source
PowerSimulations.build!Method
build!(
     model::EmulationModel;
     executions,
     output_dir,
@@ -85,7 +85,7 @@
     file_level,
     disable_timer_outputs
 )
-

Implementation of build for any EmulationProblem

source
PowerSimulations.run!Method
run!(
+

Implementation of build for any EmulationProblem

source
PowerSimulations.run!Method
run!(
     model::EmulationModel;
     export_problem_results,
     console_level,
@@ -95,7 +95,7 @@
     kwargs...
 ) -> RunStatus
 

Default run method for problems that conform to the requirements of EmulationModel{<: EmulationProblem}

This will call build! on the model if it is not already built. It will forward all keyword arguments to that function.

Arguments

  • model::EmulationModel = model: Emulation model
  • optimizer::MOI.OptimizerWithAttributes: The optimizer that is used to solve the model
  • executions::Int: Number of executions for the emulator run
  • export_problem_results::Bool: If true, export ProblemResults DataFrames to CSV files.
  • output_dir::String: Required if the model is not already built, otherwise ignored
  • enable_progress_bar::Bool: Enables/Disable progress bar printing
  • serialize::Bool: If true, serialize the model to a file to allow re-execution later.

Examples

status = run!(model; optimizer = GLPK.Optimizer, executions = 10)
-status = run!(model; output_dir = ./model_output, optimizer = GLPK.Optimizer, executions = 10)
source
  +status = run!(model; output_dir = ./model_output, optimizer = GLPK.Optimizer, executions = 10)source   

Simulation Models

Refer to the Simulations Page to explanations on how to setup a Simulation, with Sequencing and Feedforwards.

PowerSimulations.SimulationModelsType
SimulationModels(
     decision_models::Vector{<:DecisionModel},
     emulation_models::Union{Nothing, EmulationModel}
@@ -108,7 +108,7 @@
         my_decision_model_uc,
         my_decision_model_ed
     ]
-)
source
PowerSimulations.SimulationSequenceType
SimulationSequence(
+)
source
PowerSimulations.SimulationSequenceType
SimulationSequence(
     models::SimulationModels,
     feedforward::Dict{String, Vector{<:AbstractAffectFeedforward}}
     ini_cond_chronology::InitialConditionChronology
@@ -134,7 +134,7 @@
             ),
         ],
     ),
-)
source
PowerSimulations.SimulationType
Simulation(
+)
source
PowerSimulations.SimulationType
Simulation(
     sequence::SimulationSequence,
     name::String,
     steps::Int
@@ -171,8 +171,8 @@
     steps = 5,
     models = models,
     simulation_folder = mktempdir(cleanup=true),
-)
source
PowerSimulations.SimulationMethod
Simulation(directory::AbstractString, model_info::Dict)
-

Constructs Simulation from a serialized directory. Callers should pass any kwargs here that they passed to the original Simulation.

Arguments

  • directory::AbstractString: the directory returned from the call to serialize
  • model_info::Dict: Two-level dictionary containing model parameters that cannot be serialized. The outer dict should be keyed by the problem name. The inner dict must contain 'optimizer' and may contain 'jump_model'. These should be the same values used for the original simulation.
source
PowerSimulations.build!Method
build!(
+)
source
PowerSimulations.SimulationMethod
Simulation(directory::AbstractString, model_info::Dict)
+

Constructs Simulation from a serialized directory. Callers should pass any kwargs here that they passed to the original Simulation.

Arguments

  • directory::AbstractString: the directory returned from the call to serialize
  • model_info::Dict: Two-level dictionary containing model parameters that cannot be serialized. The outer dict should be keyed by the problem name. The inner dict must contain 'optimizer' and may contain 'jump_model'. These should be the same values used for the original simulation.
source
PowerSimulations.build!Method
build!(
     sim::Simulation;
     recorders,
     console_level,
@@ -181,8 +181,8 @@
     partitions,
     index
 ) -> BuildStatus
-

Build the Simulation, problems and the related folder structure.

Arguments

  • sim::Simulation: simulation object
  • recorders::Vector{Symbol} = []: recorder names to register
  • serialize::Bool = true: serializes the simulation objects in the simulation
  • console_level = Logging.Error:
  • file_level = Logging.Info:
source
PowerSimulations.execute!Method
execute!(sim::Simulation; kwargs...) -> RunStatus
+

Build the Simulation, problems and the related folder structure.

Arguments

  • sim::Simulation: simulation object
  • recorders::Vector{Symbol} = []: recorder names to register
  • serialize::Bool = true: serializes the simulation objects in the simulation
  • console_level = Logging.Error:
  • file_level = Logging.Info:
source
PowerSimulations.execute!Method
execute!(sim::Simulation; kwargs...) -> RunStatus
 

Solves the simulation model for sequential Simulations.

Arguments

  • sim::Simulation=sim: simulation object created by Simulation()

The optional keyword argument exports controls exporting of results to CSV files as the simulation runs. Refer to export_results for a description of this argument.

Example

sim = Simulation("Test", 7, problems, "/Users/folder")
-execute!(sim::Simulation; kwargs...)
source
  - 

Variables

For a list of variables for each device refer to its Formulations page.

Common Variables

PowerSimulations.ActivePowerVariableType

Struct to dispatch the creation of Active Power Variables

Docs abbreviation: $Pg$

source
PowerSimulations.ReactivePowerVariableType

Struct to dispatch the creation of Reactive Power Variables

Docs abbreviation: $Qg$

source
Missing docstring.

Missing docstring for PieceWiseLinearCostVariable. Check Documenter's build log for details.

Thermal Unit Variables

PowerSimulations.OnVariableType

Struct to dispatch the creation of a binary commitment status variable

Docs abbreviation: $u$

source
Missing docstring.

Missing docstring for StartVariable. Check Documenter's build log for details.

Missing docstring.

Missing docstring for StopVariable. Check Documenter's build log for details.

Missing docstring.

Missing docstring for TimeDurationOn. Check Documenter's build log for details.

Missing docstring.

Missing docstring for TimeDurationOff. Check Documenter's build log for details.

Missing docstring.

Missing docstring for HotStartVariable. Check Documenter's build log for details.

Missing docstring.

Missing docstring for WarmStartVariable. Check Documenter's build log for details.

Missing docstring.

Missing docstring for ColdStartVariable. Check Documenter's build log for details.

PowerSimulations.PowerAboveMinimumVariableType

Struct to dispatch the creation of Active Power Variables above minimum power for Thermal Compact formulations

Docs abbreviation: $\hat{Pg}$

source

Storage Unit Variables

PowerSimulations.ReservationVariableType

Struct to dispatch the creation of binary storage charge reservation variable

Docs abbreviation: $r$

source

Branches and Network Variables

PowerSimulations.FlowActivePowerVariableType

Struct to dispatch the creation of bidirectional Active Power Flow Variables

Docs abbreviation: $P$

source
PowerSimulations.FlowActivePowerFromToVariableType

Struct to dispatch the creation of unidirectional Active Power Flow Variables

Docs abbreviation: $\overrightarrow{P}$

source
PowerSimulations.FlowActivePowerToFromVariableType

Struct to dispatch the creation of unidirectional Active Power Flow Variables

Docs abbreviation: $\overleftarrow{P}$

source
PowerSimulations.FlowReactivePowerFromToVariableType

Struct to dispatch the creation of unidirectional Reactive Power Flow Variables

Docs abbreviation: $\overrightarrow{Q}$

source
PowerSimulations.FlowReactivePowerToFromVariableType

Struct to dispatch the creation of unidirectional Reactive Power Flow Variables

Docs abbreviation: $\overleftarrow{Q}$

source
Missing docstring.

Missing docstring for PhaseShifterAngle. Check Documenter's build log for details.

Missing docstring.

Missing docstring for HVDCLosses. Check Documenter's build log for details.

Missing docstring.

Missing docstring for HVDCFlowDirectionVariable. Check Documenter's build log for details.

Missing docstring.

Missing docstring for VoltageMagnitude. Check Documenter's build log for details.

Missing docstring.

Missing docstring for VoltageAngle. Check Documenter's build log for details.

Regulation and Services Variables

PowerSimulations.ActivePowerReserveVariableType

Struct to dispatch the creation of Active Power Reserve Variables

Docs abbreviation: $Pr$

source
Missing docstring.

Missing docstring for ServiceRequirementVariable. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DeltaActivePowerUpVariable. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DeltaActivePowerDownVariable. Check Documenter's build log for details.

Missing docstring.

Missing docstring for AdditionalDeltaActivePowerUpVariable. Check Documenter's build log for details.

Missing docstring.

Missing docstring for AdditionalDeltaActivePowerDownVariable. Check Documenter's build log for details.

Missing docstring.

Missing docstring for AreaMismatchVariable. Check Documenter's build log for details.

Missing docstring.

Missing docstring for SteadyStateFrequencyDeviation. Check Documenter's build log for details.

Missing docstring.

Missing docstring for SmoothACE. Check Documenter's build log for details.

Missing docstring.

Missing docstring for SystemBalanceSlackUp. Check Documenter's build log for details.

Missing docstring.

Missing docstring for SystemBalanceSlackDown. Check Documenter's build log for details.

Missing docstring.

Missing docstring for ReserveRequirementSlack. Check Documenter's build log for details.

  - 

Constraints

Common Constraints

Missing docstring.

Missing docstring for PieceWiseLinearCostConstraint. Check Documenter's build log for details.

Network Constraints

Missing docstring.

Missing docstring for AreaDispatchBalanceConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for AreaParticipationAssignmentConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for BalanceAuxConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for CopperPlateBalanceConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for FrequencyResponseConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for NodalBalanceActiveConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for NodalBalanceReactiveConstraint. Check Documenter's build log for details.

Power Variable Limit Constraints

Missing docstring.

Missing docstring for ActivePowerVariableLimitsConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for ReactivePowerVariableLimitsConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for ActivePowerVariableTimeSeriesLimitsConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for InputActivePowerVariableLimitsConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for OutputActivePowerVariableLimitsConstraint. Check Documenter's build log for details.

Regulation and Services Constraints

Missing docstring.

Missing docstring for ParticipationAssignmentConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for RegulationLimitsConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for RequirementConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for ReserveEnergyCoverageConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for ReservePowerConstraint. Check Documenter's build log for details.

Thermal Unit Constraints

Missing docstring.

Missing docstring for ActiveRangeICConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for CommitmentConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DurationConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for RampConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for RampLimitConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for StartupInitialConditionConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for StartupTimeLimitTemperatureConstraint. Check Documenter's build log for details.

Renewable Unit Constraints

Missing docstring.

Missing docstring for EqualityConstraint. Check Documenter's build log for details.

Branches Constraints

Missing docstring.

Missing docstring for AbsoluteValueConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for FlowLimitFromToConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for FlowLimitToFromConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for FlowRateConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for FlowRateConstraintFromTo. Check Documenter's build log for details.

Missing docstring.

Missing docstring for FlowRateConstraintToFrom. Check Documenter's build log for details.

Missing docstring.

Missing docstring for HVDCDirection. Check Documenter's build log for details.

Missing docstring.

Missing docstring for HVDCLossesAbsoluteValue. Check Documenter's build log for details.

Missing docstring.

Missing docstring for HVDCPowerBalance. Check Documenter's build log for details.

Missing docstring.

Missing docstring for NetworkFlowConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for RateLimitConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for RateLimitConstraintFromTo. Check Documenter's build log for details.

Missing docstring.

Missing docstring for RateLimitConstraintToFrom. Check Documenter's build log for details.

Missing docstring.

Missing docstring for PhaseAngleControlLimit. Check Documenter's build log for details.

Feedforward Constraints

Missing docstring.

Missing docstring for FeedforwardSemiContinousConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for FeedforwardIntegralLimitConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for FeedforwardUpperBoundConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for FeedforwardLowerBoundConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for FeedforwardEnergyTargetConstraint. Check Documenter's build log for details.

Parameters

Time Series Parameters

PowerSimulations.ActivePowerTimeSeriesParameterType

Parameter to define active power time series

source
PowerSimulations.ReactivePowerTimeSeriesParameterType

Parameter to define reactive power time series

source
PowerSimulations.RequirementTimeSeriesParameterType

Paramter to define requirement time series

source

Variable Value Parameters

PowerSimulations.UpperBoundValueParameterType

Parameter to define variable upper bound

source
PowerSimulations.LowerBoundValueParameterType

Parameter to define variable lower bound

source
PowerSimulations.OnStatusParameterType

Parameter to define unit commitment status

source
PowerSimulations.EnergyLimitParameterType

Parameter to define energy limit

source
Missing docstring.

Missing docstring for FixValueParameter. Check Documenter's build log for details.

Missing docstring.

Missing docstring for EnergyTargetParameter. Check Documenter's build log for details.

Objective Function Parameters

PowerSimulations.CostFunctionParameterType

Parameter to define cost function coefficient

source
+execute!(sim::Simulation; kwargs...)source  + 

Variables

For a list of variables for each device refer to its Formulations page.

Common Variables

PowerSimulations.ActivePowerVariableType

Struct to dispatch the creation of Active Power Variables

Docs abbreviation: $Pg$

source
PowerSimulations.ReactivePowerVariableType

Struct to dispatch the creation of Reactive Power Variables

Docs abbreviation: $Qg$

source
Missing docstring.

Missing docstring for PieceWiseLinearCostVariable. Check Documenter's build log for details.

Thermal Unit Variables

PowerSimulations.OnVariableType

Struct to dispatch the creation of a binary commitment status variable

Docs abbreviation: $u$

source
Missing docstring.

Missing docstring for StartVariable. Check Documenter's build log for details.

Missing docstring.

Missing docstring for StopVariable. Check Documenter's build log for details.

Missing docstring.

Missing docstring for TimeDurationOn. Check Documenter's build log for details.

Missing docstring.

Missing docstring for TimeDurationOff. Check Documenter's build log for details.

Missing docstring.

Missing docstring for HotStartVariable. Check Documenter's build log for details.

Missing docstring.

Missing docstring for WarmStartVariable. Check Documenter's build log for details.

Missing docstring.

Missing docstring for ColdStartVariable. Check Documenter's build log for details.

PowerSimulations.PowerAboveMinimumVariableType

Struct to dispatch the creation of Active Power Variables above minimum power for Thermal Compact formulations

Docs abbreviation: $\hat{Pg}$

source

Storage Unit Variables

PowerSimulations.ReservationVariableType

Struct to dispatch the creation of binary storage charge reservation variable

Docs abbreviation: $r$

source

Branches and Network Variables

PowerSimulations.FlowActivePowerVariableType

Struct to dispatch the creation of bidirectional Active Power Flow Variables

Docs abbreviation: $P$

source
PowerSimulations.FlowActivePowerFromToVariableType

Struct to dispatch the creation of unidirectional Active Power Flow Variables

Docs abbreviation: $\overrightarrow{P}$

source
PowerSimulations.FlowActivePowerToFromVariableType

Struct to dispatch the creation of unidirectional Active Power Flow Variables

Docs abbreviation: $\overleftarrow{P}$

source
PowerSimulations.FlowReactivePowerFromToVariableType

Struct to dispatch the creation of unidirectional Reactive Power Flow Variables

Docs abbreviation: $\overrightarrow{Q}$

source
PowerSimulations.FlowReactivePowerToFromVariableType

Struct to dispatch the creation of unidirectional Reactive Power Flow Variables

Docs abbreviation: $\overleftarrow{Q}$

source
Missing docstring.

Missing docstring for PhaseShifterAngle. Check Documenter's build log for details.

Missing docstring.

Missing docstring for HVDCLosses. Check Documenter's build log for details.

Missing docstring.

Missing docstring for HVDCFlowDirectionVariable. Check Documenter's build log for details.

Missing docstring.

Missing docstring for VoltageMagnitude. Check Documenter's build log for details.

Missing docstring.

Missing docstring for VoltageAngle. Check Documenter's build log for details.

Regulation and Services Variables

PowerSimulations.ActivePowerReserveVariableType

Struct to dispatch the creation of Active Power Reserve Variables

Docs abbreviation: $Pr$

source
Missing docstring.

Missing docstring for ServiceRequirementVariable. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DeltaActivePowerUpVariable. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DeltaActivePowerDownVariable. Check Documenter's build log for details.

Missing docstring.

Missing docstring for AdditionalDeltaActivePowerUpVariable. Check Documenter's build log for details.

Missing docstring.

Missing docstring for AdditionalDeltaActivePowerDownVariable. Check Documenter's build log for details.

Missing docstring.

Missing docstring for AreaMismatchVariable. Check Documenter's build log for details.

Missing docstring.

Missing docstring for SteadyStateFrequencyDeviation. Check Documenter's build log for details.

Missing docstring.

Missing docstring for SmoothACE. Check Documenter's build log for details.

Missing docstring.

Missing docstring for SystemBalanceSlackUp. Check Documenter's build log for details.

Missing docstring.

Missing docstring for SystemBalanceSlackDown. Check Documenter's build log for details.

Missing docstring.

Missing docstring for ReserveRequirementSlack. Check Documenter's build log for details.

  + 

Constraints

Common Constraints

Missing docstring.

Missing docstring for PieceWiseLinearCostConstraint. Check Documenter's build log for details.

Network Constraints

Missing docstring.

Missing docstring for AreaDispatchBalanceConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for AreaParticipationAssignmentConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for BalanceAuxConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for CopperPlateBalanceConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for FrequencyResponseConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for NodalBalanceActiveConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for NodalBalanceReactiveConstraint. Check Documenter's build log for details.

Power Variable Limit Constraints

Missing docstring.

Missing docstring for ActivePowerVariableLimitsConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for ReactivePowerVariableLimitsConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for ActivePowerVariableTimeSeriesLimitsConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for InputActivePowerVariableLimitsConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for OutputActivePowerVariableLimitsConstraint. Check Documenter's build log for details.

Regulation and Services Constraints

Missing docstring.

Missing docstring for ParticipationAssignmentConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for RegulationLimitsConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for RequirementConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for ReserveEnergyCoverageConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for ReservePowerConstraint. Check Documenter's build log for details.

Thermal Unit Constraints

Missing docstring.

Missing docstring for ActiveRangeICConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for CommitmentConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for DurationConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for RampConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for RampLimitConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for StartupInitialConditionConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for StartupTimeLimitTemperatureConstraint. Check Documenter's build log for details.

Renewable Unit Constraints

Missing docstring.

Missing docstring for EqualityConstraint. Check Documenter's build log for details.

Branches Constraints

Missing docstring.

Missing docstring for AbsoluteValueConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for FlowLimitFromToConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for FlowLimitToFromConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for FlowRateConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for FlowRateConstraintFromTo. Check Documenter's build log for details.

Missing docstring.

Missing docstring for FlowRateConstraintToFrom. Check Documenter's build log for details.

Missing docstring.

Missing docstring for HVDCDirection. Check Documenter's build log for details.

Missing docstring.

Missing docstring for HVDCLossesAbsoluteValue. Check Documenter's build log for details.

Missing docstring.

Missing docstring for HVDCPowerBalance. Check Documenter's build log for details.

Missing docstring.

Missing docstring for NetworkFlowConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for RateLimitConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for RateLimitConstraintFromTo. Check Documenter's build log for details.

Missing docstring.

Missing docstring for RateLimitConstraintToFrom. Check Documenter's build log for details.

Missing docstring.

Missing docstring for PhaseAngleControlLimit. Check Documenter's build log for details.

Feedforward Constraints

Missing docstring.

Missing docstring for FeedforwardSemiContinousConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for FeedforwardIntegralLimitConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for FeedforwardUpperBoundConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for FeedforwardLowerBoundConstraint. Check Documenter's build log for details.

Missing docstring.

Missing docstring for FeedforwardEnergyTargetConstraint. Check Documenter's build log for details.

Parameters

Time Series Parameters

PowerSimulations.ActivePowerTimeSeriesParameterType

Parameter to define active power time series

source
PowerSimulations.ReactivePowerTimeSeriesParameterType

Parameter to define reactive power time series

source
PowerSimulations.RequirementTimeSeriesParameterType

Paramter to define requirement time series

source

Variable Value Parameters

PowerSimulations.UpperBoundValueParameterType

Parameter to define variable upper bound

source
PowerSimulations.LowerBoundValueParameterType

Parameter to define variable lower bound

source
PowerSimulations.OnStatusParameterType

Parameter to define unit commitment status

source
PowerSimulations.EnergyLimitParameterType

Parameter to define energy limit

source
Missing docstring.

Missing docstring for FixValueParameter. Check Documenter's build log for details.

Missing docstring.

Missing docstring for EnergyTargetParameter. Check Documenter's build log for details.

Objective Function Parameters

PowerSimulations.CostFunctionParameterType

Parameter to define cost function coefficient

source
diff --git a/previews/PR1003/code_base_developer_guide/developer/index.html b/previews/PR1003/code_base_developer_guide/developer/index.html index 80c5b1bf79..71fbc19588 100644 --- a/previews/PR1003/code_base_developer_guide/developer/index.html +++ b/previews/PR1003/code_base_developer_guide/developer/index.html @@ -1,2 +1,2 @@ -Developer Guide · PowerSimulations.jl
+Developer Guide · PowerSimulations.jl
diff --git a/previews/PR1003/code_base_developer_guide/extending_powersimulations/index.html b/previews/PR1003/code_base_developer_guide/extending_powersimulations/index.html index 4c7dbf80c3..1c04829d3f 100644 --- a/previews/PR1003/code_base_developer_guide/extending_powersimulations/index.html +++ b/previews/PR1003/code_base_developer_guide/extending_powersimulations/index.html @@ -33,4 +33,4 @@ │ 2020-04-07T15:08:32.711 │ InitialConditionUpdateEvent │ 2024-01-02T00:00:00 │ DeviceStatus │ ThermalStandard │ Alta │ 1.0 │ 1 │ │ 2020-04-07T15:08:32.711 │ InitialConditionUpdateEvent │ 2024-01-02T00:00:00 │ DeviceStatus │ ThermalStandard │ Brighton │ 1.0 │ 1 │ │ 2020-04-07T15:08:32.711 │ InitialConditionUpdateEvent │ 2024-01-02T00:00:00 │ DeviceStatus │ ThermalStandard │ Sundance │ 0.0 │ 1 │ -└─────────────────────────┴─────────────────────────────┴─────────────────────┴────────────────────────┴─────────────────┴─────────────┴─────┴──────────────┘ +└─────────────────────────┴─────────────────────────────┴─────────────────────┴────────────────────────┴─────────────────┴─────────────┴─────┴──────────────┘ diff --git a/previews/PR1003/code_base_developer_guide/troubleshooting/index.html b/previews/PR1003/code_base_developer_guide/troubleshooting/index.html index 8a5e5a4c29..37eb08b394 100644 --- a/previews/PR1003/code_base_developer_guide/troubleshooting/index.html +++ b/previews/PR1003/code_base_developer_guide/troubleshooting/index.html @@ -1,2 +1,2 @@ -Troubleshooting · PowerSimulations.jl
+Troubleshooting · PowerSimulations.jl
diff --git a/previews/PR1003/formulation_library/Branch/index.html b/previews/PR1003/formulation_library/Branch/index.html index 5003c52a1e..b19293fdc3 100644 --- a/previews/PR1003/formulation_library/Branch/index.html +++ b/previews/PR1003/formulation_library/Branch/index.html @@ -1,2 +1,2 @@ -Branch · PowerSimulations.jl

PowerSystems.Branch Formulations

Valid DeviceModels for subtypes of Branch include the following:

Valid DeviceModelDevice TypeFormulation
DeviceModel(TModelHVDCLine, LossLessLine)TModelHVDCLineLossLessLine
DeviceModel(PhaseShiftingTransformer, PhaseAngleControl)PhaseShiftingTransformerPhaseAngleControl
DeviceModel(TwoTerminalHVDCLine, HVDCTwoTerminalDispatch)TwoTerminalHVDCLineHVDCTwoTerminalDispatch
DeviceModel(TwoTerminalVSCDCLine, HVDCTwoTerminalDispatch)TwoTerminalVSCDCLineHVDCTwoTerminalDispatch
DeviceModel(TwoTerminalHVDCLine, HVDCTwoTerminalLossless)TwoTerminalHVDCLineHVDCTwoTerminalLossless
DeviceModel(TwoTerminalVSCDCLine, HVDCTwoTerminalLossless)TwoTerminalVSCDCLineHVDCTwoTerminalLossless
DeviceModel(TwoTerminalHVDCLine, HVDCTwoTerminalUnbounded)TwoTerminalHVDCLineHVDCTwoTerminalUnbounded
DeviceModel(TwoTerminalVSCDCLine, HVDCTwoTerminalUnbounded)TwoTerminalVSCDCLineHVDCTwoTerminalUnbounded
DeviceModel(Line, StaticBranch)LineStaticBranch
DeviceModel(MonitoredLine, StaticBranch)MonitoredLineStaticBranch
DeviceModel(PhaseShiftingTransformer, StaticBranch)PhaseShiftingTransformerStaticBranch
DeviceModel(TapTransformer, StaticBranch)TapTransformerStaticBranch
DeviceModel(Transformer2W, StaticBranch)Transformer2WStaticBranch
DeviceModel(TwoTerminalHVDCLine, StaticBranch)TwoTerminalHVDCLineStaticBranch
DeviceModel(TwoTerminalVSCDCLine, StaticBranch)TwoTerminalVSCDCLineStaticBranch
DeviceModel(Line, StaticBranchBounds)LineStaticBranchBounds
DeviceModel(MonitoredLine, StaticBranchBounds)MonitoredLineStaticBranchBounds
DeviceModel(PhaseShiftingTransformer, StaticBranchBounds)PhaseShiftingTransformerStaticBranchBounds
DeviceModel(TapTransformer, StaticBranchBounds)TapTransformerStaticBranchBounds
DeviceModel(Transformer2W, StaticBranchBounds)Transformer2WStaticBranchBounds
DeviceModel(TwoTerminalHVDCLine, StaticBranchBounds)TwoTerminalHVDCLineStaticBranchBounds
DeviceModel(TwoTerminalVSCDCLine, StaticBranchBounds)TwoTerminalVSCDCLineStaticBranchBounds
DeviceModel(Line, StaticBranchUnbounded)LineStaticBranchUnbounded
DeviceModel(MonitoredLine, StaticBranchUnbounded)MonitoredLineStaticBranchUnbounded
DeviceModel(PhaseShiftingTransformer, StaticBranchUnbounded)PhaseShiftingTransformerStaticBranchUnbounded
DeviceModel(TapTransformer, StaticBranchUnbounded)TapTransformerStaticBranchUnbounded
DeviceModel(Transformer2W, StaticBranchUnbounded)Transformer2WStaticBranchUnbounded
DeviceModel(TwoTerminalHVDCLine, StaticBranchUnbounded)TwoTerminalHVDCLineStaticBranchUnbounded
DeviceModel(TwoTerminalVSCDCLine, StaticBranchUnbounded)TwoTerminalVSCDCLineStaticBranchUnbounded

StaticBranch


StaticBranchBounds


StaticBranchUnbounded


HVDCTwoTerminalLossless


HVDCTwoTerminalDispatch


HVDCTwoTerminalUnbounded

+Branch · PowerSimulations.jl

PowerSystems.Branch Formulations

Valid DeviceModels for subtypes of Branch include the following:

Valid DeviceModelDevice TypeFormulation
DeviceModel(TModelHVDCLine, LossLessLine)TModelHVDCLineLossLessLine
DeviceModel(PhaseShiftingTransformer, PhaseAngleControl)PhaseShiftingTransformerPhaseAngleControl
DeviceModel(TwoTerminalHVDCLine, HVDCTwoTerminalDispatch)TwoTerminalHVDCLineHVDCTwoTerminalDispatch
DeviceModel(TwoTerminalVSCDCLine, HVDCTwoTerminalDispatch)TwoTerminalVSCDCLineHVDCTwoTerminalDispatch
DeviceModel(TwoTerminalHVDCLine, HVDCTwoTerminalLossless)TwoTerminalHVDCLineHVDCTwoTerminalLossless
DeviceModel(TwoTerminalVSCDCLine, HVDCTwoTerminalLossless)TwoTerminalVSCDCLineHVDCTwoTerminalLossless
DeviceModel(TwoTerminalHVDCLine, HVDCTwoTerminalUnbounded)TwoTerminalHVDCLineHVDCTwoTerminalUnbounded
DeviceModel(TwoTerminalVSCDCLine, HVDCTwoTerminalUnbounded)TwoTerminalVSCDCLineHVDCTwoTerminalUnbounded
DeviceModel(Line, StaticBranch)LineStaticBranch
DeviceModel(MonitoredLine, StaticBranch)MonitoredLineStaticBranch
DeviceModel(PhaseShiftingTransformer, StaticBranch)PhaseShiftingTransformerStaticBranch
DeviceModel(TapTransformer, StaticBranch)TapTransformerStaticBranch
DeviceModel(Transformer2W, StaticBranch)Transformer2WStaticBranch
DeviceModel(TwoTerminalHVDCLine, StaticBranch)TwoTerminalHVDCLineStaticBranch
DeviceModel(TwoTerminalVSCDCLine, StaticBranch)TwoTerminalVSCDCLineStaticBranch
DeviceModel(Line, StaticBranchBounds)LineStaticBranchBounds
DeviceModel(MonitoredLine, StaticBranchBounds)MonitoredLineStaticBranchBounds
DeviceModel(PhaseShiftingTransformer, StaticBranchBounds)PhaseShiftingTransformerStaticBranchBounds
DeviceModel(TapTransformer, StaticBranchBounds)TapTransformerStaticBranchBounds
DeviceModel(Transformer2W, StaticBranchBounds)Transformer2WStaticBranchBounds
DeviceModel(TwoTerminalHVDCLine, StaticBranchBounds)TwoTerminalHVDCLineStaticBranchBounds
DeviceModel(TwoTerminalVSCDCLine, StaticBranchBounds)TwoTerminalVSCDCLineStaticBranchBounds
DeviceModel(Line, StaticBranchUnbounded)LineStaticBranchUnbounded
DeviceModel(MonitoredLine, StaticBranchUnbounded)MonitoredLineStaticBranchUnbounded
DeviceModel(PhaseShiftingTransformer, StaticBranchUnbounded)PhaseShiftingTransformerStaticBranchUnbounded
DeviceModel(TapTransformer, StaticBranchUnbounded)TapTransformerStaticBranchUnbounded
DeviceModel(Transformer2W, StaticBranchUnbounded)Transformer2WStaticBranchUnbounded
DeviceModel(TwoTerminalHVDCLine, StaticBranchUnbounded)TwoTerminalHVDCLineStaticBranchUnbounded
DeviceModel(TwoTerminalVSCDCLine, StaticBranchUnbounded)TwoTerminalVSCDCLineStaticBranchUnbounded

StaticBranch


StaticBranchBounds


StaticBranchUnbounded


HVDCTwoTerminalLossless


HVDCTwoTerminalDispatch


HVDCTwoTerminalUnbounded

diff --git a/previews/PR1003/formulation_library/General/index.html b/previews/PR1003/formulation_library/General/index.html index b91c9834c9..6de11ff146 100644 --- a/previews/PR1003/formulation_library/General/index.html +++ b/previews/PR1003/formulation_library/General/index.html @@ -1,8 +1,8 @@ -General · PowerSimulations.jl

Formulations

Modeling formulations are created by dispatching on abstract subtypes of PowerSimulations.AbstractDeviceFormulation

FixedOutput

Variables:

No variables are created for DeviceModel(<:DeviceType, FixedOutput)

Static Parameters:

  • ThermalGen:
    • $Pg^\text{max}$ = PowerSystems.get_max_active_power(device)
    • $Qg^\text{max}$ = PowerSystems.get_max_reactive_power(device)
  • Storage:
    • $Pg^\text{max}$ = PowerSystems.get_max_active_power(device)
    • $Qg^\text{max}$ = PowerSystems.get_max_reactive_power(device)

Time Series Parameters:

Device TypeParameterDefault Time Series Name
RenewableGenReactivePowerTimeSeriesParametermax_active_power
RenewableGenActivePowerTimeSeriesParametermax_active_power

Objective:

No objective terms are created for DeviceModel(<:DeviceType, FixedOutput)

Expressions:

Adds the active and reactive parameters listed for specific device types above to the respective active and reactive power balance expressions created by the selected Network Formulations

Constraints:

No constraints are created for DeviceModel(<:DeviceType, FixedOutput)


VariableCost Options

PowerSimulations can represent variable costs using a variety of different methods depending on the data available in each device. The following describes the objective function terms that are populated for each variable cost option.

Scalar VariableCost

variable_cost <: Float64: creates a fixed marginal cost term in the objective function

\[\begin{aligned} +General · PowerSimulations.jl

Formulations

Modeling formulations are created by dispatching on abstract subtypes of PowerSimulations.AbstractDeviceFormulation

FixedOutput

Variables:

No variables are created for DeviceModel(<:DeviceType, FixedOutput)

Static Parameters:

  • ThermalGen:
    • $Pg^\text{max}$ = PowerSystems.get_max_active_power(device)
    • $Qg^\text{max}$ = PowerSystems.get_max_reactive_power(device)
  • Storage:
    • $Pg^\text{max}$ = PowerSystems.get_max_active_power(device)
    • $Qg^\text{max}$ = PowerSystems.get_max_reactive_power(device)

Time Series Parameters:

Device TypeParameterDefault Time Series Name
RenewableGenReactivePowerTimeSeriesParametermax_active_power
RenewableGenActivePowerTimeSeriesParametermax_active_power

Objective:

No objective terms are created for DeviceModel(<:DeviceType, FixedOutput)

Expressions:

Adds the active and reactive parameters listed for specific device types above to the respective active and reactive power balance expressions created by the selected Network Formulations

Constraints:

No constraints are created for DeviceModel(<:DeviceType, FixedOutput)


VariableCost Options

PowerSimulations can represent variable costs using a variety of different methods depending on the data available in each device. The following describes the objective function terms that are populated for each variable cost option.

Scalar VariableCost

variable_cost <: Float64: creates a fixed marginal cost term in the objective function

\[\begin{aligned} & \text{min} \sum_{t} C * G_t \end{aligned}\]

Polynomial VariableCost

variable_cost <: Tuple{Float64, Float64}: creates a polynomial cost term in the objective function where

  • $C_g$=variable_cost[1]
  • $C_g^\prime$=variable_cost[2]

\[\begin{aligned} & \text{min} \sum_{t} C * G_t + C^\prime * G_t^2 \end{aligned}\]

Piecewise Linear VariableCost

variable_cost <: Vector{Tuple{Float64, Float64}}: creates a piecewise linear cost term in the objective function

TODO: add formulation

___

StorageManagementCost

Adds an objective function cost term according to:

\[\begin{aligned} & \text{min} \sum_{t} \quad [E^{surplus}_t * C^{penalty} - E^{shortage}_t * C^{value}] -\end{aligned}\]

Impact of different cost configurations:

The following table describes all possible configuration of the StorageManagementCost with the target constraint in hydro or storage device models. Cases 1(a) & 2(a) will have no impact of the models operations and the target constraint will be rendered useless. In most cases that have no energy target and a non-zero value for $C^{value}$, if this cost is too high ($C^{value} >> 0$) or too low ($C^{value} <<0$) can result in either the model holding on to stored energy till the end or the model not storing any energy in the device. This is caused by the fact that when energy target is zero, we have $E_t = - E^{shortage}_t$, and $- E^{shortage}_t * C^{value}$ in the objective function is replaced by $E_t * C^{value}$, thus resulting in $C^{value}$ to be seen as the cost of stored energy.

CaseEnergy TargetEnergy Shortage CostEnergy Value / Energy Surplus costEffect
Case 1(a)$\hat{E}=0$$C^{penalty}=0$$C^{value}=0$no change
Case 1(b)$\hat{E}=0$$C^{penalty}=0$$C^{value}<0$penalty for storing energy
Case 1(c)$\hat{E}=0$$C^{penalty}>0$$C^{value}=0$no penalties or incentives applied
Case 1(d)$\hat{E}=0$$C^{penalty}=0$$C^{value}>0$incentive for storing energy
Case 1(e)$\hat{E}=0$$C^{penalty}>0$$C^{value}<0$penalty for storing energy
Case 1(f)$\hat{E}=0$$C^{penalty}>0$$C^{value}>0$incentive for storing energy
Case 2(a)$\hat{E}>0$$C^{penalty}=0$$C^{value}=0$no change
Case 2(b)$\hat{E}>0$$C^{penalty}=0$$C^{value}<0$penalty on energy storage in excess of target
Case 2(c)$\hat{E}>0$$C^{penalty}>0$$C^{value}=0$penalty on energy storage short of target
Case 2(d)$\hat{E}>0$$C^{penalty}=0$$C^{value}>0$incentive on excess energy
Case 2(e)$\hat{E}>0$$C^{penalty}>0$$C^{value}<0$penalty on both excess/shortage of energy
Case 2(f)$\hat{E}>0$$C^{penalty}>0$$C^{value}>0$penalty for shortage, incentive for excess energy
+\end{aligned}\]

Impact of different cost configurations:

The following table describes all possible configuration of the StorageManagementCost with the target constraint in hydro or storage device models. Cases 1(a) & 2(a) will have no impact of the models operations and the target constraint will be rendered useless. In most cases that have no energy target and a non-zero value for $C^{value}$, if this cost is too high ($C^{value} >> 0$) or too low ($C^{value} <<0$) can result in either the model holding on to stored energy till the end or the model not storing any energy in the device. This is caused by the fact that when energy target is zero, we have $E_t = - E^{shortage}_t$, and $- E^{shortage}_t * C^{value}$ in the objective function is replaced by $E_t * C^{value}$, thus resulting in $C^{value}$ to be seen as the cost of stored energy.

CaseEnergy TargetEnergy Shortage CostEnergy Value / Energy Surplus costEffect
Case 1(a)$\hat{E}=0$$C^{penalty}=0$$C^{value}=0$no change
Case 1(b)$\hat{E}=0$$C^{penalty}=0$$C^{value}<0$penalty for storing energy
Case 1(c)$\hat{E}=0$$C^{penalty}>0$$C^{value}=0$no penalties or incentives applied
Case 1(d)$\hat{E}=0$$C^{penalty}=0$$C^{value}>0$incentive for storing energy
Case 1(e)$\hat{E}=0$$C^{penalty}>0$$C^{value}<0$penalty for storing energy
Case 1(f)$\hat{E}=0$$C^{penalty}>0$$C^{value}>0$incentive for storing energy
Case 2(a)$\hat{E}>0$$C^{penalty}=0$$C^{value}=0$no change
Case 2(b)$\hat{E}>0$$C^{penalty}=0$$C^{value}<0$penalty on energy storage in excess of target
Case 2(c)$\hat{E}>0$$C^{penalty}>0$$C^{value}=0$penalty on energy storage short of target
Case 2(d)$\hat{E}>0$$C^{penalty}=0$$C^{value}>0$incentive on excess energy
Case 2(e)$\hat{E}>0$$C^{penalty}>0$$C^{value}<0$penalty on both excess/shortage of energy
Case 2(f)$\hat{E}>0$$C^{penalty}>0$$C^{value}>0$penalty for shortage, incentive for excess energy
diff --git a/previews/PR1003/formulation_library/Load/index.html b/previews/PR1003/formulation_library/Load/index.html index 8b62b3da5a..583353d98d 100644 --- a/previews/PR1003/formulation_library/Load/index.html +++ b/previews/PR1003/formulation_library/Load/index.html @@ -1,10 +1,10 @@ -Load · PowerSimulations.jl

PowerSystems.ElectricLoad Formulations

Valid DeviceModels for subtypes of ElectricLoad include the following:

Valid DeviceModelDevice TypeFormulation
DeviceModel(InterruptiblePowerLoad, PowerLoadDispatch)InterruptiblePowerLoadPowerLoadDispatch
DeviceModel(PowerLoad, PowerLoadDispatch)PowerLoadPowerLoadDispatch
DeviceModel(PowerSystems.ExponentialLoad, PowerLoadDispatch)PowerSystems.ExponentialLoadPowerLoadDispatch
DeviceModel(StandardLoad, PowerLoadDispatch)StandardLoadPowerLoadDispatch
DeviceModel(InterruptiblePowerLoad, PowerLoadInterruption)InterruptiblePowerLoadPowerLoadInterruption
DeviceModel(PowerLoad, PowerLoadInterruption)PowerLoadPowerLoadInterruption
DeviceModel(PowerSystems.ExponentialLoad, PowerLoadInterruption)PowerSystems.ExponentialLoadPowerLoadInterruption
DeviceModel(StandardLoad, PowerLoadInterruption)StandardLoadPowerLoadInterruption
DeviceModel(InterruptiblePowerLoad, StaticPowerLoad)InterruptiblePowerLoadStaticPowerLoad
DeviceModel(FixedAdmittance, StaticPowerLoad)FixedAdmittanceStaticPowerLoad
DeviceModel(PowerSystems.SwitchedAdmittance, StaticPowerLoad)PowerSystems.SwitchedAdmittanceStaticPowerLoad
DeviceModel(PowerLoad, StaticPowerLoad)PowerLoadStaticPowerLoad
DeviceModel(PowerSystems.ExponentialLoad, StaticPowerLoad)PowerSystems.ExponentialLoadStaticPowerLoad
DeviceModel(StandardLoad, StaticPowerLoad)StandardLoadStaticPowerLoad

StaticPowerLoad

Variables:

No variables are created

Time Series Parameters:

ParameterDefault Time Series Name
ReactivePowerTimeSeriesParametermax_active_power
ActivePowerTimeSeriesParametermax_active_power

Expressions:

Subtracts the parameters listed above from the respective active and reactive power balance expressions created by the selected Network Formulations

Constraints:

No constraints are created


PowerLoadInterruption

Variables:

Time Series Parameters:

ParameterDefault Time Series Name
ReactivePowerTimeSeriesParametermax_active_power
ActivePowerTimeSeriesParametermax_active_power

Objective:

Creates an objective function term based on the VariableCost Options where the quantity term is defined as $Pg$.

Expressions:

  • Adds $Pg$ and $Qg$ terms and to the respective active and reactive power balance expressions created by the selected Network Formulations
  • Subtracts the time series parameters listed above terms from the respective active and reactive power balance expressions created by the selected Network Formulations

Constraints:

$Pg$ and $Qg$ represent the "unserved" active and reactive power loads

\[\begin{aligned} +Load · PowerSimulations.jl

PowerSystems.ElectricLoad Formulations

Valid DeviceModels for subtypes of ElectricLoad include the following:

Valid DeviceModelDevice TypeFormulation
DeviceModel(InterruptiblePowerLoad, PowerLoadDispatch)InterruptiblePowerLoadPowerLoadDispatch
DeviceModel(PowerLoad, PowerLoadDispatch)PowerLoadPowerLoadDispatch
DeviceModel(PowerSystems.ExponentialLoad, PowerLoadDispatch)PowerSystems.ExponentialLoadPowerLoadDispatch
DeviceModel(StandardLoad, PowerLoadDispatch)StandardLoadPowerLoadDispatch
DeviceModel(InterruptiblePowerLoad, PowerLoadInterruption)InterruptiblePowerLoadPowerLoadInterruption
DeviceModel(PowerLoad, PowerLoadInterruption)PowerLoadPowerLoadInterruption
DeviceModel(PowerSystems.ExponentialLoad, PowerLoadInterruption)PowerSystems.ExponentialLoadPowerLoadInterruption
DeviceModel(StandardLoad, PowerLoadInterruption)StandardLoadPowerLoadInterruption
DeviceModel(InterruptiblePowerLoad, StaticPowerLoad)InterruptiblePowerLoadStaticPowerLoad
DeviceModel(FixedAdmittance, StaticPowerLoad)FixedAdmittanceStaticPowerLoad
DeviceModel(PowerSystems.SwitchedAdmittance, StaticPowerLoad)PowerSystems.SwitchedAdmittanceStaticPowerLoad
DeviceModel(PowerLoad, StaticPowerLoad)PowerLoadStaticPowerLoad
DeviceModel(PowerSystems.ExponentialLoad, StaticPowerLoad)PowerSystems.ExponentialLoadStaticPowerLoad
DeviceModel(StandardLoad, StaticPowerLoad)StandardLoadStaticPowerLoad

StaticPowerLoad

Variables:

No variables are created

Time Series Parameters:

ParameterDefault Time Series Name
ReactivePowerTimeSeriesParametermax_active_power
ActivePowerTimeSeriesParametermax_active_power

Expressions:

Subtracts the parameters listed above from the respective active and reactive power balance expressions created by the selected Network Formulations

Constraints:

No constraints are created


PowerLoadInterruption

Variables:

Time Series Parameters:

ParameterDefault Time Series Name
ReactivePowerTimeSeriesParametermax_active_power
ActivePowerTimeSeriesParametermax_active_power

Objective:

Creates an objective function term based on the VariableCost Options where the quantity term is defined as $Pg$.

Expressions:

  • Adds $Pg$ and $Qg$ terms and to the respective active and reactive power balance expressions created by the selected Network Formulations
  • Subtracts the time series parameters listed above terms from the respective active and reactive power balance expressions created by the selected Network Formulations

Constraints:

$Pg$ and $Qg$ represent the "unserved" active and reactive power loads

\[\begin{aligned} & Pg_t \le ActivePowerTimeSeriesParameter_t\\ & Pg_t - u_t ActivePowerTimeSeriesParameter_t \le 0 \\ & Qg_t \le ReactivePowerTimeSeriesParameter_t\\ & Qg_t - u_t ReactivePowerTimeSeriesParameter_t\le 0 -\end{aligned}\]


PowerLoadDispatch

Variables:

Time Series Parameters:

ParameterDefault Time Series Name
ReactivePowerTimeSeriesParametermax_active_power
ActivePowerTimeSeriesParametermax_active_power

Objective:

Creates an objective function term based on the VariableCost Options where the quantity term is defined as $Pg$.

Expressions:

  • Adds $Pg$ and $Qg$ terms and to the respective active and reactive power balance expressions created by the selected Network Formulations
  • Subtracts the time series parameters listed above terms from the respective active and reactive power balance expressions created by the selected Network Formulations

Constraints:

$Pg$ and $Qg$ represent the "unserved" active and reactive power loads

\[\begin{aligned} +\end{aligned}\]


PowerLoadDispatch

Variables:

Time Series Parameters:

ParameterDefault Time Series Name
ReactivePowerTimeSeriesParametermax_active_power
ActivePowerTimeSeriesParametermax_active_power

Objective:

Creates an objective function term based on the VariableCost Options where the quantity term is defined as $Pg$.

Expressions:

  • Adds $Pg$ and $Qg$ terms and to the respective active and reactive power balance expressions created by the selected Network Formulations
  • Subtracts the time series parameters listed above terms from the respective active and reactive power balance expressions created by the selected Network Formulations

Constraints:

$Pg$ and $Qg$ represent the "unserved" active and reactive power loads

\[\begin{aligned} & Pg_t \le ActivePowerTimeSeriesParameter_t\\ & Qg_t \le ReactivePowerTimeSeriesParameter_t\\ -\end{aligned}\]

+\end{aligned}\]

diff --git a/previews/PR1003/formulation_library/Network/index.html b/previews/PR1003/formulation_library/Network/index.html index d7999fe783..25f3762a75 100644 --- a/previews/PR1003/formulation_library/Network/index.html +++ b/previews/PR1003/formulation_library/Network/index.html @@ -1,2 +1,2 @@ -Network · PowerSimulations.jl
+Network · PowerSimulations.jl
diff --git a/previews/PR1003/formulation_library/README/index.html b/previews/PR1003/formulation_library/README/index.html index 1f425166dc..316e88d880 100644 --- a/previews/PR1003/formulation_library/README/index.html +++ b/previews/PR1003/formulation_library/README/index.html @@ -1,2 +1,2 @@ -Formulation documentation guide · PowerSimulations.jl

Formulation documentation guide

Formulation documentation should roughly follow the template established by RenewableGen.md

Auto generated items

  • Valid DeviceModel table: just change the device category in the filter function
  • Time Series Parameters: just change the device category and formulation in the get_defualt_time_series_names method call

Linked items

  • Formulations in the Valid DeviceModel table must have a docstring in src/core/formulations.jl
  • The Formulation in the @docs block must have a docstring in src/core/formulations.jl
  • The Variables must have docstrings in src/core/variables.jl
  • The Time Series Paraemters must have docstrings in src/core/paramters.jl
+Formulation documentation guide · PowerSimulations.jl

Formulation documentation guide

Formulation documentation should roughly follow the template established by RenewableGen.md

Auto generated items

  • Valid DeviceModel table: just change the device category in the filter function
  • Time Series Parameters: just change the device category and formulation in the get_defualt_time_series_names method call

Linked items

  • Formulations in the Valid DeviceModel table must have a docstring in src/core/formulations.jl
  • The Formulation in the @docs block must have a docstring in src/core/formulations.jl
  • The Variables must have docstrings in src/core/variables.jl
  • The Time Series Paraemters must have docstrings in src/core/paramters.jl
diff --git a/previews/PR1003/formulation_library/RenewableGen/index.html b/previews/PR1003/formulation_library/RenewableGen/index.html index 6757759d0e..d85a2e8676 100644 --- a/previews/PR1003/formulation_library/RenewableGen/index.html +++ b/previews/PR1003/formulation_library/RenewableGen/index.html @@ -1,9 +1,9 @@ -Renewable Generation · PowerSimulations.jl

PowerSystems.RenewableGen Formulations

Valid DeviceModels for subtypes of RenewableGen include the following:

Valid DeviceModelDevice TypeFormulation
DeviceModel(RenewableDispatch, FixedOutput)RenewableDispatchFixedOutput
DeviceModel(RenewableFix, FixedOutput)RenewableFixFixedOutput
DeviceModel(RenewableDispatch, RenewableConstantPowerFactor)RenewableDispatchRenewableConstantPowerFactor
DeviceModel(RenewableFix, RenewableConstantPowerFactor)RenewableFixRenewableConstantPowerFactor
DeviceModel(RenewableDispatch, RenewableFullDispatch)RenewableDispatchRenewableFullDispatch
DeviceModel(RenewableFix, RenewableFullDispatch)RenewableFixRenewableFullDispatch

RenewableFullDispatch

Variables:

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:

ParameterDefault Time Series Name
ReactivePowerTimeSeriesParametermax_active_power
ActivePowerTimeSeriesParametermax_active_power

Objective:

Creates an objective function term based on the VariableCost Options where the quantity term is defined as $- Pg_t$ to incentivize generation from RenewableGen devices.

Expressions:

Adds $Pg$ and $Qg$ terms to the respective active and reactive power balance expressions created by the selected Network Formulations

Constraints:

\[\begin{aligned} +Renewable Generation · PowerSimulations.jl

PowerSystems.RenewableGen Formulations

Valid DeviceModels for subtypes of RenewableGen include the following:

Valid DeviceModelDevice TypeFormulation
DeviceModel(RenewableDispatch, FixedOutput)RenewableDispatchFixedOutput
DeviceModel(RenewableFix, FixedOutput)RenewableFixFixedOutput
DeviceModel(RenewableDispatch, RenewableConstantPowerFactor)RenewableDispatchRenewableConstantPowerFactor
DeviceModel(RenewableFix, RenewableConstantPowerFactor)RenewableFixRenewableConstantPowerFactor
DeviceModel(RenewableDispatch, RenewableFullDispatch)RenewableDispatchRenewableFullDispatch
DeviceModel(RenewableFix, RenewableFullDispatch)RenewableFixRenewableFullDispatch

RenewableFullDispatch

Variables:

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:

ParameterDefault Time Series Name
ReactivePowerTimeSeriesParametermax_active_power
ActivePowerTimeSeriesParametermax_active_power

Objective:

Creates an objective function term based on the VariableCost Options where the quantity term is defined as $- Pg_t$ to incentivize generation from RenewableGen devices.

Expressions:

Adds $Pg$ and $Qg$ terms to the respective active and reactive power balance expressions created by the selected Network Formulations

Constraints:

\[\begin{aligned} & Pg^\text{min} \le Pg_t \le ActivePowerTimeSeriesParameter_t \\ & Qg^\text{min} \le Qg_t \le Qg^\text{max} -\end{aligned}\]


RenewableConstantPowerFactor

Variables:

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
  • $pf$ = PowerSystems.get_power_factor(device)

Time Series Parameters:

ParameterDefault Time Series Name
ReactivePowerTimeSeriesParametermax_active_power
ActivePowerTimeSeriesParametermax_active_power

Objective:

Creates an objective function term based on the VariableCost Options where the quantity term is defined as $- Pg_t$ to incentivize generation from RenewableGen devices.

Expressions:

Adds $Pg$ and $Qg$ terms to the respective active and reactive power balance expressions created by the selected Network Formulations

Constraints:

\[\begin{aligned} +\end{aligned}\]


RenewableConstantPowerFactor

Variables:

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
  • $pf$ = PowerSystems.get_power_factor(device)

Time Series Parameters:

ParameterDefault Time Series Name
ReactivePowerTimeSeriesParametermax_active_power
ActivePowerTimeSeriesParametermax_active_power

Objective:

Creates an objective function term based on the VariableCost Options where the quantity term is defined as $- Pg_t$ to incentivize generation from RenewableGen devices.

Expressions:

Adds $Pg$ and $Qg$ terms to the respective active and reactive power balance expressions created by the selected Network Formulations

Constraints:

\[\begin{aligned} & Pg^\text{min} \le Pg_t \le ActivePowerTimeSeriesParameter_t \\ & Qg^\text{min} \le Qg_t \le Qg^\text{max} \\ & Qg_t = pf * Pg_t -\end{aligned}\]

+\end{aligned}\]

diff --git a/previews/PR1003/formulation_library/Service/index.html b/previews/PR1003/formulation_library/Service/index.html index 117fab6057..19e536f0b3 100644 --- a/previews/PR1003/formulation_library/Service/index.html +++ b/previews/PR1003/formulation_library/Service/index.html @@ -1,2 +1,2 @@ -PowerSystems.Service Formulations · PowerSimulations.jl
+PowerSystems.Service Formulations · PowerSimulations.jl
diff --git a/previews/PR1003/formulation_library/ThermalGen/index.html b/previews/PR1003/formulation_library/ThermalGen/index.html index 69c900ef83..fd841a2b6c 100644 --- a/previews/PR1003/formulation_library/ThermalGen/index.html +++ b/previews/PR1003/formulation_library/ThermalGen/index.html @@ -1,2 +1,2 @@ -Thermal Generation · PowerSimulations.jl

ThermalGen Formulations

Valid DeviceModels for subtypes of ThermalGen include the following:

Valid DeviceModelDevice TypeFormulation
DeviceModel(ThermalMultiStart, FixedOutput)ThermalMultiStartFixedOutput
DeviceModel(ThermalStandard, FixedOutput)ThermalStandardFixedOutput
DeviceModel(ThermalMultiStart, ThermalBasicDispatch)ThermalMultiStartThermalBasicDispatch
DeviceModel(ThermalStandard, ThermalBasicDispatch)ThermalStandardThermalBasicDispatch
DeviceModel(ThermalMultiStart, ThermalCompactDispatch)ThermalMultiStartThermalCompactDispatch
DeviceModel(ThermalStandard, ThermalCompactDispatch)ThermalStandardThermalCompactDispatch
DeviceModel(ThermalMultiStart, ThermalDispatchNoMin)ThermalMultiStartThermalDispatchNoMin
DeviceModel(ThermalStandard, ThermalDispatchNoMin)ThermalStandardThermalDispatchNoMin
DeviceModel(ThermalMultiStart, ThermalStandardDispatch)ThermalMultiStartThermalStandardDispatch
DeviceModel(ThermalStandard, ThermalStandardDispatch)ThermalStandardThermalStandardDispatch
DeviceModel(ThermalMultiStart, ThermalBasicCompactUnitCommitment)ThermalMultiStartThermalBasicCompactUnitCommitment
DeviceModel(ThermalStandard, ThermalBasicCompactUnitCommitment)ThermalStandardThermalBasicCompactUnitCommitment
DeviceModel(ThermalMultiStart, ThermalCompactUnitCommitment)ThermalMultiStartThermalCompactUnitCommitment
DeviceModel(ThermalStandard, ThermalCompactUnitCommitment)ThermalStandardThermalCompactUnitCommitment
DeviceModel(ThermalMultiStart, ThermalMultiStartUnitCommitment)ThermalMultiStartThermalMultiStartUnitCommitment
DeviceModel(ThermalMultiStart, ThermalBasicUnitCommitment)ThermalMultiStartThermalBasicUnitCommitment
DeviceModel(ThermalStandard, ThermalBasicUnitCommitment)ThermalStandardThermalBasicUnitCommitment
DeviceModel(ThermalMultiStart, ThermalStandardUnitCommitment)ThermalMultiStartThermalStandardUnitCommitment
DeviceModel(ThermalStandard, ThermalStandardUnitCommitment)ThermalStandardThermalStandardUnitCommitment

ThermalBasicDispatch

TODO


ThermalCompactDispatch

TODO


ThermalDispatchNoMin

TODO


ThermalStandardDispatch

TODO


ThermalBasicCompactUnitCommitment

TODO


ThermalCompactUnitCommitment

TODO


ThermalMultiStartUnitCommitment

TODO


ThermalBasicUnitCommitment

TODO


ThermalStandardUnitCommitment

TODO


+Thermal Generation · PowerSimulations.jl

ThermalGen Formulations

Valid DeviceModels for subtypes of ThermalGen include the following:

Valid DeviceModelDevice TypeFormulation
DeviceModel(ThermalMultiStart, FixedOutput)ThermalMultiStartFixedOutput
DeviceModel(ThermalStandard, FixedOutput)ThermalStandardFixedOutput
DeviceModel(ThermalMultiStart, ThermalBasicDispatch)ThermalMultiStartThermalBasicDispatch
DeviceModel(ThermalStandard, ThermalBasicDispatch)ThermalStandardThermalBasicDispatch
DeviceModel(ThermalMultiStart, ThermalCompactDispatch)ThermalMultiStartThermalCompactDispatch
DeviceModel(ThermalStandard, ThermalCompactDispatch)ThermalStandardThermalCompactDispatch
DeviceModel(ThermalMultiStart, ThermalDispatchNoMin)ThermalMultiStartThermalDispatchNoMin
DeviceModel(ThermalStandard, ThermalDispatchNoMin)ThermalStandardThermalDispatchNoMin
DeviceModel(ThermalMultiStart, ThermalStandardDispatch)ThermalMultiStartThermalStandardDispatch
DeviceModel(ThermalStandard, ThermalStandardDispatch)ThermalStandardThermalStandardDispatch
DeviceModel(ThermalMultiStart, ThermalBasicCompactUnitCommitment)ThermalMultiStartThermalBasicCompactUnitCommitment
DeviceModel(ThermalStandard, ThermalBasicCompactUnitCommitment)ThermalStandardThermalBasicCompactUnitCommitment
DeviceModel(ThermalMultiStart, ThermalCompactUnitCommitment)ThermalMultiStartThermalCompactUnitCommitment
DeviceModel(ThermalStandard, ThermalCompactUnitCommitment)ThermalStandardThermalCompactUnitCommitment
DeviceModel(ThermalMultiStart, ThermalMultiStartUnitCommitment)ThermalMultiStartThermalMultiStartUnitCommitment
DeviceModel(ThermalMultiStart, ThermalBasicUnitCommitment)ThermalMultiStartThermalBasicUnitCommitment
DeviceModel(ThermalStandard, ThermalBasicUnitCommitment)ThermalStandardThermalBasicUnitCommitment
DeviceModel(ThermalMultiStart, ThermalStandardUnitCommitment)ThermalMultiStartThermalStandardUnitCommitment
DeviceModel(ThermalStandard, ThermalStandardUnitCommitment)ThermalStandardThermalStandardUnitCommitment

ThermalBasicDispatch

TODO


ThermalCompactDispatch

TODO


ThermalDispatchNoMin

TODO


ThermalStandardDispatch

TODO


ThermalBasicCompactUnitCommitment

TODO


ThermalCompactUnitCommitment

TODO


ThermalMultiStartUnitCommitment

TODO


ThermalBasicUnitCommitment

TODO


ThermalStandardUnitCommitment

TODO


diff --git a/previews/PR1003/index.html b/previews/PR1003/index.html index cdf1ca2a36..bbc6675a44 100644 --- a/previews/PR1003/index.html +++ b/previews/PR1003/index.html @@ -1,2 +1,2 @@ -Welcome Page · PowerSimulations.jl

PowerSimulations.jl

Overview

PowerSimulations.jl is a power system operations simulation tool developed as a flexible and open source software for quasi-static power systems simulations including Production Cost Models. PowerSimulations.jl tackles the issues of developing a simulation model in a modular way providing tools for the formulation of decision models and emulation models that can be solved independently or in an interconnected fashion.

PowerSimulations.jl supports the workflows to develop simulations by separating the development of operations models and simulation models.

  • Operation Models: Optimization model used to find the solution of an operation problem.
  • Simulations Models: Defined the requirements to find solutions to a sequence of operation problems in a way that resembles the procedures followed by operators.

The most common Simulation Model is the solution of a Unit Commitment and Economic Dispatch sequence of problems. This model is used in commercial Production Cost Modeling tools, but it has a limited scope of analysis.

How the documentation is structured

PowerSimulations.jl documentation and code are organized according to the needs of different users depending on their skillset and requirements. In broad terms there are three categories:

  • Modeler: Users that want to solve an operations problem or run a simulation using the existing models in PowerSimulations.jl. For instance, answer questions about the change in operation costs in future fuel mixes. Check the formulations library page to choose a modeling strategy that fits your needs.

  • Model Developer: Users that want to develop custom models and workflows for the simulation of a power system operation. For instance, study the impacts of an stochastic optimization problem over a deterministic.

  • Code Base Developers: Users that want to add new core functionalities or fix bugs in the core capabilities of PowerSimulations.jl.

PowerSimulations.jl is an active project under development, and we welcome your feedback, suggestions, and bug reports.

Note: PowerSimulations.jl uses the data model implemented in PowerSystems.jl to construct optimization models. In most cases, you need to add PowerSystems.jl to your scripts.

Installation

The latest stable release of PowerSimulations can be installed using the Julia package manager with

] add PowerSimulations

For the current development version, "checkout" this package with

] add PowerSimulations#main

An appropriate optimization solver is required for running PowerSimulations models. Refer to JuMP.jl solver's page to select the most appropriate for the application of interest.


PowerSystems has been developed as part of the Scalable Integrated Infrastructure Planning (SIIP) initiative at the U.S. Department of Energy's National Renewable Energy Laboratory (NREL).

+Welcome Page · PowerSimulations.jl

PowerSimulations.jl

Overview

PowerSimulations.jl is a power system operations simulation tool developed as a flexible and open source software for quasi-static power systems simulations including Production Cost Models. PowerSimulations.jl tackles the issues of developing a simulation model in a modular way providing tools for the formulation of decision models and emulation models that can be solved independently or in an interconnected fashion.

PowerSimulations.jl supports the workflows to develop simulations by separating the development of operations models and simulation models.

  • Operation Models: Optimization model used to find the solution of an operation problem.
  • Simulations Models: Defined the requirements to find solutions to a sequence of operation problems in a way that resembles the procedures followed by operators.

The most common Simulation Model is the solution of a Unit Commitment and Economic Dispatch sequence of problems. This model is used in commercial Production Cost Modeling tools, but it has a limited scope of analysis.

How the documentation is structured

PowerSimulations.jl documentation and code are organized according to the needs of different users depending on their skillset and requirements. In broad terms there are three categories:

  • Modeler: Users that want to solve an operations problem or run a simulation using the existing models in PowerSimulations.jl. For instance, answer questions about the change in operation costs in future fuel mixes. Check the formulations library page to choose a modeling strategy that fits your needs.

  • Model Developer: Users that want to develop custom models and workflows for the simulation of a power system operation. For instance, study the impacts of an stochastic optimization problem over a deterministic.

  • Code Base Developers: Users that want to add new core functionalities or fix bugs in the core capabilities of PowerSimulations.jl.

PowerSimulations.jl is an active project under development, and we welcome your feedback, suggestions, and bug reports.

Note: PowerSimulations.jl uses the data model implemented in PowerSystems.jl to construct optimization models. In most cases, you need to add PowerSystems.jl to your scripts.

Installation

The latest stable release of PowerSimulations can be installed using the Julia package manager with

] add PowerSimulations

For the current development version, "checkout" this package with

] add PowerSimulations#main

An appropriate optimization solver is required for running PowerSimulations models. Refer to JuMP.jl solver's page to select the most appropriate for the application of interest.


PowerSystems has been developed as part of the Scalable Integrated Infrastructure Planning (SIIP) initiative at the U.S. Department of Energy's National Renewable Energy Laboratory (NREL).

diff --git a/previews/PR1003/model_developer_guide/structure_of_operation_problem/index.html b/previews/PR1003/model_developer_guide/structure_of_operation_problem/index.html index fe548c1864..d3ae11124d 100644 --- a/previews/PR1003/model_developer_guide/structure_of_operation_problem/index.html +++ b/previews/PR1003/model_developer_guide/structure_of_operation_problem/index.html @@ -23,4 +23,4 @@ end return - end + end diff --git a/previews/PR1003/model_developer_guide/troubleshooting/index.html b/previews/PR1003/model_developer_guide/troubleshooting/index.html index dcf79f64eb..f6532e84ed 100644 --- a/previews/PR1003/model_developer_guide/troubleshooting/index.html +++ b/previews/PR1003/model_developer_guide/troubleshooting/index.html @@ -1,2 +1,2 @@ -Troubleshooting · PowerSimulations.jl
+Troubleshooting · PowerSimulations.jl
diff --git a/previews/PR1003/modeler_guide/debugging_infeasible_models/index.html b/previews/PR1003/modeler_guide/debugging_infeasible_models/index.html index c4b6a5305e..ee46ca1304 100644 --- a/previews/PR1003/modeler_guide/debugging_infeasible_models/index.html +++ b/previews/PR1003/modeler_guide/debugging_infeasible_models/index.html @@ -1,2 +1,2 @@ -Debugging infeasible models · PowerSimulations.jl
+Debugging infeasible models · PowerSimulations.jl
diff --git a/previews/PR1003/modeler_guide/definitions/index.html b/previews/PR1003/modeler_guide/definitions/index.html index 5c28cf1f9e..fa2794fc69 100644 --- a/previews/PR1003/modeler_guide/definitions/index.html +++ b/previews/PR1003/modeler_guide/definitions/index.html @@ -1,2 +1,2 @@ -Definitions · PowerSimulations.jl

Definitions

D

  • Decision Problem: A decision problem calculates the desired system operation based on forecasts of uncertain inputs and information about the state of the system. The output of a decision problem represents the policies used to drive the set-points of the system's devices, like generators or switches, and depends on the purpose of the problem. See the Decision Model Tutorial to learn more about solving individual problems.

  • Device Formulation: The model of a device that is incorporated into a large system optimization models. For instance, the storage device model used inside of a Unit Commitment (UC) problem. A device model needs to follow some requirements to be integrated into operation problems.

E

  • Emulation Problem: An emulation problem is used to mimic the system's behavior subject to an incoming decision and the realization of a forecasted inputs. The solution of the emulator produces outputs representative of the system performance when operating subject the policies resulting from the decision models.

H

I

  • Interval: The amount of time between updates to the decision problem. For instance, Day-Ahead problems usually have a 24-hour intervals and Real-Time problems have 5-minute intervals. Check the time Time Series Data Section in PowerSystems.jl

R

  • Resolution: The amount of time between timesteps in a simulation. For instance 1-hour or 5-minutes. In Julia these are defined using the syntax Hour(1) and Minute(5). Check the time Time Series Data Section in PowerSystems.jl
+Definitions · PowerSimulations.jl

Definitions

D

  • Decision Problem: A decision problem calculates the desired system operation based on forecasts of uncertain inputs and information about the state of the system. The output of a decision problem represents the policies used to drive the set-points of the system's devices, like generators or switches, and depends on the purpose of the problem. See the Decision Model Tutorial to learn more about solving individual problems.

  • Device Formulation: The model of a device that is incorporated into a large system optimization models. For instance, the storage device model used inside of a Unit Commitment (UC) problem. A device model needs to follow some requirements to be integrated into operation problems.

E

  • Emulation Problem: An emulation problem is used to mimic the system's behavior subject to an incoming decision and the realization of a forecasted inputs. The solution of the emulator produces outputs representative of the system performance when operating subject the policies resulting from the decision models.

H

I

  • Interval: The amount of time between updates to the decision problem. For instance, Day-Ahead problems usually have a 24-hour intervals and Real-Time problems have 5-minute intervals. Check the time Time Series Data Section in PowerSystems.jl

R

  • Resolution: The amount of time between timesteps in a simulation. For instance 1-hour or 5-minutes. In Julia these are defined using the syntax Hour(1) and Minute(5). Check the time Time Series Data Section in PowerSystems.jl
diff --git a/previews/PR1003/modeler_guide/logging/index.html b/previews/PR1003/modeler_guide/logging/index.html index c3ea41e614..e53e4e2f3d 100644 --- a/previews/PR1003/modeler_guide/logging/index.html +++ b/previews/PR1003/modeler_guide/logging/index.html @@ -8,4 +8,4 @@ )

Configuring the simulation logger

You can configure the logging level used by the simulation logger when you call build!(simulation). Here is an example that increases logging verbosity:

import Logging
 using PowerSimulations
 simulation = Simulation(...)
-build!(simulation, console_level = Logging.Info, file_level = Logging.Debug)

The log file will be located at <your-output-path>/<simulation-name>/<run-output-dir>/logs/simulation.log.

Solver logs

You can configure logging for the solver you use. Refer to the solver documentation. PowerSimulations does not redirect or intercept prints to stdout or stderr from other libraries.

Recorder events

PowerSimulations uses the InfrastructureSystems.Recorder to store simulation events in a log file. Refer to this link for more information.

+build!(simulation, console_level = Logging.Info, file_level = Logging.Debug)

The log file will be located at <your-output-path>/<simulation-name>/<run-output-dir>/logs/simulation.log.

Solver logs

You can configure logging for the solver you use. Refer to the solver documentation. PowerSimulations does not redirect or intercept prints to stdout or stderr from other libraries.

Recorder events

PowerSimulations uses the InfrastructureSystems.Recorder to store simulation events in a log file. Refer to this link for more information.

diff --git a/previews/PR1003/modeler_guide/modeling_faq/index.html b/previews/PR1003/modeler_guide/modeling_faq/index.html index 61f42d0f9f..dcbd4071dc 100644 --- a/previews/PR1003/modeler_guide/modeling_faq/index.html +++ b/previews/PR1003/modeler_guide/modeling_faq/index.html @@ -1,2 +1,2 @@ -Modeling FAQ · PowerSimulations.jl

Modeling FAQ

How do I reduce the amount of print on my REPL?

The print to the REPL is controlled with the logging. Check the Logging documentation page to see how to reduce the print out

How do I print the optimizer logs to see the solution process?

When specifying the DecisionModel or EmulationModel pass the keyword print_optimizer_log = true

+Modeling FAQ · PowerSimulations.jl

Modeling FAQ

How do I reduce the amount of print on my REPL?

The print to the REPL is controlled with the logging. Check the Logging documentation page to see how to reduce the print out

How do I print the optimizer logs to see the solution process?

When specifying the DecisionModel or EmulationModel pass the keyword print_optimizer_log = true

diff --git a/previews/PR1003/modeler_guide/parallel_simulations/index.html b/previews/PR1003/modeler_guide/parallel_simulations/index.html index 420ee62075..fcbb950b49 100644 --- a/previews/PR1003/modeler_guide/parallel_simulations/index.html +++ b/previews/PR1003/modeler_guide/parallel_simulations/index.html @@ -102,4 +102,4 @@ project_path=".", # This optionally specifies the Julia project environment to load. ) Created Jade configuration in config.json. Run 'jade submit-jobs [options] config.json' to execute them.

Exit Julia.

  1. View the configuration for accuracy.
$ jade config show config.json
  1. Start an interactive session on a debug node. Do not submit the jobs on a login node! The submission step will run a full build of the simulation and that may consume too many CPU and memory resources for the login node.
$ salloc -t 01:00:00 -N1 --account=<your-account> --partition=debug
  1. Follow the instructions at https://nrel.github.io/jade/tutorial.html to submit the jobs. The example below will configure Jade to run each partition on its own compute node. Depending on the compute and memory constraints of your simulation, you may be able to pack more jobs on each node.

    Adjust the walltime as necessary.

$ jade config hpc -c hpc_config.toml -t slurm  --walltime=04:00:00 -a <your-account>
-$ jade submit-jobs config.json --per-node-batch-size=1 -o output

If you are unsure about how much memory and CPU resources your simulation consumes, add these options:

$ jade submit-jobs config.json --per-node-batch-size=1 -o output --resource-monitor-type periodic --resource-monitor-interval 3

Jade will create HTML plots of the resource utilization in output/stats. You may be able to customize --per-node-batch-size and --num-processes to finish the simulations more quickly.

  1. Jade will run a final command to join the simulation partitions into one unified file. You can load the results as you normally would.
julia> results = SimulationResults("<output-dir>/job-outputs/<simulation-name>")

Note the log files and results for each partition are located in <output-dir>/job-outputs/<simulation-name>/simulation_partitions

+$ jade submit-jobs config.json --per-node-batch-size=1 -o output

If you are unsure about how much memory and CPU resources your simulation consumes, add these options:

$ jade submit-jobs config.json --per-node-batch-size=1 -o output --resource-monitor-type periodic --resource-monitor-interval 3

Jade will create HTML plots of the resource utilization in output/stats. You may be able to customize --per-node-batch-size and --num-processes to finish the simulations more quickly.

  1. Jade will run a final command to join the simulation partitions into one unified file. You can load the results as you normally would.
julia> results = SimulationResults("<output-dir>/job-outputs/<simulation-name>")

Note the log files and results for each partition are located in <output-dir>/job-outputs/<simulation-name>/simulation_partitions

diff --git a/previews/PR1003/modeler_guide/problem_templates/index.html b/previews/PR1003/modeler_guide/problem_templates/index.html index 3484483af4..b7c41d4340 100644 --- a/previews/PR1003/modeler_guide/problem_templates/index.html +++ b/previews/PR1003/modeler_guide/problem_templates/index.html @@ -8,7 +8,7 @@ # Accepted Key Words - `network::Type{<:PM.AbstractPowerModel}` : override default network model settings - `devices::Vector{DeviceModel}` : override default `DeviceModel` settings -- `services::Vector{ServiceModel}` : override default `ServiceModel` settingssource
template_economic_dispatch()
+- `services::Vector{ServiceModel}` : override default `ServiceModel` settingssource
template_economic_dispatch()
@@ -131,7 +131,7 @@ # Accepted Key Words - `network::Type{<:PM.AbstractPowerModel}` : override default network model settings - `devices::Vector{DeviceModel}` : override default `DeviceModel` settings -- `services::Vector{ServiceModel}` : override default `ServiceModel` settingssource
template_unit_commitment()
Network Model
+- `services::Vector{ServiceModel}` : override default `ServiceModel` settingssource
template_unit_commitment()
@@ -250,5 +250,5 @@
Network Model
PowerSimulations.template_agc_reserve_deploymentFunction
template_agc_reserve_deployment(; kwargs...)
-
template_agc_reserve_deployment(; kwargs...)

Creates a ProblemTemplate with default DeviceModels for an AGC Reserve Deplyment Problem. This model doesn't support customization

Example

template = agcreservedeployment()

source
using PowerSimulations #hide
-template_agc_reserve_deployment()
+
template_agc_reserve_deployment(; kwargs...)

Creates a ProblemTemplate with default DeviceModels for an AGC Reserve Deplyment Problem. This model doesn't support customization

Example

template = agcreservedeployment()

source
using PowerSimulations #hide
+template_agc_reserve_deployment()
diff --git a/previews/PR1003/modeler_guide/psi_structure/index.html b/previews/PR1003/modeler_guide/psi_structure/index.html index 77e14f3307..693fc65cb0 100644 --- a/previews/PR1003/modeler_guide/psi_structure/index.html +++ b/previews/PR1003/modeler_guide/psi_structure/index.html @@ -1,2 +1,2 @@ -PowerSimulations.jl Modeling Structure · PowerSimulations.jl

PowerSimulations.jl Modeling Structure

PowerSimulations enables the simulation of a sequence of power systems optimization problems and provides user control over each aspect of the simulation configuration. Specifically:

What is the difference between a Model and a Problem?

A "Problem" is an abstract mathematical description of how to represent power system behavior, whereas a "Model" is a concrete representation of a "Problem" applied to a dataset. I.e. once a Problem is populated with data describing all the loads, generators, lines, etc., it becomes a Model.

+PowerSimulations.jl Modeling Structure · PowerSimulations.jl

PowerSimulations.jl Modeling Structure

PowerSimulations enables the simulation of a sequence of power systems optimization problems and provides user control over each aspect of the simulation configuration. Specifically:

What is the difference between a Model and a Problem?

A "Problem" is an abstract mathematical description of how to represent power system behavior, whereas a "Model" is a concrete representation of a "Problem" applied to a dataset. I.e. once a Problem is populated with data describing all the loads, generators, lines, etc., it becomes a Model.

diff --git a/previews/PR1003/modeler_guide/running_a_simulation/index.html b/previews/PR1003/modeler_guide/running_a_simulation/index.html index 39b9747439..2bc6ac3f3f 100644 --- a/previews/PR1003/modeler_guide/running_a_simulation/index.html +++ b/previews/PR1003/modeler_guide/running_a_simulation/index.html @@ -1,2 +1,2 @@ -Simulation · PowerSimulations.jl

Simulation

Always try to solve the operations problem first before putting together the simulation

It is not uncommon that when trying to solve a complex simulation the resulting models are infeasible. This situation can be the result of many factors like the input data, the incorrect specification of the initial conditions for models with time dependencies or a poorly specified model. Therefore, it's highly recommended to run and analyze an Operations Problems that reflect the problems that will be included in a simulation prior to executing a simulation.

Check out the Operations Problem Tutorial

Feedforward

TODO

Sequencing

In a typical simulation pipeline, we want to connect daily (24-hours) day-ahead unit commitment problems, with multiple economic dispatch problems. Usually, our day-ahead unit commitment problem will have an hourly (1-hour) resolution, while the economic dispatch will have a 5-minute resolution.

Depending on your problem, it is common to use a 2-day look-ahead for unit commitment problems, so in this case, the Day-Ahead problem will have: resolution = Hour(1) with interval = Hour(24) and horizon = 48. In the case of the economic dispatch problem, it is common to use a look-ahead of two hours. Thus, the Real-Time problem will have: resolution = Minute(5), with interval = Minute(5) (we only store the first operating point) and horizon = 24 (24 time steps of 5 minutes are 120 minutes, that is 2 hours).

+Simulation · PowerSimulations.jl

Simulation

Always try to solve the operations problem first before putting together the simulation

It is not uncommon that when trying to solve a complex simulation the resulting models are infeasible. This situation can be the result of many factors like the input data, the incorrect specification of the initial conditions for models with time dependencies or a poorly specified model. Therefore, it's highly recommended to run and analyze an Operations Problems that reflect the problems that will be included in a simulation prior to executing a simulation.

Check out the Operations Problem Tutorial

Feedforward

TODO

Sequencing

In a typical simulation pipeline, we want to connect daily (24-hours) day-ahead unit commitment problems, with multiple economic dispatch problems. Usually, our day-ahead unit commitment problem will have an hourly (1-hour) resolution, while the economic dispatch will have a 5-minute resolution.

Depending on your problem, it is common to use a 2-day look-ahead for unit commitment problems, so in this case, the Day-Ahead problem will have: resolution = Hour(1) with interval = Hour(24) and horizon = 48. In the case of the economic dispatch problem, it is common to use a look-ahead of two hours. Thus, the Real-Time problem will have: resolution = Minute(5), with interval = Minute(5) (we only store the first operating point) and horizon = 24 (24 time steps of 5 minutes are 120 minutes, that is 2 hours).

diff --git a/previews/PR1003/modeler_guide/simulation_recorder/index.html b/previews/PR1003/modeler_guide/simulation_recorder/index.html index 4a3b68206c..d3d05074b2 100644 --- a/previews/PR1003/modeler_guide/simulation_recorder/index.html +++ b/previews/PR1003/modeler_guide/simulation_recorder/index.html @@ -40,4 +40,4 @@ │ ProblemExecutionEvent │ 2024-01-01T20:00:00 │ 1 │ 2 │ start │ │ ProblemExecutionEvent │ 2024-01-01T21:00:00 │ 1 │ 2 │ start │ │ ProblemExecutionEvent │ 2024-01-01T22:00:00 │ 1 │ 2 │ start │ -└──────────────────────┴─────────────────────┴──────┴───────┴────────┘ +└──────────────────────┴─────────────────────┴──────┴───────┴────────┘ diff --git a/previews/PR1003/modeler_guide/tips_and_tricks/index.html b/previews/PR1003/modeler_guide/tips_and_tricks/index.html index 03ee6df0e5..15daf68214 100644 --- a/previews/PR1003/modeler_guide/tips_and_tricks/index.html +++ b/previews/PR1003/modeler_guide/tips_and_tricks/index.html @@ -1,2 +1,2 @@ -Tips and tricks · PowerSimulations.jl
+Tips and tricks · PowerSimulations.jl
diff --git a/previews/PR1003/quick_start_guide/index.html b/previews/PR1003/quick_start_guide/index.html index 8bc632ba65..3dd8ad080c 100644 --- a/previews/PR1003/quick_start_guide/index.html +++ b/previews/PR1003/quick_start_guide/index.html @@ -1,2 +1,2 @@ -Quick Start Guide · PowerSimulations.jl

Quick Start Guide

Tip

If you need to develop a dataset for a simulation check the PowerSystems.jl Tutorials on how to parse data and attach time series

  • Tutorial: If you are eager to run your first simulation visit the Solve a Day Ahead Market Scheduling Problem using PowerSimulations.jl tutorial
+Quick Start Guide · PowerSimulations.jl

Quick Start Guide

Tip

If you need to develop a dataset for a simulation check the PowerSystems.jl Tutorials on how to parse data and attach time series

  • Tutorial: If you are eager to run your first simulation visit the Solve a Day Ahead Market Scheduling Problem using PowerSimulations.jl tutorial
diff --git a/previews/PR1003/search/index.html b/previews/PR1003/search/index.html index ccda7fcc22..2925fec690 100644 --- a/previews/PR1003/search/index.html +++ b/previews/PR1003/search/index.html @@ -1,2 +1,2 @@ -Search · PowerSimulations.jl

Loading search...

    +Search · PowerSimulations.jl

    Loading search...

      diff --git a/previews/PR1003/tutorials/adding_new_device_formulation/index.html b/previews/PR1003/tutorials/adding_new_device_formulation/index.html index da5306b700..a82b8ae25b 100644 --- a/previews/PR1003/tutorials/adding_new_device_formulation/index.html +++ b/previews/PR1003/tutorials/adding_new_device_formulation/index.html @@ -1,2 +1,2 @@ -Adding Device Formulations · PowerSimulations.jl
      +Adding Device Formulations · PowerSimulations.jl
      diff --git a/previews/PR1003/tutorials/adding_new_problem_model/index.html b/previews/PR1003/tutorials/adding_new_problem_model/index.html index 80d383b5ae..e45cfe69bb 100644 --- a/previews/PR1003/tutorials/adding_new_problem_model/index.html +++ b/previews/PR1003/tutorials/adding_new_problem_model/index.html @@ -73,4 +73,4 @@ end return - end + end diff --git a/previews/PR1003/tutorials/basics_of_developing_models/index.html b/previews/PR1003/tutorials/basics_of_developing_models/index.html index 90a02bb444..cf1c0b246f 100644 --- a/previews/PR1003/tutorials/basics_of_developing_models/index.html +++ b/previews/PR1003/tutorials/basics_of_developing_models/index.html @@ -1,2 +1,2 @@ -Basics of Developing Operation Models · PowerSimulations.jl
      +Basics of Developing Operation Models · PowerSimulations.jl
      diff --git a/previews/PR1003/tutorials/decision_problem/index.html b/previews/PR1003/tutorials/decision_problem/index.html index d22634307a..9866556165 100644 --- a/previews/PR1003/tutorials/decision_problem/index.html +++ b/previews/PR1003/tutorials/decision_problem/index.html @@ -129,13 +129,13 @@ VariableReserve - 4 + 1 true true VariableReserve - 1 + 4 true true @@ -252,10 +252,10 @@

      PowerSimulations Problem Expressions Results - ProductionCostExpression__ThermalStandard + ProductionCostExpression__RenewableDispatch - ProductionCostExpression__RenewableDispatch + ProductionCostExpression__ThermalStandard @@ -264,25 +264,25 @@

      PowerSimulations Problem Parameters Results - ActivePowerTimeSeriesParameter__RenewableDispatch + RequirementTimeSeriesParameter__VariableReserve__ReserveUp__Spin_Up_R2 - RequirementTimeSeriesParameter__VariableReserve__ReserveUp__Reg_Up + RequirementTimeSeriesParameter__VariableReserve__ReserveUp__Spin_Up_R3 - ActivePowerTimeSeriesParameter__PowerLoad + ActivePowerTimeSeriesParameter__RenewableDispatch - RequirementTimeSeriesParameter__VariableReserve__ReserveDown__Reg_Down + RequirementTimeSeriesParameter__VariableReserve__ReserveUp__Reg_Up - RequirementTimeSeriesParameter__VariableReserve__ReserveUp__Spin_Up_R2 + RequirementTimeSeriesParameter__VariableReserve__ReserveUp__Spin_Up_R1 - RequirementTimeSeriesParameter__VariableReserve__ReserveUp__Spin_Up_R1 + ActivePowerTimeSeriesParameter__PowerLoad - RequirementTimeSeriesParameter__VariableReserve__ReserveUp__Spin_Up_R3 + RequirementTimeSeriesParameter__VariableReserve__ReserveDown__Reg_Down @@ -291,46 +291,46 @@

      PowerSimulations Problem Variables Results - ActivePowerVariable__ThermalStandard + StopVariable__ThermalStandard - StopVariable__ThermalStandard + ActivePowerVariable__RenewableDispatch - StartVariable__ThermalStandard + ActivePowerReserveVariable__VariableReserve__ReserveUp__Spin_Up_R2 - ActivePowerReserveVariable__VariableReserve__ReserveDown__Reg_Down + OnVariable__ThermalStandard - ActivePowerReserveVariable__VariableReserve__ReserveUp__Reg_Up + ActivePowerReserveVariable__VariableReserve__ReserveDown__Reg_Down - ActivePowerReserveVariable__VariableReserve__ReserveUp__Spin_Up_R2 + ActivePowerReserveVariable__VariableReserve__ReserveUp__Spin_Up_R3 - ActivePowerReserveVariable__VariableReserve__ReserveUp__Spin_Up_R1 + ActivePowerReserveVariable__VariableReserve__ReserveUp__Reg_Up - OnVariable__ThermalStandard + ActivePowerReserveVariable__VariableReserve__ReserveUp__Spin_Up_R1 - ActivePowerReserveVariable__VariableReserve__ReserveUp__Spin_Up_R3 + ActivePowerVariable__ThermalStandard - ActivePowerVariable__RenewableDispatch + StartVariable__ThermalStandard -

      Optimizer Stats

      The optimizer summary is included

      get_optimizer_stats(res)
      1×20 DataFrame
      Rowdetailed_statsobjective_valuetermination_statusprimal_statusdual_statussolver_solve_timeresult_counthas_valueshas_dualsobjective_bounddual_objective_valuesolve_timebarrier_iterationssimplex_iterationsnode_counttimed_solve_timetimed_calculate_aux_variablestimed_calculate_dual_variablessolve_bytes_allocsec_in_gc
      BoolFloat64Int64Int64Int64Float64Int64BoolBoolMissingMissingFloat64MissingMissingMissingFloat64Float64Float64Float64Float64
      1false2.35848e6110NaN1falsefalsemissingmissing0.803081missingmissingmissing0.9591070.4381220.0005377082.33068e70.0659511

      Objective Function Value

      get_objective_value(res)
      2.358482086492074e6

      Variable, Parameter, Auxillary Variable, Dual, and Expression Values

      The solution value data frames for variables, parameters, auxillary variables, duals and expressions can be accessed using the read_ methods:

      read_variables(res)
      Dict{String, DataFrames.DataFrame} with 10 entries:
      +

      Optimizer Stats

      The optimizer summary is included

      get_optimizer_stats(res)
      1×20 DataFrame
      Rowdetailed_statsobjective_valuetermination_statusprimal_statusdual_statussolver_solve_timeresult_counthas_valueshas_dualsobjective_bounddual_objective_valuesolve_timebarrier_iterationssimplex_iterationsnode_counttimed_solve_timetimed_calculate_aux_variablestimed_calculate_dual_variablessolve_bytes_allocsec_in_gc
      BoolFloat64Int64Int64Int64Float64Int64BoolBoolMissingMissingFloat64MissingMissingMissingFloat64Float64Float64Float64Float64
      1false2.35848e6110NaN1falsefalsemissingmissing0.776019missingmissingmissing0.9121990.4183760.0005112082.33068e70.0465434

      Objective Function Value

      get_objective_value(res)
      2.358482086492074e6

      Variable, Parameter, Auxillary Variable, Dual, and Expression Values

      The solution value data frames for variables, parameters, auxillary variables, duals and expressions can be accessed using the read_ methods:

      read_variables(res)
      Dict{String, DataFrames.DataFrame} with 10 entries:
         "ActivePowerReserveVaria… => 24×52 DataFrame…
         "StartVariable__ThermalS… => 24×55 DataFrame…
         "ActivePowerVariable__Th… => 24×55 DataFrame…
         "StopVariable__ThermalSt… => 24×55 DataFrame…
      -  "ActivePowerReserveVaria… => 24×52 DataFrame…
      -  "ActivePowerReserveVaria… => 24×18 DataFrame…
         "ActivePowerVariable__Re… => 24×30 DataFrame…
      -  "ActivePowerReserveVaria… => 24×17 DataFrame…
      +  "ActivePowerReserveVaria… => 24×18 DataFrame…
      +  "ActivePowerReserveVaria… => 24×52 DataFrame…
         "OnVariable__ThermalStan… => 24×55 DataFrame…
      +  "ActivePowerReserveVaria… => 24×17 DataFrame…
         "ActivePowerReserveVaria… => 24×19 DataFrame…

      Or, you can read a single parameter values for parameters that exist in the results.

      list_parameter_names(res)
      -read_parameter(res, "ActivePowerTimeSeriesParameter__RenewableDispatch")
      24×30 DataFrame
      RowDateTime122_WIND_1324_PV_3312_PV_1102_PV_1101_PV_1324_PV_2313_PV_2104_PV_1101_PV_2309_WIND_1310_PV_2113_PV_1317_WIND_1314_PV_1324_PV_1103_PV_1303_WIND_1314_PV_2102_PV_2314_PV_3320_PV_1101_PV_3319_PV_1314_PV_4310_PV_1215_PV_1313_PV_1101_PV_4119_PV_1
      DateTimeFloat64Float64Float64Float64Float64Float64Float64Float64Float64Float64Float64Float64Float64Float64Float64Float64Float64Float64Float64Float64Float64Float64Float64Float64Float64Float64Float64Float64Float64
      12020-01-01T00:00:00713.20.00.00.00.00.00.00.00.0142.80.00.0795.10.00.00.0480.80.00.00.00.00.00.00.00.00.00.00.00.0
      22020-01-01T01:00:00712.80.00.00.00.00.00.00.00.0139.10.00.0794.40.00.00.0634.90.00.00.00.00.00.00.00.00.00.00.00.0
      32020-01-01T02:00:00708.40.00.00.00.00.00.00.00.0145.30.00.0773.60.00.00.0487.30.00.00.00.00.00.00.00.00.00.00.00.0
      42020-01-01T03:00:00710.70.00.00.00.00.00.00.00.0144.80.00.0767.30.00.00.0432.70.00.00.00.00.00.00.00.00.00.00.00.0
      52020-01-01T04:00:00701.40.00.00.00.00.00.00.00.0137.10.00.0752.20.00.00.0407.90.00.00.00.00.00.00.00.00.00.00.00.0
      62020-01-01T05:00:00682.50.00.00.00.00.00.00.00.098.60.00.0719.40.00.00.0440.20.00.00.00.00.00.00.00.00.00.00.00.0
      72020-01-01T06:00:00614.70.00.00.00.00.00.00.00.062.20.00.0655.30.00.00.0377.30.00.00.00.00.00.00.00.00.00.00.00.0
      82020-01-01T07:00:00517.736.452.230.629.636.462.229.830.447.338.299.4594.647.444.829.8199.346.630.063.847.830.6179.246.438.2127.662.228.827.2
      92020-01-01T08:00:00426.663.497.436.834.863.496.035.037.048.961.4126.2579.161.265.258.4110.667.036.4100.061.437.4248.067.061.4164.695.635.456.6
      102020-01-01T09:00:00274.271.2118.038.036.471.4117.636.638.230.766.8133.2466.869.068.076.63.669.837.6121.869.838.8273.469.866.8172.2116.835.874.8
      112020-01-01T10:00:0093.072.2132.037.836.472.2130.836.638.027.470.2134.2301.470.270.289.82.472.237.4129.070.438.6277.872.270.4173.2128.437.488.2
      122020-01-01T11:00:006.370.6135.237.035.070.6134.235.437.260.969.8135.2110.767.070.298.056.272.436.6128.667.237.6263.272.469.6170.0133.238.691.6
      132020-01-01T12:00:003.867.4131.036.235.467.4129.635.636.420.467.8133.078.967.268.294.091.570.235.8128.267.437.0267.470.267.6169.0128.837.890.6
      142020-01-01T13:00:001.165.2125.435.235.065.2123.635.435.41.667.2126.6107.967.065.881.4103.067.634.8119.667.035.8258.867.667.0161.8122.835.879.2
      152020-01-01T14:00:000.060.2109.631.031.060.4108.031.431.20.063.2110.222.359.462.659.439.764.230.8107.059.431.6227.864.262.8143.2106.831.459.0
      162020-01-01T15:00:000.042.069.020.219.242.065.620.620.22.645.062.824.642.444.825.487.746.220.065.843.420.6151.646.243.882.262.820.427.8
      172020-01-01T16:00:000.90.00.00.00.00.00.00.00.037.90.00.010.80.00.00.092.30.00.00.00.00.00.00.00.00.00.00.00.0
      182020-01-01T17:00:00276.30.00.00.00.00.00.00.00.046.90.00.0243.20.00.00.089.40.00.00.00.00.00.00.00.00.00.00.00.0
      192020-01-01T18:00:00272.90.00.00.00.00.00.00.00.024.00.00.0375.20.00.00.090.40.00.00.00.00.00.00.00.00.00.00.00.0
      202020-01-01T19:00:00345.60.00.00.00.00.00.00.00.024.00.00.0568.40.00.00.081.10.00.00.00.00.00.00.00.00.00.00.00.0
      212020-01-01T20:00:00411.70.00.00.00.00.00.00.00.027.40.00.0636.10.00.00.0172.90.00.00.00.00.00.00.00.00.00.00.00.0
      222020-01-01T21:00:00376.60.00.00.00.00.00.00.00.06.50.00.0719.20.00.00.0326.90.00.00.00.00.00.00.00.00.00.00.00.0
      232020-01-01T22:00:00561.30.00.00.00.00.00.00.00.01.30.00.0734.90.00.00.0256.70.00.00.00.00.00.00.00.00.00.00.00.0
      242020-01-01T23:00:00568.40.00.00.00.00.00.00.00.00.10.00.0729.10.00.00.0141.10.00.00.00.00.00.00.00.00.00.00.00.0

      Plotting

      Take a look at the plotting capabilities in PowerGraphics.jl

      +read_parameter(res, "ActivePowerTimeSeriesParameter__RenewableDispatch")
      24×30 DataFrame
      RowDateTime122_WIND_1324_PV_3312_PV_1102_PV_1101_PV_1324_PV_2313_PV_2104_PV_1101_PV_2309_WIND_1310_PV_2113_PV_1317_WIND_1314_PV_1324_PV_1103_PV_1303_WIND_1314_PV_2102_PV_2314_PV_3320_PV_1101_PV_3319_PV_1314_PV_4310_PV_1215_PV_1313_PV_1101_PV_4119_PV_1
      DateTimeFloat64Float64Float64Float64Float64Float64Float64Float64Float64Float64Float64Float64Float64Float64Float64Float64Float64Float64Float64Float64Float64Float64Float64Float64Float64Float64Float64Float64Float64
      12020-01-01T00:00:00713.20.00.00.00.00.00.00.00.0142.80.00.0795.10.00.00.0480.80.00.00.00.00.00.00.00.00.00.00.00.0
      22020-01-01T01:00:00712.80.00.00.00.00.00.00.00.0139.10.00.0794.40.00.00.0634.90.00.00.00.00.00.00.00.00.00.00.00.0
      32020-01-01T02:00:00708.40.00.00.00.00.00.00.00.0145.30.00.0773.60.00.00.0487.30.00.00.00.00.00.00.00.00.00.00.00.0
      42020-01-01T03:00:00710.70.00.00.00.00.00.00.00.0144.80.00.0767.30.00.00.0432.70.00.00.00.00.00.00.00.00.00.00.00.0
      52020-01-01T04:00:00701.40.00.00.00.00.00.00.00.0137.10.00.0752.20.00.00.0407.90.00.00.00.00.00.00.00.00.00.00.00.0
      62020-01-01T05:00:00682.50.00.00.00.00.00.00.00.098.60.00.0719.40.00.00.0440.20.00.00.00.00.00.00.00.00.00.00.00.0
      72020-01-01T06:00:00614.70.00.00.00.00.00.00.00.062.20.00.0655.30.00.00.0377.30.00.00.00.00.00.00.00.00.00.00.00.0
      82020-01-01T07:00:00517.736.452.230.629.636.462.229.830.447.338.299.4594.647.444.829.8199.346.630.063.847.830.6179.246.438.2127.662.228.827.2
      92020-01-01T08:00:00426.663.497.436.834.863.496.035.037.048.961.4126.2579.161.265.258.4110.667.036.4100.061.437.4248.067.061.4164.695.635.456.6
      102020-01-01T09:00:00274.271.2118.038.036.471.4117.636.638.230.766.8133.2466.869.068.076.63.669.837.6121.869.838.8273.469.866.8172.2116.835.874.8
      112020-01-01T10:00:0093.072.2132.037.836.472.2130.836.638.027.470.2134.2301.470.270.289.82.472.237.4129.070.438.6277.872.270.4173.2128.437.488.2
      122020-01-01T11:00:006.370.6135.237.035.070.6134.235.437.260.969.8135.2110.767.070.298.056.272.436.6128.667.237.6263.272.469.6170.0133.238.691.6
      132020-01-01T12:00:003.867.4131.036.235.467.4129.635.636.420.467.8133.078.967.268.294.091.570.235.8128.267.437.0267.470.267.6169.0128.837.890.6
      142020-01-01T13:00:001.165.2125.435.235.065.2123.635.435.41.667.2126.6107.967.065.881.4103.067.634.8119.667.035.8258.867.667.0161.8122.835.879.2
      152020-01-01T14:00:000.060.2109.631.031.060.4108.031.431.20.063.2110.222.359.462.659.439.764.230.8107.059.431.6227.864.262.8143.2106.831.459.0
      162020-01-01T15:00:000.042.069.020.219.242.065.620.620.22.645.062.824.642.444.825.487.746.220.065.843.420.6151.646.243.882.262.820.427.8
      172020-01-01T16:00:000.90.00.00.00.00.00.00.00.037.90.00.010.80.00.00.092.30.00.00.00.00.00.00.00.00.00.00.00.0
      182020-01-01T17:00:00276.30.00.00.00.00.00.00.00.046.90.00.0243.20.00.00.089.40.00.00.00.00.00.00.00.00.00.00.00.0
      192020-01-01T18:00:00272.90.00.00.00.00.00.00.00.024.00.00.0375.20.00.00.090.40.00.00.00.00.00.00.00.00.00.00.00.0
      202020-01-01T19:00:00345.60.00.00.00.00.00.00.00.024.00.00.0568.40.00.00.081.10.00.00.00.00.00.00.00.00.00.00.00.0
      212020-01-01T20:00:00411.70.00.00.00.00.00.00.00.027.40.00.0636.10.00.00.0172.90.00.00.00.00.00.00.00.00.00.00.00.0
      222020-01-01T21:00:00376.60.00.00.00.00.00.00.00.06.50.00.0719.20.00.00.0326.90.00.00.00.00.00.00.00.00.00.00.00.0
      232020-01-01T22:00:00561.30.00.00.00.00.00.00.00.01.30.00.0734.90.00.00.0256.70.00.00.00.00.00.00.00.00.00.00.00.0
      242020-01-01T23:00:00568.40.00.00.00.00.00.00.00.00.10.00.0729.10.00.00.0141.10.00.00.00.00.00.00.00.00.00.00.00.0

      Plotting

      Take a look at the plotting capabilities in PowerGraphics.jl

      diff --git a/previews/PR1003/tutorials/jl_Dy9uxn/rts-test/logs/simulation.log b/previews/PR1003/tutorials/jl_Dy9uxn/rts-test/logs/simulation.log deleted file mode 100644 index 7f5b22b5a3..0000000000 --- a/previews/PR1003/tutorials/jl_Dy9uxn/rts-test/logs/simulation.log +++ /dev/null @@ -1,23 +0,0 @@ -┌ Info: 2023-09-13T20:41:24.653 [2984:1]: Building problem UC -└ @ PowerSimulations /home/runner/work/PowerSimulations.jl/PowerSimulations.jl/src/simulation/simulation.jl:271 -┌ Info: 2023-09-13T20:41:24.684 [2984:1]: Initializing Optimization Container For a DecisionModel -└ @ PowerSimulations /home/runner/work/PowerSimulations.jl/PowerSimulations.jl/src/operation/decision_model.jl:290 -┌ Info: 2023-09-13T20:41:24.685 [2984:1]: Initializing ModelStoreParams -└ @ PowerSimulations /home/runner/work/PowerSimulations.jl/PowerSimulations.jl/src/operation/decision_model.jl:296 -┌ Info: 2023-09-13T20:41:24.685 [2984:1]: Instantiating Network Model -└ @ PowerSimulations /home/runner/work/PowerSimulations.jl/PowerSimulations.jl/src/operation/decision_model.jl:305 -┌ Info: 2023-09-13T20:41:24.685 [2984:1]: Validating connectivity with depth first search (network traversal) -└ @ PowerNetworkMatrices /home/runner/.julia/packages/PowerNetworkMatrices/jxG9P/src/system_utils.jl:12 -┌ Warning: 2023-09-13T20:41:24.685 [2984:1]: No reference bus in the subnetwork associated with bus 101. References buses will be assigned arbitrarily -└ @ PowerNetworkMatrices /home/runner/.julia/packages/PowerNetworkMatrices/jxG9P/src/common.jl:293 -┌ Info: 2023-09-13T20:41:24.685 [2984:1]: Make Initial Conditions Model -└ @ PowerSimulations /home/runner/work/PowerSimulations.jl/PowerSimulations.jl/src/operation/operation_model_interface.jl:188 -┌ Warning: 2023-09-13T20:41:24.851 [2984:1]: Overwriting ("", Symbol("VariableReserve{ReserveUp}")) existing model -└ @ PowerSimulations /home/runner/work/PowerSimulations.jl/PowerSimulations.jl/src/core/service_model.jl:113 -┌ Warning: 2023-09-13T20:41:24.851 [2984:1]: Overwriting ("", Symbol("VariableReserve{ReserveUp}")) existing model -└ @ PowerSimulations /home/runner/work/PowerSimulations.jl/PowerSimulations.jl/src/core/service_model.jl:113 -┌ Warning: 2023-09-13T20:41:24.852 [2984:1]: Overwriting ("", Symbol("VariableReserve{ReserveUp}")) existing model -└ @ PowerSimulations /home/runner/work/PowerSimulations.jl/PowerSimulations.jl/src/core/service_model.jl:113 -┌ Error: 2023-09-13T20:41:27.916 [2984:1]: Simulation build failed -│ exception = (KeyError(316), Union{Ptr{Nothing}, Base.InterpreterIP}[Ptr{Nothing} @0x00007faac91eb63e, Ptr{Nothing} @0x00007faac91eb6c3, Ptr{Nothing} @0x00007fab1df0ff4d, Ptr{Nothing} @0x00007faac07d32f6, Ptr{Nothing} @0x00007faac07d34f2, Ptr{Nothing} @0x00007fab1df0ff4d, Ptr{Nothing} @0x00007faac07caf09, Ptr{Nothing} @0x00007faac07cafa2, Ptr{Nothing} @0x00007fab1df0ff4d, Ptr{Nothing} @0x00007faac9153f76, Ptr{Nothing} @0x00007faac915f936, Ptr{Nothing} @0x00007faac916080f, Ptr{Nothing} @0x00007faac917b88f, Ptr{Nothing} @0x00007faac91adc39, Ptr{Nothing} @0x00007faac91adf42, Ptr{Nothing} @0x00007fab1df0ff4d, Ptr{Nothing} @0x00007faac0793c2d, Ptr{Nothing} @0x00007faac07bf34a, Ptr{Nothing} @0x00007faac07c08fb, Ptr{Nothing} @0x00007faac07c0916, Ptr{Nothing} @0x00007fab1df0ff4d, Ptr{Nothing} @0x00007faac078e009, Ptr{Nothing} @0x00007faac078e84f, Ptr{Nothing} @0x00007fab1df0ff4d, Ptr{Nothing} @0x00007fab08a992a8, Ptr{Nothing} @0x00007faac078d338, Ptr{Nothing} @0x00007faac078dd69, Ptr{Nothing} @0x00007faac078dda2, Ptr{Nothing} @0x00007fab1df0ff4d, Ptr{Nothing} @0x00007fab1df2bd94, Ptr{Nothing} @0x00007fab1df2b7b7, Ptr{Nothing} @0x00007fab1df2c405, Ptr{Nothing} @0x00007fab1df2d2e1, Base.InterpreterIP in top-level CodeInfo for Main.__atexample__named__pcm at statement 0, Ptr{Nothing} @0x00007fab1df4822b, Ptr{Nothing} @0x00007fab1df48a79, Ptr{Nothing} @0x00007fab1df49dfa, Ptr{Nothing} @0x00007faacfb98696, Ptr{Nothing} @0x00007faacfb9893e, Ptr{Nothing} @0x00007faacfb992ff, Ptr{Nothing} @0x00007faacfb9994f, Ptr{Nothing} @0x00007fab1df0ff4d, Ptr{Nothing} @0x00007fab08a992a8, Ptr{Nothing} @0x00007faacfb9833b, Ptr{Nothing} @0x00007faacfb984af, Ptr{Nothing} @0x00007fab1df0ff4d, Ptr{Nothing} @0x00007faacfb9711d, Ptr{Nothing} @0x00007faacfb97146, Ptr{Nothing} @0x00007fab1df0ff4d, Ptr{Nothing} @0x00007faacfb951dc, Ptr{Nothing} @0x00007faacfb96f7e, Ptr{Nothing} @0x00007fab1df0ff4d, Ptr{Nothing} @0x00007fab1df20e50, Ptr{Nothing} @0x00007fab071da41b, Ptr{Nothing} @0x00007fab1df0ff4d, Ptr{Nothing} @0x00007fab071d987e, Ptr{Nothing} @0x00007fab071d9c8f, Ptr{Nothing} @0x00007fab071d9e13, Ptr{Nothing} @0x00007fab1df0ff4d, Ptr{Nothing} @0x00007fab07150c15, Ptr{Nothing} @0x00007fab07150d7e, Ptr{Nothing} @0x00007fab071511f1, Ptr{Nothing} @0x00007fab07151351, Ptr{Nothing} @0x00007fab07151382, Ptr{Nothing} @0x00007fab1df0ff4d, Ptr{Nothing} @0x00007fab07138687, Ptr{Nothing} @0x00007fab1df485db, Ptr{Nothing} @0x00007fab1df48a79, Ptr{Nothing} @0x00007fab1df49dfa, Ptr{Nothing} @0x00007fab09796667, Ptr{Nothing} @0x00007fab1df0ff4d, Ptr{Nothing} @0x00007fab095cabfd, Ptr{Nothing} @0x00007fab08e46e93, Ptr{Nothing} @0x00007fab08e46eaf, Ptr{Nothing} @0x00007fab1df0ff4d, Ptr{Nothing} @0x00007fab097cc06e, Ptr{Nothing} @0x00007fab091f6d4f, Ptr{Nothing} @0x00007fab091f6e58, Ptr{Nothing} @0x00007fab1df0ff4d, Ptr{Nothing} @0x00007fab1df74a15, Ptr{Nothing} @0x00007fab1df7545e, Ptr{Nothing} @0x0000000000401088, Ptr{Nothing} @0x00007fab1eb16d8f, Ptr{Nothing} @0x00007fab1eb16e3f, Ptr{Nothing} @0x00000000004010b8]) -└ @ PowerSimulations /home/runner/work/PowerSimulations.jl/PowerSimulations.jl/src/simulation/simulation.jl:653 diff --git a/previews/PR1003/tutorials/jl_GSKlBR/rts-test/logs/simulation.log b/previews/PR1003/tutorials/jl_GSKlBR/rts-test/logs/simulation.log new file mode 100644 index 0000000000..5f2d2c7a66 --- /dev/null +++ b/previews/PR1003/tutorials/jl_GSKlBR/rts-test/logs/simulation.log @@ -0,0 +1,23 @@ +┌ Info: 2023-09-13T21:42:47.859 [2985:1]: Building problem UC +└ @ PowerSimulations /home/runner/work/PowerSimulations.jl/PowerSimulations.jl/src/simulation/simulation.jl:271 +┌ Info: 2023-09-13T21:42:47.892 [2985:1]: Initializing Optimization Container For a DecisionModel +└ @ PowerSimulations /home/runner/work/PowerSimulations.jl/PowerSimulations.jl/src/operation/decision_model.jl:290 +┌ Info: 2023-09-13T21:42:47.893 [2985:1]: Initializing ModelStoreParams +└ @ PowerSimulations /home/runner/work/PowerSimulations.jl/PowerSimulations.jl/src/operation/decision_model.jl:296 +┌ Info: 2023-09-13T21:42:47.893 [2985:1]: Instantiating Network Model +└ @ PowerSimulations /home/runner/work/PowerSimulations.jl/PowerSimulations.jl/src/operation/decision_model.jl:305 +┌ Info: 2023-09-13T21:42:47.893 [2985:1]: Validating connectivity with depth first search (network traversal) +└ @ PowerNetworkMatrices /home/runner/.julia/packages/PowerNetworkMatrices/jxG9P/src/system_utils.jl:12 +┌ Warning: 2023-09-13T21:42:47.893 [2985:1]: No reference bus in the subnetwork associated with bus 101. References buses will be assigned arbitrarily +└ @ PowerNetworkMatrices /home/runner/.julia/packages/PowerNetworkMatrices/jxG9P/src/common.jl:293 +┌ Info: 2023-09-13T21:42:47.893 [2985:1]: Make Initial Conditions Model +└ @ PowerSimulations /home/runner/work/PowerSimulations.jl/PowerSimulations.jl/src/operation/operation_model_interface.jl:188 +┌ Warning: 2023-09-13T21:42:48.046 [2985:1]: Overwriting ("", Symbol("VariableReserve{ReserveUp}")) existing model +└ @ PowerSimulations /home/runner/work/PowerSimulations.jl/PowerSimulations.jl/src/core/service_model.jl:113 +┌ Warning: 2023-09-13T21:42:48.047 [2985:1]: Overwriting ("", Symbol("VariableReserve{ReserveUp}")) existing model +└ @ PowerSimulations /home/runner/work/PowerSimulations.jl/PowerSimulations.jl/src/core/service_model.jl:113 +┌ Warning: 2023-09-13T21:42:48.047 [2985:1]: Overwriting ("", Symbol("VariableReserve{ReserveUp}")) existing model +└ @ PowerSimulations /home/runner/work/PowerSimulations.jl/PowerSimulations.jl/src/core/service_model.jl:113 +┌ Error: 2023-09-13T21:42:50.928 [2985:1]: Simulation build failed +│ exception = (KeyError(316), Union{Ptr{Nothing}, Base.InterpreterIP}[Ptr{Nothing} @0x00007f6ae19eccce, Ptr{Nothing} @0x00007f6ae19ecd53, Ptr{Nothing} @0x00007f6b06a42f4d, Ptr{Nothing} @0x00007f6adc3d99c6, Ptr{Nothing} @0x00007f6adc3d9bc2, Ptr{Nothing} @0x00007f6b06a42f4d, Ptr{Nothing} @0x00007f6adc3d15d9, Ptr{Nothing} @0x00007f6adc3d1672, Ptr{Nothing} @0x00007f6b06a42f4d, Ptr{Nothing} @0x00007f6ae1954d46, Ptr{Nothing} @0x00007f6ae1960706, Ptr{Nothing} @0x00007f6ae19615df, Ptr{Nothing} @0x00007f6ae197c65f, Ptr{Nothing} @0x00007f6ae19aea29, Ptr{Nothing} @0x00007f6ae19aed32, Ptr{Nothing} @0x00007f6b06a42f4d, Ptr{Nothing} @0x00007f6adc39a6dd, Ptr{Nothing} @0x00007f6adc3c5dea, Ptr{Nothing} @0x00007f6adc3c739b, Ptr{Nothing} @0x00007f6adc3c73b6, Ptr{Nothing} @0x00007f6b06a42f4d, Ptr{Nothing} @0x00007f6adc394ab9, Ptr{Nothing} @0x00007f6adc3952ff, Ptr{Nothing} @0x00007f6b06a42f4d, Ptr{Nothing} @0x00007f6af14292a8, Ptr{Nothing} @0x00007f6adc393de8, Ptr{Nothing} @0x00007f6adc394819, Ptr{Nothing} @0x00007f6adc394852, Ptr{Nothing} @0x00007f6b06a42f4d, Ptr{Nothing} @0x00007f6b06a5ed94, Ptr{Nothing} @0x00007f6b06a5e7b7, Ptr{Nothing} @0x00007f6b06a5f405, Ptr{Nothing} @0x00007f6b06a602e1, Base.InterpreterIP in top-level CodeInfo for Main.__atexample__named__pcm at statement 0, Ptr{Nothing} @0x00007f6b06a7b22b, Ptr{Nothing} @0x00007f6b06a7ba79, Ptr{Nothing} @0x00007f6b06a7cdfa, Ptr{Nothing} @0x00007f6ae3b6c576, Ptr{Nothing} @0x00007f6ae3b6c81e, Ptr{Nothing} @0x00007f6ae3b6d1df, Ptr{Nothing} @0x00007f6ae3b6d82f, Ptr{Nothing} @0x00007f6b06a42f4d, Ptr{Nothing} @0x00007f6af14292a8, Ptr{Nothing} @0x00007f6ae3b6c21b, Ptr{Nothing} @0x00007f6ae3b6c38f, Ptr{Nothing} @0x00007f6b06a42f4d, Ptr{Nothing} @0x00007f6ae3b6affd, Ptr{Nothing} @0x00007f6ae3b6b026, Ptr{Nothing} @0x00007f6b06a42f4d, Ptr{Nothing} @0x00007f6ae3b690bc, Ptr{Nothing} @0x00007f6ae3b6ae5e, Ptr{Nothing} @0x00007f6b06a42f4d, Ptr{Nothing} @0x00007f6b06a53e50, Ptr{Nothing} @0x00007f6b015da40b, Ptr{Nothing} @0x00007f6b06a42f4d, Ptr{Nothing} @0x00007f6b015d986e, Ptr{Nothing} @0x00007f6b015d9c7f, Ptr{Nothing} @0x00007f6b015d9e03, Ptr{Nothing} @0x00007f6b06a42f4d, Ptr{Nothing} @0x00007f6b01550c45, Ptr{Nothing} @0x00007f6b01550dae, Ptr{Nothing} @0x00007f6b01551221, Ptr{Nothing} @0x00007f6b01551381, Ptr{Nothing} @0x00007f6b015513b2, Ptr{Nothing} @0x00007f6b06a42f4d, Ptr{Nothing} @0x00007f6b015386b7, Ptr{Nothing} @0x00007f6b06a7b5db, Ptr{Nothing} @0x00007f6b06a7ba79, Ptr{Nothing} @0x00007f6b06a7cdfa, Ptr{Nothing} @0x00007f6af2126667, Ptr{Nothing} @0x00007f6b06a42f4d, Ptr{Nothing} @0x00007f6af1f5abfd, Ptr{Nothing} @0x00007f6af17d6e93, Ptr{Nothing} @0x00007f6af17d6eaf, Ptr{Nothing} @0x00007f6b06a42f4d, Ptr{Nothing} @0x00007f6af215c06e, Ptr{Nothing} @0x00007f6af1b86d4f, Ptr{Nothing} @0x00007f6af1b86e58, Ptr{Nothing} @0x00007f6b06a42f4d, Ptr{Nothing} @0x00007f6b06aa7a15, Ptr{Nothing} @0x00007f6b06aa845e, Ptr{Nothing} @0x0000000000401088, Ptr{Nothing} @0x00007f6b07829d8f, Ptr{Nothing} @0x00007f6b07829e3f, Ptr{Nothing} @0x00000000004010b8]) +└ @ PowerSimulations /home/runner/work/PowerSimulations.jl/PowerSimulations.jl/src/simulation/simulation.jl:653 diff --git a/previews/PR1003/tutorials/jl_Dy9uxn/rts-test/recorder/execution.log b/previews/PR1003/tutorials/jl_GSKlBR/rts-test/recorder/execution.log similarity index 100% rename from previews/PR1003/tutorials/jl_Dy9uxn/rts-test/recorder/execution.log rename to previews/PR1003/tutorials/jl_GSKlBR/rts-test/recorder/execution.log diff --git a/previews/PR1003/tutorials/jl_Dy9uxn/rts-test/recorder/simulation_status.log b/previews/PR1003/tutorials/jl_GSKlBR/rts-test/recorder/simulation_status.log similarity index 100% rename from previews/PR1003/tutorials/jl_Dy9uxn/rts-test/recorder/simulation_status.log rename to previews/PR1003/tutorials/jl_GSKlBR/rts-test/recorder/simulation_status.log diff --git a/previews/PR1003/tutorials/pcm_simulation/index.html b/previews/PR1003/tutorials/pcm_simulation/index.html index d161f1c01b..30096cd97e 100644 --- a/previews/PR1003/tutorials/pcm_simulation/index.html +++ b/previews/PR1003/tutorials/pcm_simulation/index.html @@ -131,13 +131,13 @@ VariableReserve - 4 + 1 true true VariableReserve - 1 + 4 true true @@ -318,13 +318,13 @@

      5-Mi VariableReserve - 4 + 1 true true VariableReserve - 1 + 4 true true @@ -733,4 +733,4 @@

      read_realized_variables( uc_results, ["ActivePowerVariable__ThermalStandard", "ActivePowerVariable__RenewableDispatch"], -)

      Plotting

      Take a look at the plotting capabilities in PowerGraphics.jl

      +)

      Plotting

      Take a look at the plotting capabilities in PowerGraphics.jl