DED#

Type for Distributional economic dispatch.

Available routines: DOPF, DOPFVIS

DOPF#

Linearzied distribution OPF, where power loss are ignored.

UNDER DEVELOPMENT!

Reference:

[1] L. Bai, J. Wang, C. Wang, C. Chen, and F. Li, “Distribution Locational Marginal Pricing (DLMP) for Congestion Management and Voltage Support,” IEEE Trans. Power Syst., vol. 33, no. 4, pp. 4061–4073, Jul. 2018, doi: 10.1109/TPWRS.2017.2767632.

Objective#

Unit

Expression

$

\(min. \sum(c_{2} p_g^{2})+ \sum(c_{1} p_g)+ \sum(u_{g} c_{0})\)

Constraints#

Name

Description

Expression

pglb

pg min

\(-p_g + c_{trl,n,e} p_{g, 0} + c_{trl, e} p_{g, min} \leq 0\)

pgub

pg max

\(p_g - c_{trl,n,e} p_{g, 0} - c_{trl, e} p_{g, max} \leq 0\)

sbus

align slack bus angle

\(c_{sb} \theta_{bus} = 0\)

pb

power balance

\(B_{bus} \theta_{bus} + P_{bus}^{inj} + C_{l} p_{d} + C_{sh} g_{sh} - C_{g} p_g = 0\)

plflb

line flow lower bound

\(-B_{f} \theta_{bus} - P_{f}^{inj} - R_{ATEA} \leq 0\)

plfub

line flow upper bound

\(B_{f} \theta_{bus} + P_{f}^{inj} - R_{ATEA} \leq 0\)

alflb

line angle difference lower bound

\(-C_{ft}^T \theta_{bus} + \theta_{bus, min} \leq 0\)

alfub

line angle difference upper bound

\(C_{ft}^T \theta_{bus} - \theta_{bus, max} \leq 0\)

qglb

qg min

\(-q_{g} + u_{g} q_{min} \leq 0\)

qgub

qg max

\(q_{g} - u_{g} q_{max} \leq 0\)

vu

Voltage upper limit

\(v^{2} - v_{max}^{2} \leq 0\)

vl

Voltage lower limit

\(-v^{2} + v_{min}^{2} \leq 0\)

lvd

line voltage drop

\(C_{ft}^T v^{2} - (r p_{lf} + x q_{lf}) = 0\)

qb

reactive power balance

\(\sum(q_{d}) - \sum(q_{g}) = 0\)

Expressions#

Name

Variable

Description

Expression

plfc

plf

plf calculation

\(B_{f} \theta_{bus} + P_{f}^{inj}\)

pic

pi

dual of Constraint pb

\(\phi[pb]\)

Vars#

Name

Symbol

Description

Unit

Source

Properties

pg

\(p_g\)

Gen active power

p.u.

StaticGen.p

aBus

\(\theta_{bus}\)

Bus voltage angle

rad

Bus.a

pi

\(\pi\)

nodal price

$/p.u.

plf

\(p_{lf}\)

Line flow

p.u.

qg

\(q_{g}\)

Gen reactive power

p.u.

StaticGen.q

v

\(v\)

Bus voltage

p.u.

Bus.v

vsq

\(v^{2}\)

square of Bus voltage

p.u.

qlf

\(q_{lf}\)

line reactive power

p.u.

Services#

Name

Symbol

Description

Type

ctrle

\(c_{trl, e}\)

Effective Gen controllability

NumOpDual

nctrl

\(c_{trl,n}\)

Effective Gen uncontrollability

NumOp

nctrle

\(c_{trl,n,e}\)

Effective Gen uncontrollability

NumOpDual

csb

\(c_{sb}\)

select slack bus

VarSelect

Parameters#

Name

Symbol

Description

Unit

Source

c2

\(c_{2}\)

Gen cost coefficient 2

$/(p.u.^2)

GCost.c2

c1

\(c_{1}\)

Gen cost coefficient 1

$/(p.u.)

GCost.c1

c0

\(c_{0}\)

Gen cost coefficient 0

$

GCost.c0

ug

\(u_{g}\)

Gen connection status

StaticGen.u

ctrl

\(c_{trl}\)

Gen controllability

StaticGen.ctrl

pmax

\(p_{g, max}\)

Gen maximum active power

p.u.

StaticGen.pmax

pmin

