DCED#
Type for DC-based economic dispatch.
Common Parameters: c2, c1, c0, pmax, pmin, pd, ptdf, rate_a
Common Vars: pg
Common Constraints: pb, lub, llb
Available routines: DCOPF, ED, EDDG, EDES, RTED, RTEDDG, RTEDES, RTEDVIS
DCOPF#
DC optimal power flow (DCOPF).
The nodal price is calculated as pi
in pic
.
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\) |
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. |
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 |
ED#
DC-based multi-period economic dispatch (ED).
Dispath interval config.t
(\(T_{cfg}\)) is introduced,
1 [Hour] by default.
ED extends DCOPF as follows:
Vars
pg
,pru
,prd
are extended to 2D2D Vars
rgu
andrgd
are introducedParam
ug
is sourced fromEDTSlot.ug
as commitment decisions
Notes#
Formulations has been adjusted with interval
config.t
The tie-line flow is not implemented in this model.
Objective#
Unit |
Expression |
---|---|
$ |
\(min. \sum(T_{cfg}^{2} c_{2} p_g^{2})+ T_{cfg} \sum(c_{1} p_g + c_{sr} p_{r,s})+ \sum(u_{g} c_{0} 1_{tl})\) |
Constraints#
Name |
Description |
Expression |
---|---|---|
pglb |
pg min |
\(-p_g + c_{trl,n,e} p_{g, 0} 1_{tl} + c_{trl, e} 1_{tl} p_{g, min} \leq 0\) |
pgub |
pg max |
\(p_g - c_{trl,n,e} p_{g, 0} 1_{tl} - c_{trl, e} 1_{tl} 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} 1_{tl} + C_{l} p_{d,s} + C_{sh} g_{sh} 1_{tl} - C_{g} p_g = 0\) |
plflb |
line flow lower bound |
\(-B_{f} \theta_{bus} - P_{f}^{inj} 1_{tl} - R_{ATEA} 1_{tl} \leq 0\) |
plfub |
line flow upper bound |
\(B_{f} \theta_{bus} + P_{f}^{inj} 1_{tl} - R_{ATEA} 1_{tl} \leq 0\) |
alflb |
line angle difference lower bound |
\(-C_{ft}^T \theta_{bus} + \theta_{bus, min} 1_{tl} \leq 0\) |
alfub |
line angle difference upper bound |
\(C_{ft}^T \theta_{bus} - \theta_{bus, max} 1_{tl} \leq 0\) |
rbu |
RegUp reserve balance |
\(S_{g} u_{g} p_{r,u} - d_{u, d} 1_{tl} = 0\) |
rbd |
RegDn reserve balance |
\(S_{g} u_{g} p_{r,d} - d_{d, d} 1_{tl} = 0\) |
rru |
RegUp reserve source |
\(u_{g} p_g + p_{r,u} - p_{g, max} 1_{tl} \leq 0\) |
rrd |
RegDn reserve source |
\(u_{g} -p_g + p_{r,d} + p_{g, min} 1_{tl} \leq 0\) |
rgu |
Gen ramping up |
\(p_g M_{r} - T_{cfg} R_{30,R} \leq 0\) |
rgd |
Gen ramping down |
\(-p_g M_{r} - T_{cfg} R_{30,R} \leq 0\) |
prsb |
spinning reserve balance |
\(u_{g} p_{g, max} 1_{tl} - p_g - p_{r,s} = 0\) |
rsr |
spinning reserve requirement |
\(-S_{g} p_{r,s} + d_{s,r,z} \leq 0\) |
rgu0 |
Initial gen ramping up |
\(p_g[:, 0] - p_{g, 0}[:, 0] - R_{30} \leq 0\) |
rgd0 |
Initial gen ramping down |
\(- p_g[:, 0] + p_{g, 0}[:, 0] - R_{30} \leq 0\) |
Expressions#
Name |
Variable |
Description |
Expression |
---|---|---|---|
plfc |
plf |
plf calculation |
\(B_{f} \theta_{bus} + P_{f}^{inj} 1_{tl}\) |
pic |
pi |
dual of Constraint pb |
\(\phi[pb]\) |
Vars#
Name |
Symbol |
Description |
Unit |
Source |
Properties |
---|---|---|---|---|---|
pg |
\(p_g\) |
2D Gen power |
p.u. |
StaticGen.p |
|
aBus |
\(\theta_{bus}\) |
2D Bus angle |
rad |
Bus.a |
|
pi |
\(\pi\) |
nodal price |
$/p.u. |
||
plf |
\(p_{lf}\) |
2D Line flow |
p.u. |
||
pru |
\(p_{r,u}\) |
2D RegUp power |
p.u. |
nonneg |
|
prd |
\(p_{r,d}\) |
2D RegDn power |
p.u. |
nonneg |
|
prs |
\(p_{r,s}\) |
spinning reserve |
p.u. |
nonneg |
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 |
gs |
\(S_{g}\) |
Sum Gen vars vector in shape of zone |
ZonalSum |
ds |
\(S_{d}\) |
Sum pd vector in shape of zone |
ZonalSum |
pdz |
\(p_{d,z}\) |
zonal total load |
NumOpDual |
dud |
\(d_{u, d}\) |
zonal RegUp reserve requirement |
NumOpDual |
ddd |
\(d_{d, d}\) |
zonal RegDn reserve requirement |
NumOpDual |
tlv |
\(1_{tl}\) |
time length vector |
NumOp |
pds |
\(p_{d,s}\) |
Scaled load |
LoadScale |
Mr |
\(M_{r}\) |
Subtraction matrix for ramping |
RampSub |
RR30 |
\(R_{30,R}\) |
Repeated ramp rate |
NumHstack |
dsrpz |
\(d_{s,r, p, z}\) |
zonal spinning reserve requirement in percentage |
NumOpDual |
dsr |
\(d_{s,r,z}\) |
zonal spinning reserve requirement |
NumOpDual |
ugt |
\(u_{g}\) |
input ug transpose |
NumOp |
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}\) |
unit commitment decisions |
EDTSlot.ug |
|
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 |
|
zg |
\(z_{one,g}\) |
Gen zone |
StaticGen.zone |
|
zd |
\(z_{one,d}\) |
Load zone |
StaticLoad.zone |
|
R10 |
\(R_{10}\) |
10-min ramp rate |
p.u./h |
StaticGen.R10 |
cru |
\(c_{r,u}\) |
RegUp reserve coefficient |
$/(p.u.) |
SFRCost.cru |
crd |
\(c_{r,d}\) |
RegDown reserve coefficient |
$/(p.u.) |
SFRCost.crd |
du |
\(d_{u}\) |
RegUp reserve requirement in percentage |
% |
SFR.du |
dd |
\(d_{d}\) |
RegDown reserve requirement in percentage |
% |
SFR.dd |
sd |
\(s_{d}\) |
zonal load factor for ED |
EDTSlot.sd |
|
timeslot |
\(t_{s,idx}\) |
Time slot for multi-period ED |
EDTSlot.idx |
|
R30 |
\(R_{30}\) |
30-min ramp rate |
p.u./h |
StaticGen.R30 |
dsr |
\(d_{sr}\) |
spinning reserve requirement in percentage |
% |
SR.demand |
csr |
\(c_{sr}\) |
cost for spinning reserve |
$/(p.u.*h) |
SRCost.csr |
Config Fields in [ED]
Option |
Symbol |
Value |
Info |
Accepted values |
---|---|---|---|---|
t |
\(T_{cfg}\) |
0.083 |
time interval in hours |
EDDG#
ED with distributed generation DG.
Note that EDDG only inlcudes DG output power. If ESD1 is included, EDES should be used instead, otherwise there is no SOC.
Objective#
Unit |
Expression |
---|---|
$ |
\(min. \sum(T_{cfg}^{2} c_{2} p_g^{2})+ T_{cfg} \sum(c_{1} p_g + c_{sr} p_{r,s})+ \sum(u_{g} c_{0} 1_{tl})\) |
Constraints#
Name |
Description |
Expression |
---|---|---|
pglb |
pg min |
\(-p_g + c_{trl,n,e} p_{g, 0} 1_{tl} + c_{trl, e} 1_{tl} p_{g, min} \leq 0\) |
pgub |
pg max |
\(p_g - c_{trl,n,e} p_{g, 0} 1_{tl} - c_{trl, e} 1_{tl} 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} 1_{tl} + C_{l} p_{d,s} + C_{sh} g_{sh} 1_{tl} - C_{g} p_g = 0\) |
plflb |
line flow lower bound |
\(-B_{f} \theta_{bus} - P_{f}^{inj} 1_{tl} - R_{ATEA} 1_{tl} \leq 0\) |
plfub |
line flow upper bound |
\(B_{f} \theta_{bus} + P_{f}^{inj} 1_{tl} - R_{ATEA} 1_{tl} \leq 0\) |
alflb |
line angle difference lower bound |
\(-C_{ft}^T \theta_{bus} + \theta_{bus, min} 1_{tl} \leq 0\) |
alfub |
line angle difference upper bound |
\(C_{ft}^T \theta_{bus} - \theta_{bus, max} 1_{tl} \leq 0\) |
rbu |
RegUp reserve balance |
\(S_{g} u_{g} p_{r,u} - d_{u, d} 1_{tl} = 0\) |
rbd |
RegDn reserve balance |
\(S_{g} u_{g} p_{r,d} - d_{d, d} 1_{tl} = 0\) |
rru |
RegUp reserve source |
\(u_{g} p_g + p_{r,u} - p_{g, max} 1_{tl} \leq 0\) |
rrd |
RegDn reserve source |
\(u_{g} -p_g + p_{r,d} + p_{g, min} 1_{tl} \leq 0\) |
rgu |
Gen ramping up |
\(p_g M_{r} - T_{cfg} R_{30,R} \leq 0\) |
rgd |
Gen ramping down |
\(-p_g M_{r} - T_{cfg} R_{30,R} \leq 0\) |
prsb |
spinning reserve balance |
\(u_{g} p_{g, max} 1_{tl} - p_g - p_{r,s} = 0\) |
rsr |
spinning reserve requirement |
\(-S_{g} p_{r,s} + d_{s,r,z} \leq 0\) |
rgu0 |
Initial gen ramping up |
\(p_g[:, 0] - p_{g, 0}[:, 0] - R_{30} \leq 0\) |
rgd0 |
Initial gen ramping down |
\(- p_g[:, 0] + p_{g, 0}[:, 0] - R_{30} \leq 0\) |
cdgb |
Select DG power from pg |
\(C_{DG} p_g - p_{g,DG} = 0\) |
Expressions#
Name |
Variable |
Description |
Expression |
---|---|---|---|
plfc |
plf |
plf calculation |
\(B_{f} \theta_{bus} + P_{f}^{inj} 1_{tl}\) |
pic |
pi |
dual of Constraint pb |
\(\phi[pb]\) |
Vars#
Name |
Symbol |
Description |
Unit |
Source |
Properties |
---|---|---|---|---|---|
pg |
\(p_g\) |
2D Gen power |
p.u. |
StaticGen.p |
|
aBus |
\(\theta_{bus}\) |
2D Bus angle |
rad |
Bus.a |
|
pi |
\(\pi\) |
nodal price |
$/p.u. |
||
plf |
\(p_{lf}\) |
2D Line flow |
p.u. |
||
pru |
\(p_{r,u}\) |
2D RegUp power |
p.u. |
nonneg |
|
prd |
\(p_{r,d}\) |
2D RegDn power |
p.u. |
nonneg |
|
prs |
\(p_{r,s}\) |
spinning reserve |
p.u. |
nonneg |
|
pgdg |
\(p_{g,DG}\) |
DG output 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 |
gs |
\(S_{g}\) |
Sum Gen vars vector in shape of zone |
ZonalSum |
ds |
\(S_{d}\) |
Sum pd vector in shape of zone |
ZonalSum |
pdz |
\(p_{d,z}\) |
zonal total load |
NumOpDual |
dud |
\(d_{u, d}\) |
zonal RegUp reserve requirement |
NumOpDual |
ddd |
\(d_{d, d}\) |
zonal RegDn reserve requirement |
NumOpDual |
tlv |
\(1_{tl}\) |
time length vector |
NumOp |
pds |
\(p_{d,s}\) |
Scaled load |
LoadScale |
Mr |
\(M_{r}\) |
Subtraction matrix for ramping |
RampSub |
RR30 |
\(R_{30,R}\) |
Repeated ramp rate |
NumHstack |
dsrpz |
\(d_{s,r, p, z}\) |
zonal spinning reserve requirement in percentage |
NumOpDual |
dsr |
\(d_{s,r,z}\) |
zonal spinning reserve requirement |
NumOpDual |
ugt |
\(u_{g}\) |
input ug transpose |
NumOp |
cd |
\(C_{DG}\) |
Select DG power from pg |
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}\) |
unit commitment decisions |
EDTSlot.ug |
|
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 |
|
zg |
\(z_{one,g}\) |
Gen zone |
StaticGen.zone |
|
zd |
\(z_{one,d}\) |
Load zone |
StaticLoad.zone |
|
R10 |
\(R_{10}\) |
10-min ramp rate |
p.u./h |
StaticGen.R10 |
cru |
\(c_{r,u}\) |
RegUp reserve coefficient |
$/(p.u.) |
SFRCost.cru |
crd |
\(c_{r,d}\) |
RegDown reserve coefficient |
$/(p.u.) |
SFRCost.crd |
du |
\(d_{u}\) |
RegUp reserve requirement in percentage |
% |
SFR.du |
dd |
\(d_{d}\) |
RegDown reserve requirement in percentage |
% |
SFR.dd |
sd |
\(s_{d}\) |
zonal load factor for ED |
EDTSlot.sd |
|
timeslot |
\(t_{s,idx}\) |
Time slot for multi-period ED |
EDTSlot.idx |
|
R30 |
\(R_{30}\) |
30-min ramp rate |
p.u./h |
StaticGen.R30 |
dsr |
\(d_{sr}\) |
spinning reserve requirement in percentage |
% |
SR.demand |
csr |
\(c_{sr}\) |
cost for spinning reserve |
$/(p.u.*h) |
SRCost.csr |
gendg |
\(g_{DG}\) |
gen of DG |
DG.gen |
|
gammapd |
\(\gamma_{p,DG}\) |
('Ratio of DG.pge w.r.t to that of static generator',) |
DG.gammap |
Config Fields in [EDDG]
Option |
Symbol |
Value |
Info |
Accepted values |
---|---|---|---|---|
t |
\(T_{cfg}\) |
1 |
time interval in hours |
EDES#
ED with energy storage ESD1. The bilinear term in the formulation is linearized with big-M method.
Objective#
Unit |
Expression |
---|---|
$ |
\(min. \sum(T_{cfg}^{2} c_{2} p_g^{2})+ T_{cfg} \sum(c_{1} p_g + c_{sr} p_{r,s})+ \sum(u_{g} c_{0} 1_{tl})\) |
Constraints#
Name |
Description |
Expression |
---|---|---|
pglb |
pg min |
\(-p_g + c_{trl,n,e} p_{g, 0} 1_{tl} + c_{trl, e} 1_{tl} p_{g, min} \leq 0\) |
pgub |
pg max |
\(p_g - c_{trl,n,e} p_{g, 0} 1_{tl} - c_{trl, e} 1_{tl} 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} 1_{tl} + C_{l} p_{d,s} + C_{sh} g_{sh} 1_{tl} - C_{g} p_g = 0\) |
plflb |
line flow lower bound |
\(-B_{f} \theta_{bus} - P_{f}^{inj} 1_{tl} - R_{ATEA} 1_{tl} \leq 0\) |
plfub |
line flow upper bound |
\(B_{f} \theta_{bus} + P_{f}^{inj} 1_{tl} - R_{ATEA} 1_{tl} \leq 0\) |
alflb |
line angle difference lower bound |
\(-C_{ft}^T \theta_{bus} + \theta_{bus, min} 1_{tl} \leq 0\) |
alfub |
line angle difference upper bound |
\(C_{ft}^T \theta_{bus} - \theta_{bus, max} 1_{tl} \leq 0\) |
rbu |
RegUp reserve balance |
\(S_{g} u_{g} p_{r,u} - d_{u, d} 1_{tl} = 0\) |
rbd |
RegDn reserve balance |
\(S_{g} u_{g} p_{r,d} - d_{d, d} 1_{tl} = 0\) |
rru |
RegUp reserve source |
\(u_{g} p_g + p_{r,u} - p_{g, max} 1_{tl} \leq 0\) |
rrd |
RegDn reserve source |
\(u_{g} -p_g + p_{r,d} + p_{g, min} 1_{tl} \leq 0\) |
rgu |
Gen ramping up |
\(p_g M_{r} - T_{cfg} R_{30,R} \leq 0\) |
rgd |
Gen ramping down |
\(-p_g M_{r} - T_{cfg} R_{30,R} \leq 0\) |
prsb |
spinning reserve balance |
\(u_{g} p_{g, max} 1_{tl} - p_g - p_{r,s} = 0\) |
rsr |
spinning reserve requirement |
\(-S_{g} p_{r,s} + d_{s,r,z} \leq 0\) |
rgu0 |
Initial gen ramping up |
\(p_g[:, 0] - p_{g, 0}[:, 0] - R_{30} \leq 0\) |
rgd0 |
Initial gen ramping down |
\(- p_g[:, 0] + p_{g, 0}[:, 0] - R_{30} \leq 0\) |
cdgb |
Select DG power from pg |
\(C_{DG} p_g - p_{g,DG} = 0\) |
SOClb |
SOC lower bound |
\(-SOC + SOC_{min} \leq 0\) |
SOCub |
SOC upper bound |
\(SOC - SOC_{max} \leq 0\) |
cdb |
Charging decision bound |
\(u_{c,ESD} + u_{d,ESD} - 1 = 0\) |
cesb |
Select ESD1 power from pg |
\(C_{ESD} p_g + z_{c,ESD} - z_{d,ESD} = 0\) |
zce1 |
zce bound 1 |
\(-z_{c,ESD} + p_{c,ESD} \leq 0\) |
zce2 |
zce bound 2 |
\(z_{c,ESD} - p_{c,ESD} - M_{big} (1-u_{c,ESD}) \leq 0\) |
zce3 |
zce bound 3 |
\(z_{c,ESD} - M_{big} u_{c,ESD} \leq 0\) |
zde1 |
zde bound 1 |
\(-z_{d,ESD} + p_{d,ESD} \leq 0\) |
zde2 |
zde bound 2 |
\(z_{d,ESD} - p_{d,ESD} - M_{big} (1-u_{d,ESD}) \leq 0\) |
zde3 |
zde bound 3 |
\(z_{d,ESD} - M_{big} u_{d,ESD} \leq 0\) |
SOCb |
ESD1 SOC balance |
\(E_{n,R} SOC M_{r,ES} - T_{cfg} \eta_{c,R} z_{c,ESD}[:, 1:] + T_{cfg} R_{\eta_d,R} z_{d,ESD}[:, 1:] = 0\) |
SOCb0 |
ESD1 SOC initial balance |
\(E_n SOC[:, 0] - SOC_{init} - T_{cfg} \eta_c z_{c,ESD}[:, 0] + T_{cfg} \frac{1}{\eta_d} z_{d,ESD}[:, 0] = 0\) |
SOCr |
SOC requirement |
\(SOC[:, -1] - SOC_{init} = 0\) |
Expressions#
Name |
Variable |
Description |
Expression |
---|---|---|---|
plfc |
plf |
plf calculation |
\(B_{f} \theta_{bus} + P_{f}^{inj} 1_{tl}\) |
pic |
pi |
dual of Constraint pb |
\(\phi[pb]\) |
Vars#
Name |
Symbol |
Description |
Unit |
Source |
Properties |
---|---|---|---|---|---|
pg |
\(p_g\) |
2D Gen power |
p.u. |
StaticGen.p |
|
aBus |
\(\theta_{bus}\) |
2D Bus angle |
rad |
Bus.a |
|
pi |
\(\pi\) |
nodal price |
$/p.u. |
||
plf |
\(p_{lf}\) |
2D Line flow |
p.u. |
||
pru |
\(p_{r,u}\) |
2D RegUp power |
p.u. |
nonneg |
|
prd |
\(p_{r,d}\) |
2D RegDn power |
p.u. |
nonneg |
|
prs |
\(p_{r,s}\) |
spinning reserve |
p.u. |
nonneg |
|
pgdg |
\(p_{g,DG}\) |
DG output power |
p.u. |
||
SOC |
\(SOC\) |
ESD1 State of Charge |
% |
pos |
|
pce |
\(p_{c,ESD}\) |
ESD1 charging power |
p.u. |
nonneg |
|
pde |
\(p_{d,ESD}\) |
ESD1 discharging power |
p.u. |
nonneg |
|
uce |
\(u_{c,ESD}\) |
ESD1 charging decision |
boolean |
||
ude |
\(u_{d,ESD}\) |
ESD1 discharging decision |
boolean |
||
zce |
\(z_{c,ESD}\) |
Aux var for charging, \(z_{c,ESD}=u_{c,ESD}*p_{c,ESD}\) |
nonneg |
||
zde |
\(z_{d,ESD}\) |
Aux var for discharging, \(z_{d,ESD}=u_{d,ESD}*p_{d,ESD}\) |
nonneg |
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 |
gs |
\(S_{g}\) |
Sum Gen vars vector in shape of zone |
ZonalSum |
ds |
\(S_{d}\) |
Sum pd vector in shape of zone |
ZonalSum |
pdz |
\(p_{d,z}\) |
zonal total load |
NumOpDual |
dud |
\(d_{u, d}\) |
zonal RegUp reserve requirement |
NumOpDual |
ddd |
\(d_{d, d}\) |
zonal RegDn reserve requirement |
NumOpDual |
tlv |
\(1_{tl}\) |
time length vector |
NumOp |
pds |
\(p_{d,s}\) |
Scaled load |
LoadScale |
Mr |
\(M_{r}\) |
Subtraction matrix for ramping |
RampSub |
RR30 |
\(R_{30,R}\) |
Repeated ramp rate |
NumHstack |
dsrpz |
\(d_{s,r, p, z}\) |
zonal spinning reserve requirement in percentage |
NumOpDual |
dsr |
\(d_{s,r,z}\) |
zonal spinning reserve requirement |
NumOpDual |
ugt |
\(u_{g}\) |
input ug transpose |
NumOp |
cd |
\(C_{DG}\) |
Select DG power from pg |
VarSelect |
REtaD |
\(\frac{1}{\eta_d}\) |
NumOp |
|
Mb |
\(M_{big}\) |
10 times of max of pmax as big M |
NumOp |
ce |
\(C_{ESD}\) |
Select zue from pg |
VarSelect |
Mre |
\(M_{r,ES}\) |
Subtraction matrix for SOC |
RampSub |
EnR |
\(E_{n,R}\) |
Repeated En as 2D matrix, (ng, ng-1) |
NumHstack |
EtaCR |
\(\eta_{c,R}\) |
Repeated Etac as 2D matrix, (ng, ng-1) |
NumHstack |
REtaDR |
\(R_{\eta_d,R}\) |
Repeated REtaD as 2D matrix, (ng, ng-1) |
NumHstack |
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}\) |
unit commitment decisions |
EDTSlot.ug |
|
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 |
|
zg |
\(z_{one,g}\) |
Gen zone |
StaticGen.zone |
|
zd |
\(z_{one,d}\) |
Load zone |
StaticLoad.zone |
|
R10 |
\(R_{10}\) |
10-min ramp rate |
p.u./h |
StaticGen.R10 |
cru |
\(c_{r,u}\) |
RegUp reserve coefficient |
$/(p.u.) |
SFRCost.cru |
crd |
\(c_{r,d}\) |
RegDown reserve coefficient |
$/(p.u.) |
SFRCost.crd |
du |
\(d_{u}\) |
RegUp reserve requirement in percentage |
% |
SFR.du |
dd |
\(d_{d}\) |
RegDown reserve requirement in percentage |
% |
SFR.dd |
sd |
\(s_{d}\) |
zonal load factor for ED |
EDTSlot.sd |
|
timeslot |
\(t_{s,idx}\) |
Time slot for multi-period ED |
EDTSlot.idx |
|
R30 |
\(R_{30}\) |
30-min ramp rate |
p.u./h |
StaticGen.R30 |
dsr |
\(d_{sr}\) |
spinning reserve requirement in percentage |
% |
SR.demand |
csr |
\(c_{sr}\) |
cost for spinning reserve |
$/(p.u.*h) |
SRCost.csr |
gendg |
\(g_{DG}\) |
gen of DG |
DG.gen |
|
gammapd |
\(\gamma_{p,DG}\) |
('Ratio of DG.pge w.r.t to that of static generator',) |
DG.gammap |
|
En |
\(E_n\) |
Rated energy capacity |
MWh |
ESD1.En |
SOCmax |
\(SOC_{max}\) |
Maximum allowed value for SOC in limiter |
% |
ESD1.SOCmax |
SOCmin |
\(SOC_{min}\) |
Minimum required value for SOC in limiter |
% |
ESD1.SOCmin |
SOCinit |
\(SOC_{init}\) |
Initial SOC |
% |
ESD1.SOCinit |
EtaC |
\(\eta_c\) |
Efficiency during charging |
% |
ESD1.EtaC |
EtaD |
\(\eta_d\) |
Efficiency during discharging |
% |
ESD1.EtaD |
genesd |
\(g_{ESD}\) |
gen of ESD1 |
ESD1.gen |
|
gammapesd |
\(\gamma_{p,ESD}\) |
Ratio of ESD1.pge w.r.t to that of static generator |
ESD1.gammap |
Config Fields in [EDES]
Option |
Symbol |
Value |
Info |
Accepted values |
---|---|---|---|---|
t |
\(T_{cfg}\) |
1 |
time interval in hours |
RTED#
DC-based real-time economic dispatch (RTED). RTED extends DCOPF with:
Mapping dicts to interface with ANDES
Function
dc2ac
to do the AC conversionVars for SFR reserve:
pru
andprd
Param for linear SFR cost:
cru
andcrd
Param for SFR requirement:
du
anddd
Param for ramping: start point
pg0
and ramping limitR10
Param
pg0
, which can be retrieved from dynamic simulation results.
The function dc2ac
sets the vBus
value from solved ACOPF.
Without this conversion, dynamic simulation might fail due to the gap between
DC-based dispatch results and AC-based dynamic initialization.
Notes#
Formulations has been adjusted with interval
config.t
, 5/60 [Hour] by default.The tie-line flow has not been implemented in formulations.
Objective#
Unit |
Expression |
---|---|
$ |
\(min. T_{cfg}^{2} \sum(c_{2} p_g^{2}) + \sum(u_{g} c_{0})+ T_{cfg} \sum(c_{1} p_g + c_{r,u} p_{r,u} + c_{r,d} p_{r,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\) |
rbu |
RegUp reserve balance |
\(S_{g} u_{g} p_{r,u} - d_{u, d} = 0\) |
rbd |
RegDn reserve balance |
\(S_{g} u_{g} p_{r,d} - d_{d, d} = 0\) |
rru |
RegUp reserve source |
\(u_{g} (p_g + p_{r,u}) - u_{g} p_{g, max} \leq 0\) |
rrd |
RegDn reserve source |
\(u_{g} (-p_g + p_{r,d}) + u_{g} p_{g, min} \leq 0\) |
rgu |
Gen ramping up |
\(u_{g} (p_g-p_{g, 0}-R_{10}) \leq 0\) |
rgd |
Gen ramping down |
\(u_{g} (-p_g+p_{g, 0}-R_{10}) \leq 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. |
||
pru |
\(p_{r,u}\) |
RegUp reserve |
p.u. |
nonneg |
|
prd |
\(p_{r,d}\) |
RegDn reserve |
p.u. |
nonneg |
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 |
gs |
\(S_{g}\) |
Sum Gen vars vector in shape of zone |
ZonalSum |
ds |
\(S_{d}\) |
Sum pd vector in shape of zone |
ZonalSum |
pdz |
\(p_{d,z}\) |
zonal total load |
NumOpDual |
dud |
\(d_{u, d}\) |
zonal RegUp reserve requirement |
NumOpDual |
ddd |
\(d_{d, d}\) |
zonal RegDn reserve requirement |
NumOpDual |
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 |
|
zg |
\(z_{one,g}\) |
Gen zone |
StaticGen.zone |
|
zd |
\(z_{one,d}\) |
Load zone |
StaticLoad.zone |
|
R10 |
\(R_{10}\) |
10-min ramp rate |
p.u./h |
StaticGen.R10 |
cru |
\(c_{r,u}\) |
RegUp reserve coefficient |
$/(p.u.) |
SFRCost.cru |
crd |
\(c_{r,d}\) |
RegDown reserve coefficient |
$/(p.u.) |
SFRCost.crd |
du |
\(d_{u}\) |
RegUp reserve requirement in percentage |
% |
SFR.du |
dd |
\(d_{d}\) |
RegDown reserve requirement in percentage |
% |
SFR.dd |
Config Fields in [RTED]
Option |
Symbol |
Value |
Info |
Accepted values |
---|---|---|---|---|
t |
\(T_{cfg}\) |
0.083 |
time interval in hours |
RTEDDG#
RTED with distributed generator DG.
Note that RTEDDG only inlcudes DG output power. If ESD1 is included, RTEDES should be used instead, otherwise there is no SOC.
Objective#
Unit |
Expression |
---|---|
$ |
\(min. T_{cfg}^{2} \sum(c_{2} p_g^{2}) + \sum(u_{g} c_{0})+ T_{cfg} \sum(c_{1} p_g + c_{r,u} p_{r,u} + c_{r,d} p_{r,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\) |
rbu |
RegUp reserve balance |
\(S_{g} u_{g} p_{r,u} - d_{u, d} = 0\) |
rbd |
RegDn reserve balance |
\(S_{g} u_{g} p_{r,d} - d_{d, d} = 0\) |
rru |
RegUp reserve source |
\(u_{g} (p_g + p_{r,u}) - u_{g} p_{g, max} \leq 0\) |
rrd |
RegDn reserve source |
\(u_{g} (-p_g + p_{r,d}) + u_{g} p_{g, min} \leq 0\) |
rgu |
Gen ramping up |
\(u_{g} (p_g-p_{g, 0}-R_{10}) \leq 0\) |
rgd |
Gen ramping down |
\(u_{g} (-p_g+p_{g, 0}-R_{10}) \leq 0\) |
cdgb |
Select DG power from pg |
\(C_{DG} p_g - p_{g,DG} = 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. |
||
pru |
\(p_{r,u}\) |
RegUp reserve |
p.u. |
nonneg |
|
prd |
\(p_{r,d}\) |
RegDn reserve |
p.u. |
nonneg |
|
pgdg |
\(p_{g,DG}\) |
DG output 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 |
gs |
\(S_{g}\) |
Sum Gen vars vector in shape of zone |
ZonalSum |
ds |
\(S_{d}\) |
Sum pd vector in shape of zone |
ZonalSum |
pdz |
\(p_{d,z}\) |
zonal total load |
NumOpDual |
dud |
\(d_{u, d}\) |
zonal RegUp reserve requirement |
NumOpDual |
ddd |
\(d_{d, d}\) |
zonal RegDn reserve requirement |
NumOpDual |
cd |
\(C_{DG}\) |
Select DG power from pg |
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 |
|
zg |
\(z_{one,g}\) |
Gen zone |
StaticGen.zone |
|
zd |
\(z_{one,d}\) |
Load zone |
StaticLoad.zone |
|
R10 |
\(R_{10}\) |
10-min ramp rate |
p.u./h |
StaticGen.R10 |
cru |
\(c_{r,u}\) |
RegUp reserve coefficient |
$/(p.u.) |
SFRCost.cru |
crd |
\(c_{r,d}\) |
RegDown reserve coefficient |
$/(p.u.) |
SFRCost.crd |
du |
\(d_{u}\) |
RegUp reserve requirement in percentage |
% |
SFR.du |
dd |
\(d_{d}\) |
RegDown reserve requirement in percentage |
% |
SFR.dd |
gendg |
\(g_{DG}\) |
gen of DG |
DG.gen |
|
gammapd |
\(\gamma_{p,DG}\) |
('Ratio of DG.pge w.r.t to that of static generator',) |
DG.gammap |
Config Fields in [RTEDDG]
Option |
Symbol |
Value |
Info |
Accepted values |
---|---|---|---|---|
t |
\(T_{cfg}\) |
0.083 |
time interval in hours |
RTEDES#
RTED with energy storage ESD1. The bilinear term in the formulation is linearized with big-M method.
Objective#
Unit |
Expression |
---|---|
$ |
\(min. T_{cfg}^{2} \sum(c_{2} p_g^{2}) + \sum(u_{g} c_{0})+ T_{cfg} \sum(c_{1} p_g + c_{r,u} p_{r,u} + c_{r,d} p_{r,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\) |
rbu |
RegUp reserve balance |
\(S_{g} u_{g} p_{r,u} - d_{u, d} = 0\) |
rbd |
RegDn reserve balance |
\(S_{g} u_{g} p_{r,d} - d_{d, d} = 0\) |
rru |
RegUp reserve source |
\(u_{g} (p_g + p_{r,u}) - u_{g} p_{g, max} \leq 0\) |
rrd |
RegDn reserve source |
\(u_{g} (-p_g + p_{r,d}) + u_{g} p_{g, min} \leq 0\) |
rgu |
Gen ramping up |
\(u_{g} (p_g-p_{g, 0}-R_{10}) \leq 0\) |
rgd |
Gen ramping down |
\(u_{g} (-p_g+p_{g, 0}-R_{10}) \leq 0\) |
cdgb |
Select DG power from pg |
\(C_{DG} p_g - p_{g,DG} = 0\) |
SOClb |
SOC lower bound |
\(-SOC + SOC_{min} \leq 0\) |
SOCub |
SOC upper bound |
\(SOC - SOC_{max} \leq 0\) |
cdb |
Charging decision bound |
\(u_{c,ESD} + u_{d,ESD} - 1 = 0\) |
cesb |
Select ESD1 power from pg |
\(C_{ESD} p_g + z_{c,ESD} - z_{d,ESD} = 0\) |
zce1 |
zce bound 1 |
\(-z_{c,ESD} + p_{c,ESD} \leq 0\) |
zce2 |
zce bound 2 |
\(z_{c,ESD} - p_{c,ESD} - M_{big} (1-u_{c,ESD}) \leq 0\) |
zce3 |
zce bound 3 |
\(z_{c,ESD} - M_{big} u_{c,ESD} \leq 0\) |
zde1 |
zde bound 1 |
\(-z_{d,ESD} + p_{d,ESD} \leq 0\) |
zde2 |
zde bound 2 |
\(z_{d,ESD} - p_{d,ESD} - M_{big} (1-u_{d,ESD}) \leq 0\) |
zde3 |
zde bound 3 |
\(z_{d,ESD} - M_{big} u_{d,ESD} \leq 0\) |
SOCb |
ESD1 SOC balance |
\(E_n (SOC - SOC_{init}) - T_{cfg} \eta_c z_{c,ESD}+ T_{cfg} \frac{1}{\eta_d} z_{d,ESD} = 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. |
||
pru |
\(p_{r,u}\) |
RegUp reserve |
p.u. |
nonneg |
|
prd |
\(p_{r,d}\) |
RegDn reserve |
p.u. |
nonneg |
|
pgdg |
\(p_{g,DG}\) |
DG output power |
p.u. |
||
SOC |
\(SOC\) |
ESD1 State of Charge |
% |
pos |
|
pce |
\(p_{c,ESD}\) |
ESD1 charging power |
p.u. |
nonneg |
|
pde |
\(p_{d,ESD}\) |
ESD1 discharging power |
p.u. |
nonneg |
|
uce |
\(u_{c,ESD}\) |
ESD1 charging decision |
boolean |
||
ude |
\(u_{d,ESD}\) |
ESD1 discharging decision |
boolean |
||
zce |
\(z_{c,ESD}\) |
Aux var for charging, \(z_{c,ESD}=u_{c,ESD}*p_{c,ESD}\) |
nonneg |
||
zde |
\(z_{d,ESD}\) |
Aux var for discharging, \(z_{d,ESD}=u_{d,ESD}*p_{d,ESD}\) |
nonneg |
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 |
gs |
\(S_{g}\) |
Sum Gen vars vector in shape of zone |
ZonalSum |
ds |
\(S_{d}\) |
Sum pd vector in shape of zone |
ZonalSum |
pdz |
\(p_{d,z}\) |
zonal total load |
NumOpDual |
dud |
\(d_{u, d}\) |
zonal RegUp reserve requirement |
NumOpDual |
ddd |
\(d_{d, d}\) |
zonal RegDn reserve requirement |
NumOpDual |
cd |
\(C_{DG}\) |
Select DG power from pg |
VarSelect |
REtaD |
\(\frac{1}{\eta_d}\) |
NumOp |
|
Mb |
\(M_{big}\) |
10 times of max of pmax as big M |
NumOp |
ce |
\(C_{ESD}\) |
Select zue from pg |
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 |
|
zg |
\(z_{one,g}\) |
Gen zone |
StaticGen.zone |
|
zd |
\(z_{one,d}\) |
Load zone |
StaticLoad.zone |
|
R10 |
\(R_{10}\) |
10-min ramp rate |
p.u./h |
StaticGen.R10 |
cru |
\(c_{r,u}\) |
RegUp reserve coefficient |
$/(p.u.) |
SFRCost.cru |
crd |
\(c_{r,d}\) |
RegDown reserve coefficient |
$/(p.u.) |
SFRCost.crd |
du |
\(d_{u}\) |
RegUp reserve requirement in percentage |
% |
SFR.du |
dd |
\(d_{d}\) |
RegDown reserve requirement in percentage |
% |
SFR.dd |
gendg |
\(g_{DG}\) |
gen of DG |
DG.gen |
|
gammapd |
\(\gamma_{p,DG}\) |
('Ratio of DG.pge w.r.t to that of static generator',) |
DG.gammap |
|
En |
\(E_n\) |
Rated energy capacity |
MWh |
ESD1.En |
SOCmax |
\(SOC_{max}\) |
Maximum allowed value for SOC in limiter |
% |
ESD1.SOCmax |
SOCmin |
\(SOC_{min}\) |
Minimum required value for SOC in limiter |
% |
ESD1.SOCmin |
SOCinit |
\(SOC_{init}\) |
Initial SOC |
% |
ESD1.SOCinit |
EtaC |
\(\eta_c\) |
Efficiency during charging |
% |
ESD1.EtaC |
EtaD |
\(\eta_d\) |
Efficiency during discharging |
% |
ESD1.EtaD |
genesd |
\(g_{ESD}\) |
gen of ESD1 |
ESD1.gen |
|
gammapesd |
\(\gamma_{p,ESD}\) |
Ratio of ESD1.pge w.r.t to that of static generator |
ESD1.gammap |
Config Fields in [RTEDES]
Option |
Symbol |
Value |
Info |
Accepted values |
---|---|---|---|---|
t |
\(T_{cfg}\) |
0.083 |
time interval in hours |
RTEDVIS#
RTED with virtual inertia scheduling.
This class implements real-time economic dispatch with virtual inertia scheduling. Please ensure that the parameters dvm and dvd are set according to the system base.
Reference:
[1] B. She, F. Li, H. Cui, J. Wang, Q. Zhang and R. Bo, "Virtual Inertia Scheduling (VIS) for Real-time Economic Dispatch of IBRs-penetrated Power Systems," in IEEE Transactions on Sustainable Energy, doi: 10.1109/TSTE.2023.3319307.
Objective#
Unit |
Expression |
---|---|
$ |
\(min. T_{cfg}^{2} \sum(c_{2} p_g^{2}) + \sum(u_{g} c_{0})+ T_{cfg} \sum(c_{1} p_g + c_{r,u} p_{r,u} + c_{r,d} p_{r,d})+ T_{cfg} \sum(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\) |
rbu |
RegUp reserve balance |
\(S_{g} u_{g} p_{r,u} - d_{u, d} = 0\) |
rbd |
RegDn reserve balance |
\(S_{g} u_{g} p_{r,d} - d_{d, d} = 0\) |
rru |
RegUp reserve source |
\(u_{g} (p_g + p_{r,u}) - u_{g} p_{g, max} \leq 0\) |
rrd |
RegDn reserve source |
\(u_{g} (-p_g + p_{r,d}) + u_{g} p_{g, min} \leq 0\) |
rgu |
Gen ramping up |
\(u_{g} (p_g-p_{g, 0}-R_{10}) \leq 0\) |
rgd |
Gen ramping down |
\(u_{g} (-p_g+p_{g, 0}-R_{10}) \leq 0\) |
Mub |
M upper bound |
\(M - M_{max} \leq 0\) |
Dub |
D upper bound |
\(D - D_{max} \leq 0\) |
Mreq |
Emulated inertia requirement |
\(-S_{g} M + d_{v,m} = 0\) |
Dreq |
Emulated damping requirement |
\(-S_{g} D + d_{v,d} = 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. |
||
pru |
\(p_{r,u}\) |
RegUp reserve |
p.u. |
nonneg |
|
prd |
\(p_{r,d}\) |
RegDn reserve |
p.u. |
nonneg |
|
M |
\(M\) |
Emulated startup time constant (M=2H) |
s |
VSG.M |
nonneg |
D |
\(D\) |
Emulated damping coefficient |
p.u. |
VSG.D |
nonneg |
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 |
gs |
\(S_{g}\) |
Sum Gen vars vector in shape of zone |
ZonalSum |
ds |
\(S_{d}\) |
Sum pd vector in shape of zone |
ZonalSum |
pdz |
\(p_{d,z}\) |
zonal total load |
NumOpDual |
dud |
\(d_{u, d}\) |
zonal RegUp reserve requirement |
NumOpDual |
ddd |
\(d_{d, d}\) |
zonal RegDn reserve requirement |
NumOpDual |
gvsg |
\(S_{g}\) |
Sum VSG vars vector in shape of zone |
ZonalSum |
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 |
|
zg |
\(z_{one,g}\) |
Gen zone |
StaticGen.zone |
|
zd |
\(z_{one,d}\) |
Load zone |
StaticLoad.zone |
|
R10 |
\(R_{10}\) |
10-min ramp rate |
p.u./h |
StaticGen.R10 |
cru |
\(c_{r,u}\) |
RegUp reserve coefficient |
$/(p.u.) |
SFRCost.cru |
crd |
\(c_{r,d}\) |
RegDown reserve coefficient |
$/(p.u.) |
SFRCost.crd |
du |
\(d_{u}\) |
RegUp reserve requirement in percentage |
% |
SFR.du |
dd |
\(d_{d}\) |
RegDown reserve requirement in percentage |
% |
SFR.dd |
cm |
\(c_{m}\) |
Virtual inertia cost |
$/s |
VSGCost.cm |
cd |
\(c_{d}\) |
Virtual damping cost |
$/(p.u.) |
VSGCost.cd |
zvsg |
\(z_{one,vsg}\) |
VSG zone |
VSG.zone |
|
Mmax |
\(M_{max}\) |
Maximum inertia emulation |
s |
VSG.Mmax |
Dmax |
\(D_{max}\) |
Maximum damping emulation |
p.u. |
VSG.Dmax |
dvm |
\(d_{v,m}\) |
Emulated inertia requirement |
s |
VSGR.dvm |
dvd |
\(d_{v,d}\) |
Emulated damping requirement |
p.u. |
VSGR.dvd |
Config Fields in [RTEDVIS]
Option |
Symbol |
Value |
Info |
Accepted values |
---|---|---|---|---|
t |
\(T_{cfg}\) |
0.083 |
time interval in hours |