Config reference#

System#

Option

Value

Info

Accepted values

freq

60

base frequency [Hz]

float

mva

100

system base MVA

float

ipadd

1

use spmatrix.ipadd if available

(0, 1)

seed

None

seed (or None) for random number generator

int or None

diag_eps

0.000

small value for Jacobian diagonals

warn_limits

1

warn variables initialized at limits

(0, 1)

warn_abnormal

1

warn initialization out of normal values

(0, 1)

dime_enabled

0

dime_name

andes

dime_address

ipc:///tmp/dime2

numba

0

use numba for JIT compilation

(0, 1)

numba_parallel

0

enable parallel for numba.jit

(0, 1)

numba_nopython

1

nopython mode for numba

(0, 1)

yapf_pycode

0

format generated code with yapf

(0, 1)

save_stats

0

store statistics of function calls

(0, 1)

np_divide

warn

treatment for division by zero

{'ignore', 'warn', 'raise', 'call', 'print', 'log'}

np_invalid

warn

treatment for invalid floating-point ops.

{'ignore', 'warn', 'raise', 'call', 'print', 'log'}

PFlow#

Option

Value

Info

Accepted values

sparselib

klu

linear sparse solver name

('klu', 'umfpack', 'spsolve', 'cupy')

linsolve

0

solve symbolic factorization each step (enable when KLU segfaults)

(0, 1)

tol

0.000

convergence tolerance

float

max_iter

25

max. number of iterations

>=10

method

NR

calculation method

('NR', 'dishonest', 'NK')

check_conn

1

check connectivity before power flow

(0, 1)

n_factorize

4

first N iterations to factorize Jacobian in dishonest method

>0

report

1

write output report

(0, 1)

degree

0

use degree in report

(0, 1)

init_tds

0

initialize TDS after PFlow

(0, 1)

TDS#

Option

Value

Info

Accepted values

sparselib

klu

linear sparse solver name

('klu', 'umfpack', 'spsolve', 'cupy')

linsolve

0

solve symbolic factorization each step (enable when KLU segfaults)

(0, 1)

method

trapezoid

DAE solution method

('trapezoid', 'backeuler')

tol

0.000

convergence tolerance

float

t0

0

simulation starting time

>=0

tf

20

simulation ending time

>t0

fixt

1

use fixed step size (1) or variable (0)

(0, 1)

shrinkt

1

shrink step size for fixed method if not converged

(0, 1)

honest

0

honest Newton method that updates Jac at each step

(0, 1)

tstep

0.033

integration step size

float

max_iter

15

maximum number of iterations

>=10

refresh_event

0

refresh events at each step

(0, 1)

test_init

1

test if initialization passes

(0, 1)

check_conn

1

re-check connectivity after event

(0, 1)

criteria

1

use criteria to stop simulation if unstable

(0, 1)

ddelta_limit

180

delta diff. limit to be considered unstable, in degree

g_scale

1

scale algebraic residuals with time step size

positive

reset_tiny

1

reset tiny residuals to zero to avoid chattering

(0, 1)

qrt

0

quasi-real-time stepping

(0, 1)

kqrt

1

quasi-real-time scaling factor; kqrt > 1 means slowing down

positive

store_z

0

store limiter status in TDS output

(0, 1)

store_f

0

store RHS of diff. equations

(0, 1)

store_h

0

store RHS of external diff. equations

(0, 1)

store_i

0

store RHS of external algeb. equations

(0, 1)

limit_store

0

limit in-memory timeseries storage

(0, 1)

max_store

900

maximum steps of data stored in memory before offloading

positive integer

save_every

1

save one step to memory every N simulation steps

integer

save_mode

auto

automatically or manually save output data when done

('auto', 'manual')

no_tqdm

0

disable tqdm progressbar and outputs

(0, 1)

chatter_iter

4

minimum iterations to detect chattering

int>=4

EIG#

Option

Value

Info

Accepted values

sparselib

klu

linear sparse solver name

('klu', 'umfpack', 'spsolve', 'cupy')

linsolve

0

solve symbolic factorization each step (enable when KLU segfaults)

(0, 1)

plot

0

show plot after computation

(0, 1)

tol

0.000

numerical tolerance to treat eigenvalues as zeros