\(p_{g, min}\)

Gen minimum active power

p.u.

StaticGen.pmin

p0

\(p_{g, 0}\)

Gen initial active power

p.u.

StaticGen.pg0

buss

\(B_{us,s}\)

Bus slack

Slack.bus

pd

\(p_{d}\)

active demand

p.u.

StaticLoad.p0

rate_a

\(R_{ATEA}\)

long-term flow limit

p.u.

Line.rate_a

amax

\(\theta_{bus, max}\)

max line angle difference

Line.amax

amin

\(\theta_{bus, min}\)

min line angle difference

Line.amin

gsh

\(g_{sh}\)

shunt conductance

Shunt.g

Cg

\(C_{g}\)

Gen connection matrix

MatProcessor.Cg

Cl

\(C_{l}\)

Load connection matrix

MatProcessor.Cl

CftT

\(C_{ft}^T\)

Transpose of line connection matrix

MatProcessor.CftT

Csh

\(C_{sh}\)

Shunt connection matrix

MatProcessor.Csh

Bbus

\(B_{bus}\)

Bus admittance matrix

MatProcessor.Bbus

Bf

\(B_{f}\)

Bf matrix

MatProcessor.Bf

Pbusinj

\(P_{bus}^{inj}\)

Bus power injection vector

MatProcessor.Pbusinj

Pfinj

\(P_{f}^{inj}\)

Line power injection vector

MatProcessor.Pfinj

qmax

\(q_{max}\)

generator maximum reactive power

p.u.

StaticGen.qmax

qmin

\(q_{min}\)

generator minimum reactive power

p.u.

StaticGen.qmin

qd

\(q_{d}\)

reactive demand

p.u.

StaticLoad.q0

vmax

\(v_{max}\)

Bus voltage upper limit

p.u.

Bus.vmax

vmin

\(v_{min}\)

Bus voltage lower limit

p.u.

Bus.vmin

r

\(r\)

line resistance

p.u.

Line.r

x

\(x\)

line reactance

p.u.

Line.x

DOPFVIS#

Linearzied distribution OPF with variables for virtual inertia and damping from from REGCV1, where power loss are ignored.

UNDER DEVELOPMENT!

Reference:

[1] L. Bai, J. Wang, C. Wang, C. Chen, and F. Li, “Distribution Locational Marginal Pricing (DLMP) for Congestion Management and Voltage Support,” IEEE Trans. Power Syst., vol. 33, no. 4, pp. 4061–4073, Jul. 2018, doi: 10.1109/TPWRS.2017.2767632.

Objective#

Unit

Expression

$

\(min. \sum(c_{2} p_g^{2} + c_{1} p_g + u_{g} c_{0} + c_{m} M + c_{d} D)\)

Constraints#

Name

Description

Expression

pglb

pg min

\(-p_g + c_{trl,n,e} p_{g, 0} + c_{trl, e} p_{g, min} \leq 0\)

pgub

pg max

\(p_g - c_{trl,n,e} p_{g, 0} - c_{trl, e} p_{g, max} \leq 0\)

sbus

align slack bus angle

\(c_{sb} \theta_{bus} = 0\)

pb

power balance

\(B_{bus} \theta_{bus} + P_{bus}^{inj} + C_{l} p_{d} + C_{sh} g_{sh} - C_{g} p_g = 0\)

plflb

line flow lower bound

\(-B_{f} \theta_{bus} - P_{f}^{inj} - R_{ATEA} \leq 0\)

plfub

line flow upper bound

\(B_{f} \theta_{bus} + P_{f}^{inj} - R_{ATEA} \leq 0\)

alflb

line angle difference lower bound

\(-C_{ft}^T \theta_{bus} + \theta_{bus, min} \leq 0\)

alfub

line angle difference upper bound

\(C_{ft}^T \theta_{bus} - \theta_{bus, max} \leq 0\)

qglb

qg min

\(-q_{g} + u_{g} q_{min} \leq 0\)

qgub

qg max

\(q_{g} - u_{g} q_{max} \leq 0\)

vu

Voltage upper limit

\(v^{2} - v_{max}^{2} \leq 0\)

vl

Voltage lower limit

\(-v^{2} + v_{min}^{2} \leq 0\)

lvd

line voltage drop

\(C_{ft}^T v^{2} - (r p_{lf} + x q_{lf}) = 0\)

qb

reactive power balance

\(\sum(q_{d}) - \sum(q_{g}) = 0\)

Expressions#

Name

Variable

Description

Expression

plfc

plf

plf calculation

\(B_{f} \theta_{bus} + P_{f}^{inj}\)

pic

pi

dual of Constraint pb

\(\phi[pb]\)

Vars#

Name

Symbol

Description

Unit

Source

Properties

pg

\(p_g\)

Gen active power

p.u.

StaticGen.p

aBus

\(\theta_{bus}\)

Bus voltage angle

rad

Bus.a

pi

\(\pi\)

nodal price

$/p.u.

plf

\(p_{lf}\)

Line flow

p.u.

qg

\(q_{g}\)

Gen reactive power

p.u.

StaticGen.q

v

\(v\)

Bus voltage

p.u.

Bus.v

vsq

\(v^{2}\)

square of Bus voltage

p.u.

qlf

\(q_{lf}\)

line reactive power

p.u.

M

\(M\)

Emulated startup time constant (M=2H) from REGCV1

s

D

\(D\)

Emulated damping coefficient from REGCV1

p.u.

Services#

Name

Symbol

Description

Type

ctrle

\(c_{trl, e}\)

Effective Gen controllability

NumOpDual

nctrl

\(c_{trl,n}\)

Effective Gen uncontrollability

NumOp

nctrle

\(c_{trl,n,e}\)

Effective Gen uncontrollability

NumOpDual

csb

\(c_{sb}\)

select slack bus

VarSelect

Parameters#

Name

Symbol

Description

Unit

Source

c2

\(c_{2}\)

Gen cost coefficient 2

$/(p.u.^2)

GCost.c2

c1

\(c_{1}\)

Gen cost coefficient 1

$/(p.u.)

GCost.c1

c0

\(c_{0}\)

Gen cost coefficient 0

$

GCost.c0

ug

\(u_{g}\)

Gen connection status

StaticGen.u

ctrl

\(c_{trl}\)

Gen controllability

StaticGen.ctrl

pmax

\(p_{g, max}\)

Gen maximum active power

p.u.

StaticGen.pmax

pmin

\(p_{g, min}\)

Gen minimum active power

p.u.

StaticGen.pmin

p0

\(p_{g, 0}\)

Gen initial active power

p.u.

StaticGen.pg0

buss

\(B_{us,s}\)

Bus slack

Slack.bus

pd

\(p_{d}\)

active demand

p.u.

StaticLoad.p0

rate_a

\(R_{ATEA}\)

long-term flow limit

p.u.

Line.rate_a

amax

\(\theta_{bus, max}\)

max line angle difference

Line.amax

amin

\(\theta_{bus, min}\)

min line angle difference

Line.amin

gsh

\(g_{sh}\)

shunt conductance

Shunt.g

Cg

\(C_{g}\)

Gen connection matrix

MatProcessor.Cg

Cl

\(C_{l}\)

Load connection matrix

MatProcessor.Cl

CftT

\(C_{ft}^T\)

Transpose of line connection matrix

MatProcessor.CftT

Csh

\(C_{sh}\)

Shunt connection matrix

MatProcessor.Csh

Bbus

\(B_{bus}\)

Bus admittance matrix

MatProcessor.Bbus

Bf

\(B_{f}\)

Bf matrix

MatProcessor.Bf

Pbusinj

\(P_{bus}^{inj}\)

Bus power injection vector

MatProcessor.Pbusinj

Pfinj

\(P_{f}^{inj}\)

Line power injection vector

MatProcessor.Pfinj

qmax

\(q_{max}\)

generator maximum reactive power

p.u.

StaticGen.qmax

qmin

\(q_{min}\)

generator minimum reactive power

p.u.

StaticGen.qmin

qd

\(q_{d}\)

reactive demand

p.u.

StaticLoad.q0

vmax

\(v_{max}\)

Bus voltage upper limit

p.u.

Bus.vmax

vmin

\(v_{min}\)

Bus voltage lower limit

p.u.

Bus.vmin

r

\(r\)

line resistance

p.u.

Line.r

x

\(x\)

line reactance

p.u.

Line.x

cm

\(c_{m}\)

Virtual inertia cost

$/s

VSGCost.cm

cd

\(c_{d}\)

Virtual damping cost

$/(p.u.)

VSGCost.cd