Coder Social home page Coder Social logo

realife-brahmin / multiperiod-distopf-benchmark Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 1.0 498.33 MB

Multi-Period Optimal Power Flow for Active Distribution Systems with Spatially Distributed Computation

MATLAB 64.43% Julia 35.51% Python 0.06%
battery-storage ieee123 inverter-control multi-period-optimization optimal-power-flow photovoltaics spatial-decomposition branch-flow-model multi-period-optimal-power-flow active-power-distribution-system spatially-distributed-computation opendss-validation

multiperiod-distopf-benchmark's Introduction

Multi-Period Distributed Optimal Power Flow

Optimization for Balanced Three-Phase Power Distribution Networks with Renewables and Storage in MATLAB.

Naive Brute Force Multi-Period OPF. A spatially decomposed, temporally brute-forced MPOPF has been implemented.

Objectives currently covered:

  • Loss Minimization

Description of the Modelling of the Radial Power Distribution System

Description of State Variables

Variable Notation Variable Description Number of Variables Nature of Constraint
$P^{t}_{ij}$ Real Power flowing in branch $m$ Nonlinear
$Q^{t}_{ij}$ Reactive Power flowing in branch $m$ Nonlinear
$l^{t}_{ij}$ Square of Magnitude of branch Current $m$ Nonlinear
$v^{t}_{j}$ Square of Magnitude of node Voltage $N$ Nonlinear
$B^{t}_{j}$ Battery State of Charge $n_{B}$ Linear

Description of Control Variables

Variable Notation Variable Description Number of Variables Nature of Constraint
$q^{t}_{D_j}$ Reactive Power of DER (via inverter) $n_{D}$ Linear1
$P^{t}_{c_j}$ Charging Power of Battery $n_{B}$ Linear
$P^{t}_{d_j}$ Discharging Power of Battery $n_{B}$ Linear
$q^{t}_{B_j}$ Reactive Power of Battery (via inverter) $n_{B}$ Linear1

Description of Independent Variables

Variable Notation Variable Description Number of Variables Nature of Constraint
$P^{t}_{L_j}$ Real Power Demand $N$ Linear
$Q^{t}_{L_j}$ Reactive Power Demand $N$ Linear
$P^{t}_{D_j}$ Real Power of DER $n_{D}$ Linear1
$B^{0}_{j}$ Battery Initial State of Charge $n_{B}$ Linear

Miscellaneous Notation

Variable Notation Variable Description Cardinality
$\mathbb{N}$ Set of all the nodes $N$
$\mathbb{L}$ Set containing all the branches $m$
$\mathbb{D}$ Set containing all the nodes containing DERs. $\mathbb{D} \subset \mathbb{N}$ $n_{D}$
$\mathbb{B}$ Set containing all the nodes containing Batteries. $\mathbb{B} \subset \mathbb{N}$ $n_{B}$
$\mathbb{T}$ Set containing all the time-periods $T$
$j$ Denotes a node. $j \in \mathbb{N}$
$(i, j)$ Denotes a branch connecting nodes $i$ and $j$. $(i, j) \in \mathbb{L}$
$t$ Denotes a time-period2. $t \in \mathbb{T}$

Notes

  1. Current modelling. Future modelling will incorporate reactive power as a non-linear function wrt maximum apparent power and real power.
  2. Except when used as a superscript in denoting Battery SOC $B^{t}_j$, $t$ refers to the average value of the variable within the time-period $t$. For Battery SOC, $B^{t}_j$ refers to the value of SOC at the end of time-period $t$.

Related: You may also check out the Greedy Single Time Period Sequential OPF Model repo here. Temporal decomposition will be applied there later, after algorithm development.

multiperiod-distopf-benchmark's People

Contributors

realife-brahmin avatar

Watchers

 avatar

Forkers

dkmahto

multiperiod-distopf-benchmark's Issues

Add a Battery Activity/Contribution Metric which shows total abs(Pc)+abs(Pd) for all batteries

Because right now, with the hard terminal SOC constraint in place, whatever contribution batteries have (and they basically don't have any contribution before T = 10, but that's more likely due to a boring time-series), batteries will always give a net 'contribution' of around 0kW, because they need to ensure (about) the same horizon-total amount of charging and discharging in order to arrive at the same SOC as that at the beginning of the Multi Period.
This new metric will really give a much better perspective on the role of the batteries in the grid.

Add SCD and Battery Energy into simulation result display

MAYBE sometimes DOPF sims are giving more optimal results compared to COPF (MAYBE).
If there is no modelling fault, then I should really check if DOPF is abusing battery energy more (pretty sure SCD is in check for both cases).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.