Skip to content

csiro-energy-systems/PowerModelsACDCsecurityconstrained.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

77 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PowerModelsACDCsecurityconstrained (PMACDCsc)

PMACDCsc is a Julia/JuMP package for steady-state security-constrained optimization problems for hybrid AC/DC grids. PMACDCsc extends PowerModelsSecurityConstrained.jl to the features of PowerModelsACDC.jl. The code is engineered to address the problem specifications such as:

  • Security-constrained optimal power flow (SCOPF);
  • Security-constrained unit commitment (SCUC);
  • Post-preventive SCOPF curative re-dispatch;
  • Contingency filtering (severity index (SI filter), and non-dominated contingency (NDC filter));
  • Security-constrained transmisssion network expansion planning (SCTNEP);
  • Optimal power and frequency control ancillary services (OPFCAS); and
  • Marginal Loss Factor (MLF) calculation.

Building upon the PowerModels.jl and PowerModelsACDC.jl architecture, the code supports the formulations such as:

  • ACPPowerModel; and
  • DCPPowerModel.

Moreover, the code supports the following netowk data formats:

  • Matpower ".m" files; and
  • PTI ".raw" files (PSS(R)E v33 specification).

Usage

Clone the package and add it to your julia environment using:

] develop https://github.com/csiro-energy-systems/PowerModelsACDCsecurityconstrained.jl.git

Add all dependencies, such as, PowerModels, PowerModelsACDC, PowerModelsSecurityConstrained etc. using:

] add PowerModels

Make sure that your Julia registry is up to date. To detect and download the latest version of the packages use:

] update

SCOPF implimentations

PMACDCsc provides several SCOPF formulations conforming to the ARPA-e GOC Challenge 1 specifications extended for hybrid AC/DC grids, which are given as follows.

Two-stage mathematical programming model (TSMP): complete base and contingency case models:

run_scopf_acdc_contingencies(data, scopf_formulation, filter_formulation, scopf_problem, scopf_solver, filter_solver, setting)

As an example, it can be used as:

result = PowerModelsACDCsecurityconstrained.run_scopf_acdc_contingencies(data, PowerModels.ACPPowerModel, PowerModels.ACPPowerModel, PowerModelsACDCsecurityconstrained.run_scopf, Ipopt.Optimizer, Ipopt.Optimizer, setting)

TSMP model: complete base and contingency case models with soft constraints and penalized slack variables:

run_scopf_acdc_contingencies(data, scopf_formulation, filter_formulation, run_scopf_soft, scopf_solver, filter_solver, setting)

TSMP model: complete base and contingency case models with soft constraints, penalized slack variables, and smooth approximated generator's frequency and voltage response, and AC/DC converter's P-Vdc droop control:

run_scopf_acdc_contingencies(data, scopf_formulation, filter_formulation, run_scopf_soft_smooth, scopf_solver, filter_solver, setting)

TSMP model: complete base and contingency case models with soft constraints, penalized slack variables, and mixed-integer based generator's frequency and voltage response, and AC/DC converter's P-Vdc droop control:

run_scopf_acdc_contingencies(data, scopf_formulation, filter_formulation, run_scopf_soft_minlp, minlp_scopf_solver, filter_solver, setting)

Decomposition based model conforming to the ARPA-e GOC Challenge 1 Benchmark heuristic developed in PowerModelsSecurityConstrained.jl, which is extended to include AC/DC converter station and DC grid models. The contingency case branch flow constraints are enforced by PTDF and DCDF cuts and penalized based on a conservative linear approximation of the formulation's specification.

run_scopf_acdc_cuts(data, scopf_formulation, filter_formulation, run_acdc_scopf_cuts, scopf_solver, filter_solver, setting)

The above mentioned decomposition based model with soft constraints and penalized slack variables:

run_scopf_acdc_cuts(data, scopf_formulation, filter_formulation, run_acdc_scopf_cuts_soft, scopf_solver, filter_solver, setting)

Proof-of-concept studies

Several scripts are provided to showcase how effectively PMACDCsc solves the real-world research problems:

  • The scripts directory provides differnt test case examples of SCOPF implimentations.
  • The src/nem directory provides the AC/DC SCOPF huiristic for the Australian National Electricity Market (NEM).
  • The src/nem directory provides the AC/DC OPFCAS for the Australian NEM.
  • The scripts directory provides the MLF calculation huiristic for the Australian NEM.

The Australian NEM datasets are available at Synthetic-NEM-2000bus-Data.

Citing PMACDCsc

If you find PMACDCsc useful in your work, we kindly request that you cite the following publication PMACDCsc:

@article{PMACDCsc,
title = {AC–DC security-constrained optimal power flow for the Australian National Electricity Market},
journal = {Electric Power Systems Research},
volume = {234},
pages = {110784},
year = {2024},
issn = {0378-7796},
doi = {https://doi.org/10.1016/j.epsr.2024.110784},
url = {https://www.sciencedirect.com/science/article/pii/S0378779624006709},
author = {Ghulam Mohy-ud-din and Rahmat Heidari and Hakan Ergun and Frederik Geth}
}

Contributors

  • Ghulam Mohy ud din (CSIRO): Main developer
  • Mark-Colquhoun (CSIRO): OPFCAS problem and MLF calculation
  • Rahmat Heidarihaei (CSIRO): Supervision and technical support
  • Frederik Geth (GridQube): Advice and support on AC/DC OPF formulations
  • Hakan Ergun (KU Leuven / EnergyVille): Advice and support on AC/DC OPF formulations

License

This package is licensed under CSIRO Open Source Software Licence Agreement (variation of the BSD / MIT License). Copyright (c) 2022, Commonwealth Scientific and Industrial Research Organisation (CSIRO) ABN 41 687 119 230.

About

A Security-Constrained Optimal Power Flow Package for AC/DC grids

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •