Main Entrypoint

Entrypoint Functions

PowerModelsONM.entrypointFunction
entrypoint(args::Dict{String,<:Any})::Dict{String,Any}

The main ONM Algorithm, performs the following steps:

If args["debug"] a file containing all data, results, etc. will be written to "debugonmyyyy-mm-dd–HH-MM-SS.json"

Returns the full data structure contains all inputs and outputs.

source
PowerModelsONM.optimize_switches!Function
optimize_switches!(args::Dict{String,<:Any})::Dict{String,Any}

Optimizes switch states (therefore shedding load or not) in-place, for use in entrypoint, using [optimize_switches]

Uses LPUBFDiagPowerModel (LinDist3Flow), and therefore requires args["solvers"]["misocp_solver"] to be specified

source
PowerModelsONM.optimize_dispatch!Function
optimize_dispatch!(
    args::Dict{String,<:Any};
    solver::Union{Missing,String}=missing
)::Dict{String,Any}

Solves optimal dispatch problem in-place, for use in entrypoint, using optimize_dispatch. If you are using this to optimize after running optimize_switches!, this assumes that the correct switch states from those results have already been propagated into args["network"]

solver (default: "nlp_solver") specifies which solver to use for the OPF problem from args["solvers"]

source
PowerModelsONM.run_stability_analysis!Function
run_stability_analysis!(
    args::Dict{String,<:Any};
    validate::Bool=true,
    formulation::Type=PMD.ACRUPowerModel,
    solver::String="nlp_solver"
)::Dict{String,Bool}

Runs small signal stability analysis using PowerModelsStability and determines if each timestep configuration is stable, in-place, storing the results in args["stability_results"], for use in entrypoint, Uses run_stability_analysis

If validate, raw inverters data will be validated against JSON schema

The formulation can be specified with formulation, but note that it must result in "vm" and "va" variables in the solution, or else PowerModelsDistribution.sol_data_model! must support converting the voltage variables into polar coordinates.

solver (default: "nlp_solver") specifies which solver in args["solvers"] to use for the stability analysis (NLP OPF)

source
PowerModelsONM.run_fault_studies!Function
run_fault_studies!(
    args::Dict{String,<:Any};
    validate::Bool=true,
    solver::String="nlp_solver"
)::Dict{String,Any}

Runs fault studies using args["faults"], if defined, and stores the results in-place in args["fault_stuides_results"], for use in entrypoint, using run_fault_studies

source
PowerModelsONM.analyze_results!Function
analyze_results!(args::Dict{String,<:Any})::Dict{String,Any}

Adds information and statistics to "output_data", including

source

Command-line arguments

PowerModelsONM.sanitize_args!Function
sanitize_args!(args::Dict{String,<:Any})::Dict{String,Any}

Sanitizes deprecated arguments into the correct new ones, and gives warnings

source

Binary Operations