Calculation#
Group of classes that calculates based on other models.
Common Parameters: u, name
Available models: ACE, ACEc, COI
ACE#
Area Control Error model.
Discrete frequency sampling.
System base frequency from system.config.freq is used.
Frequency sampling period (in seconds) can be specified in
ACE.config.interval. The sampling start time (in seconds)
can be specified in ACE.config.offset.
Note: area idx is automatically retrieved from bus.
Reference:
NERC, "Balancing and Frequency Control Reference Document, Chapter 1 Balancing Fundamentals: ACE Review", 2021. Available:
Parameters#
Name |
Symbol |
Description |
Default |
Unit |
Properties |
|---|---|---|---|---|---|
idx |
unique device idx |
||||
u |
\(u\) |
connection status |
1 |
bool |
|
name |
device name |
||||
bus |
bus idx for freq. measurement |
mandatory |
|||
bias |
\(B\) |
bias parameter |
-1 |
MW/0.1Hz |
non_positive,power |
busf |
Optional BusFreq device idx |
||||
ue |
\(u_e\) |
effective online status |
0 |
||
area |
0 |
Variables#
Name |
Symbol |
Type |
Description |
Unit |
Properties |
|---|---|---|---|---|---|
ace |
\(ace\) |
Algeb |
area control error |
p.u. (MW) |
|
f |
\(f\) |
ExtAlgeb |
Bus frequency |
p.u. (Hz) |
Initialization Equations#
Name |
Symbol |
Type |
Initial Value |
|---|---|---|---|
ace |
\(ace\) |
Algeb |
|
f |
\(f\) |
ExtAlgeb |
Algebraic Equations#
Name |
Symbol |
Type |
RHS of Equation "0 = g(x, y)" |
|---|---|---|---|
ace |
\(ace\) |
Algeb |
\(- ace - 10 bias f_{sys} imva \left(fs_{v} - 1\right)\) |
f |
\(f\) |
ExtAlgeb |
\(0\) |
Services#
Name |
Symbol |
Equation |
Type |
|---|---|---|---|
imva |
\(1/S_{b, sys}\) |
\(\frac{1}{S_{b,sys}}\) |
ConstService |
Discretes#
Name |
Symbol |
Type |
Info |
|---|---|---|---|
fs |
\(f_s\) |
Sampling |
Sampled freq. |
Config Fields in [ACE]
Option |
Symbol |
Value |
Info |
Accepted values |
|---|---|---|---|---|
allow_adjust |
1 |
allow adjusting upper or lower limits |
(0, 1) |
|
adjust_lower |
0 |
adjust lower limit |
(0, 1) |
|
adjust_upper |
1 |
adjust upper limit |
(0, 1) |
|
freq_model |
BusFreq |
default freq. measurement model |
('BusFreq',) |
|
interval |
4 |
sampling time interval |
||
offset |
0 |
sampling time offset |
ACEc#
Area Control Error model, where bias (B) is an approximation of the actual frequency response (\(\beta\)). Given NERC's definition, the bias should be a negative number.
Continuous frequency sampling.
System base frequency from system.config.freq is used.
Note: area idx is automatically retrieved from bus.
Reference:
NERC, "Balancing and Frequency Control Reference Document, Chapter 1 Balancing Fundamentals: Bias (B) vs. Frequency Response (Beta)", 2021. Available:
Parameters#
Name |
Symbol |
Description |
Default |
Unit |
Properties |
|---|---|---|---|---|---|
idx |
unique device idx |
||||
u |
\(u\) |
connection status |
1 |
bool |
|
name |
device name |
||||
bus |
bus idx for freq. measurement |
mandatory |
|||
bias |
\(B\) |
bias parameter |
-1 |
MW/0.1Hz |
non_positive,power |
busf |
Optional BusFreq device idx |
||||
ue |
\(u_e\) |
effective online status |
0 |
||
area |
0 |
Variables#
Name |
Symbol |
Type |
Description |
Unit |
Properties |
|---|---|---|---|---|---|
ace |
\(ace\) |
Algeb |
area control error |
p.u. (MW) |
|
f |
\(f\) |
ExtAlgeb |
Bus frequency |
p.u. (Hz) |
Initialization Equations#
Name |
Symbol |
Type |
Initial Value |
|---|---|---|---|
ace |
\(ace\) |
Algeb |
|
f |
\(f\) |
ExtAlgeb |
Algebraic Equations#
Name |
Symbol |
Type |
RHS of Equation "0 = g(x, y)" |
|---|---|---|---|
ace |
\(ace\) |
Algeb |
\(- ace + 10 f_{sys} imva \left(f - 1\right) \left|{bias}\right|\) |
f |
\(f\) |
ExtAlgeb |
\(0\) |
Services#
Name |
Symbol |
Equation |
Type |
|---|---|---|---|
imva |
\(1/S_{b, sys}\) |
\(\frac{1}{S_{b,sys}}\) |
ConstService |
Config Fields in [ACEc]
Option |
Symbol |
Value |
Info |
Accepted values |
|---|---|---|---|---|
allow_adjust |
1 |
allow adjusting upper or lower limits |
(0, 1) |
|
adjust_lower |
0 |
adjust lower limit |
(0, 1) |
|
adjust_upper |
1 |
adjust upper limit |
(0, 1) |
|
freq_model |
BusFreq |
default freq. measurement model |
('BusFreq',) |
COI#
Center of inertia calculation class.
Parameters#
Name |
Symbol |
Description |
Default |
Unit |
Properties |
|---|---|---|---|---|---|
idx |
unique device idx |
||||
u |
\(u\) |
connection status |
1 |
bool |
|
name |
device name |
||||
ue |
\(u_e\) |
effective online status |
0 |
||
M |
Linearly stored SynGen.M |
0 |
Variables#
Name |
Symbol |
Type |
Description |
Unit |
Properties |
|---|---|---|---|---|---|
wgen |
\(wgen\) |
ExtState |
Linearly stored SynGen.omega |
||
agen |
\(agen\) |
ExtState |
Linearly stored SynGen.delta |
||
omega |
\(\omega\) |
Algeb |
COI speed |
v_str,v_setter |
|
delta |
\(\delta\) |
Algeb |
COI rotor angle |
v_str,v_setter |
|
omega_sub |
\(\omega_{sub}\) |
ExtAlgeb |
COI frequency contribution of each generator |
||
delta_sub |
\(\delta_{sub}\) |
ExtAlgeb |
COI angle contribution of each generator |
Initialization Equations#
Name |
Symbol |
Type |
Initial Value |
|---|---|---|---|
wgen |
\(wgen\) |
ExtState |
|
agen |
\(agen\) |
ExtState |
|
omega |
\(\omega\) |
Algeb |
\(a0a\) |
delta |
\(\delta\) |
Algeb |
\(d0a\) |
omega_sub |
\(\omega_{sub}\) |
ExtAlgeb |
|
delta_sub |
\(\delta_{sub}\) |
ExtAlgeb |
Differential Equations#
Name |
Symbol |
Type |
RHS of Equation "T x' = f(x, y)" |
T (LHS) |
|---|---|---|---|---|
wgen |
\(wgen\) |
ExtState |
\(0\) |
|
agen |
\(agen\) |
ExtState |
\(0\) |
Algebraic Equations#
Name |
Symbol |
Type |
RHS of Equation "0 = g(x, y)" |
|---|---|---|---|
omega |
\(\omega\) |
Algeb |
\(- \omega\) |
delta |
\(\delta\) |
Algeb |
\(- \delta\) |
omega_sub |
\(\omega_{sub}\) |
ExtAlgeb |
\(Mw wgen\) |
delta_sub |
\(\delta_{sub}\) |
ExtAlgeb |
\(Mw agen\) |
Services#
Name |
Symbol |
Equation |
Type |
|---|---|---|---|
Mw |
\(M_w\) |
\(\frac{M}{Mr}\) |
ConstService |
d0w |
\(\delta_{gen,0,w}\) |
\(Mw d_{0}\) |
ConstService |
a0w |
\(\omega_{gen,0,w}\) |
\(Mw a_{0}\) |
ConstService |
Config Fields in [COI]
Option |
Symbol |
Value |
Info |
Accepted values |
|---|---|---|---|---|
allow_adjust |
1 |
allow adjusting upper or lower limits |
(0, 1) |
|
adjust_lower |
0 |
adjust lower limit |
(0, 1) |
|
adjust_upper |
1 |
adjust upper limit |
(0, 1) |