Static Models
Static models are models with no internal states. All static models are to be included in ./data/…/sim_param.txt and ./data/…/est_param.txt. Their corresponding classes are defined in ./devices/static.py.
Transmission line
The line is added as follows with the necessary specified parameters:
- class pydynamicestimator.devices.device.Line[source]
- Parameters:
r (ndarray[float]) – Series resistance value in per unit (p.u.).
x (ndarray[float]) – Series reactance value in per unit (p.u.).
g (ndarray[float]) – Total shunt conductance value in per unit (p.u.).
b (ndarray[float]) – Total shunt susceptance value in per unit (p.u.).
trafo (ndarray[float]) – Off-nominal line transformer ratio.
bus_i (ndarray[str]) – Name of the sending-end bus.
bus_j (ndarray[str]) – Name of the receiving-end bus.

Figure 1: Transmission line with its parameters.
ZIP Load
- class pydynamicestimator.devices.static.StaticZIP[source]
ZIP static load. The shares of Z, I, and P (z_share, i_share, p_share) in the overall load need to be specified, and then the inner parameters of the load will be set during the initialization to satisfy the initial power flow and the share of contributions of each load tape. The shares need to sum up to one for the initialization to work perfectly. Positive reactive current i_q means consumption.
\begin{aligned} i_{re} &= \left(\frac{{p}v_{re} + {q} v_{im}}{v_{re}^2 + v_{im}^2}\right) + (g v_{re} - b v_{im}) + (\cos{\theta} i_d + \sin{\theta} i_q)\\ i_{re} &=\left(\frac{{p}v_{im} - {q} v_{re}}{v_{re}^2 + v_{im}^2} \right)+ (b v_{re} + g v_{im}) + (\sin{\theta} i_q - \sin{\theta} i_d) \end{aligned}- Attributes:
g (np.ndarray: Conductance value b (np.ndarray): Susceptance value p (np.ndarray): Active power value q (np.ndarray): Reactive power value id (np.ndarray): Active current value iq (np.ndarray): Reactive current value p_share (np.ndarray): Share of power load (default: 0.0) i_share (np.ndarray): Share of current load (default: 0.0) z_share (np.ndarray): Share of impedance load (default: 1.0)
Infinite bus
This model implements an infinite bus with a specifiable internal resistance and reactance. Its voltage is set during the initialization.
- class pydynamicestimator.devices.static.StaticInfiniteBus[source]
This model implements the infinite bus with current balance equations. Resistance and reactance need to be set and the voltage values get calculated during initialization.
- Attributes:
r (np.ndarray): Resistance value x (np.ndarray): Reactance value vre_int (np.ndarray): Internal voltage value vim_int (np.ndarray): Internal voltage value
\begin{aligned} i_{re} &= \frac{1}{r^2 + x^2} \left( (v_{re} - v_{re}^{\text{int}}) r + (v_{im} - v_{im}^{\text{int}}) x \right) \\ i_{im} &= \frac{1}{r^2 + x^2} \left( -\left(v_{re} - v_{re}^{\text{int}}\right) x + \left(v_{im} - v_{im}^{\text{int}}\right) r \right) \end{aligned}