.. _SynGen: ================================================================================ SynGen ================================================================================ Synchronous generator group. SynGen replaces StaticGen upon the initialization of dynamic studies. SynGen and inverter-based resources contain parameters ``gammap`` and ``gammaq`` for splitting the initial power of a StaticGen into multiple dynamic ones. ``gammap``, for example, is the active power ratio of the dynamic generator to the static one. If a StaticGen is supposed to be replaced by one SynGen, the ``gammap`` and ``gammaq`` should both be ``1``. It is critical to ensure that ``gammap`` and ``gammaq``, respectively, of all dynamic power sources sum up to 1.0. Otherwise, the initial power injections imposed by dynamic sources will differ from the static ones. The initialization will then fail with mismatches power injection equations corresponding to bus ``a`` and ``v``. Common Parameters: u, name, Sn, Vn, fn, bus, M, D, subidx Common Variables: omega, delta Available models: GENCLS_, GENROU_, PLBVFU1_ .. _GENCLS: -------------------------------------------------------------------------------- GENCLS -------------------------------------------------------------------------------- Classical generator model. Parameters ---------- +---------+------------------+-------------------------------------------------+---------+--------+-----------------------------+ | Name | Symbol | Description | Default | Unit | Properties | +=========+==================+=================================================+=========+========+=============================+ | idx | | unique device idx | | | | +---------+------------------+-------------------------------------------------+---------+--------+-----------------------------+ | u | :math:`u` | connection status | 1 | *bool* | | +---------+------------------+-------------------------------------------------+---------+--------+-----------------------------+ | name | | device name | | | | +---------+------------------+-------------------------------------------------+---------+--------+-----------------------------+ | bus | | interface bus id | | | mandatory | +---------+------------------+-------------------------------------------------+---------+--------+-----------------------------+ | gen | | static generator index | | | mandatory | +---------+------------------+-------------------------------------------------+---------+--------+-----------------------------+ | coi | | center of inertia index | | | | +---------+------------------+-------------------------------------------------+---------+--------+-----------------------------+ | coi2 | | center of inertia index | | | | +---------+------------------+-------------------------------------------------+---------+--------+-----------------------------+ | Sn | :math:`S_n` | Power rating | 100 | *MVA* | | +---------+------------------+-------------------------------------------------+---------+--------+-----------------------------+ | Vn | :math:`V_n` | AC voltage rating | 110 | | | +---------+------------------+-------------------------------------------------+---------+--------+-----------------------------+ | fn | :math:`f` | rated frequency | 60 | | | +---------+------------------+-------------------------------------------------+---------+--------+-----------------------------+ | D | :math:`D` | Damping coefficient | 0 | | power | +---------+------------------+-------------------------------------------------+---------+--------+-----------------------------+ | M | :math:`M` | machine start up time (2H) | 6 | | non_zero,non_negative,power | +---------+------------------+-------------------------------------------------+---------+--------+-----------------------------+ | ra | :math:`r_a` | armature resistance | 0 | | z | +---------+------------------+-------------------------------------------------+---------+--------+-----------------------------+ | xl | :math:`x_l` | leakage reactance | 0 | | z | +---------+------------------+-------------------------------------------------+---------+--------+-----------------------------+ | xd1 | :math:`x'_d` | d-axis transient reactance | 0.302 | | z | +---------+------------------+-------------------------------------------------+---------+--------+-----------------------------+ | kp | :math:`k_p` | active power feedback gain | 0 | | | +---------+------------------+-------------------------------------------------+---------+--------+-----------------------------+ | kw | :math:`k_w` | speed feedback gain | 0 | | | +---------+------------------+-------------------------------------------------+---------+--------+-----------------------------+ | S10 | :math:`S_{1.0}` | first saturation factor | 0 | | | +---------+------------------+-------------------------------------------------+---------+--------+-----------------------------+ | S12 | :math:`S_{1.2}` | second saturation factor | 1 | | | +---------+------------------+-------------------------------------------------+---------+--------+-----------------------------+ | gammap | :math:`\gamma_P` | P ratio of linked static gen | 1 | | | +---------+------------------+-------------------------------------------------+---------+--------+-----------------------------+ | gammaq | :math:`\gamma_Q` | Q ratio of linked static gen | 1 | | | +---------+------------------+-------------------------------------------------+---------+--------+-----------------------------+ | subidx | | Generator idx in plant; only used by PSS/E data | 0 | | | +---------+------------------+-------------------------------------------------+---------+--------+-----------------------------+ Variables --------- +---------+----------------------+----------+------------------------------------+------------+------------+ | Name | Symbol | Type | Description | Unit | Properties | +=========+======================+==========+====================================+============+============+ | delta | :math:`\delta` | State | rotor angle | *rad* | v_str | +---------+----------------------+----------+------------------------------------+------------+------------+ | omega | :math:`\omega` | State | rotor speed | *pu (Hz)* | v_str | +---------+----------------------+----------+------------------------------------+------------+------------+ | Id | :math:`I_{d}` | Algeb | d-axis current | | v_str | +---------+----------------------+----------+------------------------------------+------------+------------+ | Iq | :math:`I_{q}` | Algeb | q-axis current | | v_str | +---------+----------------------+----------+------------------------------------+------------+------------+ | vd | :math:`V_{d}` | Algeb | d-axis voltage | | v_str | +---------+----------------------+----------+------------------------------------+------------+------------+ | vq | :math:`V_{q}` | Algeb | q-axis voltage | | v_str | +---------+----------------------+----------+------------------------------------+------------+------------+ | tm | :math:`\tau_{m}` | Algeb | mechanical torque | | v_str | +---------+----------------------+----------+------------------------------------+------------+------------+ | te | :math:`\tau_{e}` | Algeb | electric torque | | v_str | +---------+----------------------+----------+------------------------------------+------------+------------+ | vf | :math:`v_{f}` | Algeb | excitation voltage | *pu* | v_str | +---------+----------------------+----------+------------------------------------+------------+------------+ | XadIfd | :math:`X_{ad}I_{fd}` | Algeb | d-axis armature excitation current | *p.u (kV)* | v_str | +---------+----------------------+----------+------------------------------------+------------+------------+ | Pe | :math:`P_{e}` | Algeb | active power injection | | v_str | +---------+----------------------+----------+------------------------------------+------------+------------+ | Qe | :math:`Q_{e}` | Algeb | reactive power injection | | v_str | +---------+----------------------+----------+------------------------------------+------------+------------+ | psid | :math:`\psi_{d}` | Algeb | d-axis flux | | v_str | +---------+----------------------+----------+------------------------------------+------------+------------+ | psiq | :math:`\psi_{q}` | Algeb | q-axis flux | | v_str | +---------+----------------------+----------+------------------------------------+------------+------------+ | a | :math:`\theta` | ExtAlgeb | Bus voltage phase angle | | | +---------+----------------------+----------+------------------------------------+------------+------------+ | v | :math:`V` | ExtAlgeb | Bus voltage magnitude | | | +---------+----------------------+----------+------------------------------------+------------+------------+ Initialization Equations ------------------------ +---------+----------------------+----------+------------------------------------------------------+ | Name | Symbol | Type | Initial Value | +=========+======================+==========+======================================================+ | delta | :math:`\delta` | State | :math:`\delta_{0}` | +---------+----------------------+----------+------------------------------------------------------+ | omega | :math:`\omega` | State | :math:`u` | +---------+----------------------+----------+------------------------------------------------------+ | Id | :math:`I_{d}` | Algeb | :math:`I_{d0} u` | +---------+----------------------+----------+------------------------------------------------------+ | Iq | :math:`I_{q}` | Algeb | :math:`I_{q0} u` | +---------+----------------------+----------+------------------------------------------------------+ | vd | :math:`V_{d}` | Algeb | :math:`V_{d0} u` | +---------+----------------------+----------+------------------------------------------------------+ | vq | :math:`V_{q}` | Algeb | :math:`V_{q0} u` | +---------+----------------------+----------+------------------------------------------------------+ | tm | :math:`\tau_{m}` | Algeb | :math:`\tau_{m0}` | +---------+----------------------+----------+------------------------------------------------------+ | te | :math:`\tau_{e}` | Algeb | :math:`\tau_{m0} u` | +---------+----------------------+----------+------------------------------------------------------+ | vf | :math:`v_{f}` | Algeb | :math:`u v_{f0}` | +---------+----------------------+----------+------------------------------------------------------+ | XadIfd | :math:`X_{ad}I_{fd}` | Algeb | :math:`u v_{f0}` | +---------+----------------------+----------+------------------------------------------------------+ | Pe | :math:`P_{e}` | Algeb | :math:`u \left(I_{d0} V_{d0} + I_{q0} V_{q0}\right)` | +---------+----------------------+----------+------------------------------------------------------+ | Qe | :math:`Q_{e}` | Algeb | :math:`u \left(I_{d0} V_{q0} - I_{q0} V_{d0}\right)` | +---------+----------------------+----------+------------------------------------------------------+ | psid | :math:`\psi_{d}` | Algeb | :math:`\psi_{d0} u` | +---------+----------------------+----------+------------------------------------------------------+ | psiq | :math:`\psi_{q}` | Algeb | :math:`\psi_{q0} u` | +---------+----------------------+----------+------------------------------------------------------+ | a | :math:`\theta` | ExtAlgeb | | +---------+----------------------+----------+------------------------------------------------------+ | v | :math:`V` | ExtAlgeb | | +---------+----------------------+----------+------------------------------------------------------+ Differential Equations ----------------------------- +--------+----------------+-------+--------------------------------------------------------------------------+-----------+ | Name | Symbol | Type | RHS of Equation "T x' = f(x, y)" | T (LHS) | +========+================+=======+==========================================================================+===========+ | delta | :math:`\delta` | State | :math:`2 \pi f u \left(\omega - 1\right)` | | +--------+----------------+-------+--------------------------------------------------------------------------+-----------+ | omega | :math:`\omega` | State | :math:`u \left(- D \left(\omega - 1\right) - \tau_{e} + \tau_{m}\right)` | :math:`M` | +--------+----------------+-------+--------------------------------------------------------------------------+-----------+ Algebraic Equations ----------------------------- +---------+----------------------+----------+-----------------------------------------------------------------------+ | Name | Symbol | Type | RHS of Equation "0 = g(x, y)" | +=========+======================+==========+=======================================================================+ | Id | :math:`I_{d}` | Algeb | :math:`I_{d} {x'_d} + \psi_{d} - v_{f}` | +---------+----------------------+----------+-----------------------------------------------------------------------+ | Iq | :math:`I_{q}` | Algeb | :math:`I_{q} {x'_d} + \psi_{q}` | +---------+----------------------+----------+-----------------------------------------------------------------------+ | vd | :math:`V_{d}` | Algeb | :math:`V u \sin{\left(\delta - \theta \right)} - V_{d}` | +---------+----------------------+----------+-----------------------------------------------------------------------+ | vq | :math:`V_{q}` | Algeb | :math:`V u \cos{\left(\delta - \theta \right)} - V_{q}` | +---------+----------------------+----------+-----------------------------------------------------------------------+ | tm | :math:`\tau_{m}` | Algeb | :math:`- \tau_{m} + \tau_{m0}` | +---------+----------------------+----------+-----------------------------------------------------------------------+ | te | :math:`\tau_{e}` | Algeb | :math:`- \tau_{e} + u \left(- I_{d} \psi_{q} + I_{q} \psi_{d}\right)` | +---------+----------------------+----------+-----------------------------------------------------------------------+ | vf | :math:`v_{f}` | Algeb | :math:`u v_{f0} - v_{f}` | +---------+----------------------+----------+-----------------------------------------------------------------------+ | XadIfd | :math:`X_{ad}I_{fd}` | Algeb | :math:`- X_{ad}I_{fd} + u v_{f0}` | +---------+----------------------+----------+-----------------------------------------------------------------------+ | Pe | :math:`P_{e}` | Algeb | :math:`- P_{e} + u \left(I_{d} V_{d} + I_{q} V_{q}\right)` | +---------+----------------------+----------+-----------------------------------------------------------------------+ | Qe | :math:`Q_{e}` | Algeb | :math:`- Q_{e} + u \left(I_{d} V_{q} - I_{q} V_{d}\right)` | +---------+----------------------+----------+-----------------------------------------------------------------------+ | psid | :math:`\psi_{d}` | Algeb | :math:`- \psi_{d} + u \left(I_{q} r_{a} + V_{q}\right)` | +---------+----------------------+----------+-----------------------------------------------------------------------+ | psiq | :math:`\psi_{q}` | Algeb | :math:`\psi_{q} + u \left(I_{d} r_{a} + V_{d}\right)` | +---------+----------------------+----------+-----------------------------------------------------------------------+ | a | :math:`\theta` | ExtAlgeb | :math:`- u \left(I_{d} V_{d} + I_{q} V_{q}\right)` | +---------+----------------------+----------+-----------------------------------------------------------------------+ | v | :math:`V` | ExtAlgeb | :math:`- u \left(I_{d} V_{q} - I_{q} V_{d}\right)` | +---------+----------------------+----------+-----------------------------------------------------------------------+ Services ---------- +----------+-------------------+--------------------------------------------------------------------------------------------------------------+--------------+ | Name | Symbol | Equation | Type | +==========+===================+==============================================================================================================+==============+ | p0 | :math:`P_0` | :math:`P_{0s} \gamma_{P}` | ConstService | +----------+-------------------+--------------------------------------------------------------------------------------------------------------+--------------+ | q0 | :math:`Q_0` | :math:`Q_{0s} \gamma_{Q}` | ConstService | +----------+-------------------+--------------------------------------------------------------------------------------------------------------+--------------+ | _V | :math:`V_c` | :math:`V e^{i \theta}` | ConstService | +----------+-------------------+--------------------------------------------------------------------------------------------------------------+--------------+ | _S | :math:`S` | :math:`P_{0} - i Q_{0}` | ConstService | +----------+-------------------+--------------------------------------------------------------------------------------------------------------+--------------+ | _I | :math:`I_c` | :math:`\frac{S}{\operatorname{conj}{\left(V_{c} \right)}}` | ConstService | +----------+-------------------+--------------------------------------------------------------------------------------------------------------+--------------+ | _E | :math:`E` | :math:`I_{c} \left(r_{a} + i {x'_d}\right) + V_{c}` | ConstService | +----------+-------------------+--------------------------------------------------------------------------------------------------------------+--------------+ | _deltac | :math:`\delta_c` | :math:`\log{\left(\frac{E}{\left|{E}\right|} \right)}` | ConstService | +----------+-------------------+--------------------------------------------------------------------------------------------------------------+--------------+ | delta0 | :math:`\delta_0` | :math:`u \operatorname{im}{\left(\delta_{c}\right)}` | ConstService | +----------+-------------------+--------------------------------------------------------------------------------------------------------------+--------------+ | vdq | :math:`V_{dq}` | :math:`V_{c} u e^{- \delta_{c} + 0.5 i \pi}` | ConstService | +----------+-------------------+--------------------------------------------------------------------------------------------------------------+--------------+ | Idq | :math:`I_{dq}` | :math:`I_{c} u e^{- \delta_{c} + 0.5 i \pi}` | ConstService | +----------+-------------------+--------------------------------------------------------------------------------------------------------------+--------------+ | Id0 | :math:`I_{d0}` | :math:`\operatorname{re}{\left(I_{dq}\right)}` | ConstService | +----------+-------------------+--------------------------------------------------------------------------------------------------------------+--------------+ | Iq0 | :math:`I_{q0}` | :math:`\operatorname{im}{\left(I_{dq}\right)}` | ConstService | +----------+-------------------+--------------------------------------------------------------------------------------------------------------+--------------+ | vd0 | :math:`V_{d0}` | :math:`\operatorname{re}{\left(V_{dq}\right)}` | ConstService | +----------+-------------------+--------------------------------------------------------------------------------------------------------------+--------------+ | vq0 | :math:`V_{q0}` | :math:`\operatorname{im}{\left(V_{dq}\right)}` | ConstService | +----------+-------------------+--------------------------------------------------------------------------------------------------------------+--------------+ | tm0 | :math:`\tau_{m0}` | :math:`u \left(I_{d0} \left(I_{d0} r_{a} + V_{d0}\right) + I_{q0} \left(I_{q0} r_{a} + V_{q0}\right)\right)` | ConstService | +----------+-------------------+--------------------------------------------------------------------------------------------------------------+--------------+ | psid0 | :math:`\psi_{d0}` | :math:`I_{q0} r_{a} u + V_{q0}` | ConstService | +----------+-------------------+--------------------------------------------------------------------------------------------------------------+--------------+ | psiq0 | :math:`\psi_{q0}` | :math:`- I_{d0} r_{a} u - V_{d0}` | ConstService | +----------+-------------------+--------------------------------------------------------------------------------------------------------------+--------------+ | vf0 | :math:`v_{f0}` | :math:`I_{d0} {x'_d} + I_{q0} r_{a} + V_{q0}` | ConstService | +----------+-------------------+--------------------------------------------------------------------------------------------------------------+--------------+ Config Fields in [GENCLS] +---------------+--------+-------+---------------------------------------+-----------------+ | 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) | +---------------+--------+-------+---------------------------------------+-----------------+ | vf_lower | | 1 | lower limit for vf warning | | +---------------+--------+-------+---------------------------------------+-----------------+ | vf_upper | | 5 | upper limit for vf warning | | +---------------+--------+-------+---------------------------------------+-----------------+ .. _GENROU: -------------------------------------------------------------------------------- GENROU -------------------------------------------------------------------------------- Round rotor generator with quadratic saturation. Notes ----- Parameters: - ``xd2`` and ``xq2`` must be equal to pass initialization. Parameters ---------- +---------+--------------------+-------------------------------------------------+---------+--------+-----------------------------+ | Name | Symbol | Description | Default | Unit | Properties | +=========+====================+=================================================+=========+========+=============================+ | idx | | unique device idx | | | | +---------+--------------------+-------------------------------------------------+---------+--------+-----------------------------+ | u | :math:`u` | connection status | 1 | *bool* | | +---------+--------------------+-------------------------------------------------+---------+--------+-----------------------------+ | name | | device name | | | | +---------+--------------------+-------------------------------------------------+---------+--------+-----------------------------+ | bus | | interface bus id | | | mandatory | +---------+--------------------+-------------------------------------------------+---------+--------+-----------------------------+ | gen | | static generator index | | | mandatory | +---------+--------------------+-------------------------------------------------+---------+--------+-----------------------------+ | coi | | center of inertia index | | | | +---------+--------------------+-------------------------------------------------+---------+--------+-----------------------------+ | coi2 | | center of inertia index | | | | +---------+--------------------+-------------------------------------------------+---------+--------+-----------------------------+ | Sn | :math:`S_n` | Power rating | 100 | *MVA* | | +---------+--------------------+-------------------------------------------------+---------+--------+-----------------------------+ | Vn | :math:`V_n` | AC voltage rating | 110 | | | +---------+--------------------+-------------------------------------------------+---------+--------+-----------------------------+ | fn | :math:`f` | rated frequency | 60 | | | +---------+--------------------+-------------------------------------------------+---------+--------+-----------------------------+ | D | :math:`D` | Damping coefficient | 0 | | power | +---------+--------------------+-------------------------------------------------+---------+--------+-----------------------------+ | M | :math:`M` | machine start up time (2H) | 6 | | non_zero,non_negative,power | +---------+--------------------+-------------------------------------------------+---------+--------+-----------------------------+ | ra | :math:`r_a` | armature resistance | 0 | | z | +---------+--------------------+-------------------------------------------------+---------+--------+-----------------------------+ | xl | :math:`x_l` | leakage reactance | 0 | | z | +---------+--------------------+-------------------------------------------------+---------+--------+-----------------------------+ | xd1 | :math:`x'_d` | d-axis transient reactance | 0.302 | | z | +---------+--------------------+-------------------------------------------------+---------+--------+-----------------------------+ | kp | :math:`k_p` | active power feedback gain | 0 | | | +---------+--------------------+-------------------------------------------------+---------+--------+-----------------------------+ | kw | :math:`k_w` | speed feedback gain | 0 | | | +---------+--------------------+-------------------------------------------------+---------+--------+-----------------------------+ | S10 | :math:`S_{1.0}` | first saturation factor | 0 | | | +---------+--------------------+-------------------------------------------------+---------+--------+-----------------------------+ | S12 | :math:`S_{1.2}` | second saturation factor | 1 | | | +---------+--------------------+-------------------------------------------------+---------+--------+-----------------------------+ | gammap | :math:`\gamma_P` | P ratio of linked static gen | 1 | | | +---------+--------------------+-------------------------------------------------+---------+--------+-----------------------------+ | gammaq | :math:`\gamma_Q` | Q ratio of linked static gen | 1 | | | +---------+--------------------+-------------------------------------------------+---------+--------+-----------------------------+ | xd | :math:`x_d` | d-axis synchronous reactance | 1.900 | | z | +---------+--------------------+-------------------------------------------------+---------+--------+-----------------------------+ | xq | :math:`x_q` | q-axis synchronous reactance | 1.700 | | z | +---------+--------------------+-------------------------------------------------+---------+--------+-----------------------------+ | xd2 | :math:`{x''_d}` | d-axis sub-transient reactance | 0.300 | | z | +---------+--------------------+-------------------------------------------------+---------+--------+-----------------------------+ | xq1 | :math:`{x'_q}` | q-axis transient reactance | 0.500 | | z | +---------+--------------------+-------------------------------------------------+---------+--------+-----------------------------+ | xq2 | :math:`{x''_q}` | q-axis sub-transient reactance | 0.300 | | z | +---------+--------------------+-------------------------------------------------+---------+--------+-----------------------------+ | Td10 | :math:`{T'_{d0}}` | d-axis transient time constant | 8 | | | +---------+--------------------+-------------------------------------------------+---------+--------+-----------------------------+ | Td20 | :math:`{T''_{d0}}` | d-axis sub-transient time constant | 0.040 | | | +---------+--------------------+-------------------------------------------------+---------+--------+-----------------------------+ | Tq10 | :math:`{T'_{q0}}` | q-axis transient time constant | 0.800 | | | +---------+--------------------+-------------------------------------------------+---------+--------+-----------------------------+ | Tq20 | :math:`{T''_{q0}}` | q-axis sub-transient time constant | 0.020 | | | +---------+--------------------+-------------------------------------------------+---------+--------+-----------------------------+ | subidx | | Generator idx in plant; only used by PSS/E data | 0 | | | +---------+--------------------+-------------------------------------------------+---------+--------+-----------------------------+ Variables --------- +---------+-------------------------+----------+------------------------------------+------------+------------+ | Name | Symbol | Type | Description | Unit | Properties | +=========+=========================+==========+====================================+============+============+ | delta | :math:`\delta` | State | rotor angle | *rad* | v_str | +---------+-------------------------+----------+------------------------------------+------------+------------+ | omega | :math:`\omega` | State | rotor speed | *pu (Hz)* | v_str | +---------+-------------------------+----------+------------------------------------+------------+------------+ | e1q | :math:`{e'_q}` | State | q-axis transient voltage | | v_str | +---------+-------------------------+----------+------------------------------------+------------+------------+ | e1d | :math:`{e'_d}` | State | d-axis transient voltage | | v_str | +---------+-------------------------+----------+------------------------------------+------------+------------+ | e2d | :math:`{e''_d}` | State | d-axis sub-transient voltage | | v_str | +---------+-------------------------+----------+------------------------------------+------------+------------+ | e2q | :math:`{e''_q}` | State | q-axis sub-transient voltage | | v_str | +---------+-------------------------+----------+------------------------------------+------------+------------+ | Id | :math:`I_{d}` | Algeb | d-axis current | | v_str | +---------+-------------------------+----------+------------------------------------+------------+------------+ | Iq | :math:`I_{q}` | Algeb | q-axis current | | v_str | +---------+-------------------------+----------+------------------------------------+------------+------------+ | vd | :math:`V_{d}` | Algeb | d-axis voltage | | v_str | +---------+-------------------------+----------+------------------------------------+------------+------------+ | vq | :math:`V_{q}` | Algeb | q-axis voltage | | v_str | +---------+-------------------------+----------+------------------------------------+------------+------------+ | tm | :math:`\tau_{m}` | Algeb | mechanical torque | | v_str | +---------+-------------------------+----------+------------------------------------+------------+------------+ | te | :math:`\tau_{e}` | Algeb | electric torque | | v_str | +---------+-------------------------+----------+------------------------------------+------------+------------+ | vf | :math:`v_{f}` | Algeb | excitation voltage | *pu* | v_str | +---------+-------------------------+----------+------------------------------------+------------+------------+ | XadIfd | :math:`X_{ad}I_{fd}` | Algeb | d-axis armature excitation current | *p.u (kV)* | v_str | +---------+-------------------------+----------+------------------------------------+------------+------------+ | Pe | :math:`P_{e}` | Algeb | active power injection | | v_str | +---------+-------------------------+----------+------------------------------------+------------+------------+ | Qe | :math:`Q_{e}` | Algeb | reactive power injection | | v_str | +---------+-------------------------+----------+------------------------------------+------------+------------+ | psid | :math:`\psi_{d}` | Algeb | d-axis flux | | v_str | +---------+-------------------------+----------+------------------------------------+------------+------------+ | psiq | :math:`\psi_{q}` | Algeb | q-axis flux | | v_str | +---------+-------------------------+----------+------------------------------------+------------+------------+ | psi2q | :math:`\psi_{aq}` | Algeb | q-axis air gap flux | | v_str | +---------+-------------------------+----------+------------------------------------+------------+------------+ | psi2d | :math:`\psi_{ad}` | Algeb | d-axis air gap flux | | v_str | +---------+-------------------------+----------+------------------------------------+------------+------------+ | psi2 | :math:`\psi_{a}` | Algeb | air gap flux magnitude | | v_str | +---------+-------------------------+----------+------------------------------------+------------+------------+ | Se | :math:`S_e(|\psi_{a}|)` | Algeb | saturation output | | v_str | +---------+-------------------------+----------+------------------------------------+------------+------------+ | XaqI1q | :math:`X_{aq}I_{1q}` | Algeb | q-axis reaction | *p.u (kV)* | v_str | +---------+-------------------------+----------+------------------------------------+------------+------------+ | a | :math:`\theta` | ExtAlgeb | Bus voltage phase angle | | | +---------+-------------------------+----------+------------------------------------+------------+------------+ | v | :math:`V` | ExtAlgeb | Bus voltage magnitude | | | +---------+-------------------------+----------+------------------------------------+------------+------------+ Initialization Equations ------------------------ +---------+-------------------------+----------+------------------------------------------------------+ | Name | Symbol | Type | Initial Value | +=========+=========================+==========+======================================================+ | delta | :math:`\delta` | State | :math:`\delta_{0}` | +---------+-------------------------+----------+------------------------------------------------------+ | omega | :math:`\omega` | State | :math:`u` | +---------+-------------------------+----------+------------------------------------------------------+ | e1q | :math:`{e'_q}` | State | :math:`u {e'_{q0}}` | +---------+-------------------------+----------+------------------------------------------------------+ | e1d | :math:`{e'_d}` | State | :math:`u {e'_{d0}}` | +---------+-------------------------+----------+------------------------------------------------------+ | e2d | :math:`{e''_d}` | State | :math:`u {e''_{d0}}` | +---------+-------------------------+----------+------------------------------------------------------+ | e2q | :math:`{e''_q}` | State | :math:`u {e''_{q0}}` | +---------+-------------------------+----------+------------------------------------------------------+ | Id | :math:`I_{d}` | Algeb | :math:`I_{d0} u` | +---------+-------------------------+----------+------------------------------------------------------+ | Iq | :math:`I_{q}` | Algeb | :math:`I_{q0} u` | +---------+-------------------------+----------+------------------------------------------------------+ | vd | :math:`V_{d}` | Algeb | :math:`V_{d0} u` | +---------+-------------------------+----------+------------------------------------------------------+ | vq | :math:`V_{q}` | Algeb | :math:`V_{q0} u` | +---------+-------------------------+----------+------------------------------------------------------+ | tm | :math:`\tau_{m}` | Algeb | :math:`\tau_{m0}` | +---------+-------------------------+----------+------------------------------------------------------+ | te | :math:`\tau_{e}` | Algeb | :math:`\tau_{m0} u` | +---------+-------------------------+----------+------------------------------------------------------+ | vf | :math:`v_{f}` | Algeb | :math:`u v_{f0}` | +---------+-------------------------+----------+------------------------------------------------------+ | XadIfd | :math:`X_{ad}I_{fd}` | Algeb | :math:`u v_{f0}` | +---------+-------------------------+----------+------------------------------------------------------+ | Pe | :math:`P_{e}` | Algeb | :math:`u \left(I_{d0} V_{d0} + I_{q0} V_{q0}\right)` | +---------+-------------------------+----------+------------------------------------------------------+ | Qe | :math:`Q_{e}` | Algeb | :math:`u \left(I_{d0} V_{q0} - I_{q0} V_{d0}\right)` | +---------+-------------------------+----------+------------------------------------------------------+ | psid | :math:`\psi_{d}` | Algeb | :math:`\psi_{d0} u` | +---------+-------------------------+----------+------------------------------------------------------+ | psiq | :math:`\psi_{q}` | Algeb | :math:`\psi_{q0} u` | +---------+-------------------------+----------+------------------------------------------------------+ | psi2q | :math:`\psi_{aq}` | Algeb | :math:`\psi_{aq0} u` | +---------+-------------------------+----------+------------------------------------------------------+ | psi2d | :math:`\psi_{ad}` | Algeb | :math:`\psi_{ad0} u` | +---------+-------------------------+----------+------------------------------------------------------+ | psi2 | :math:`\psi_{a}` | Algeb | :math:`u \left|{{\psi''_{0,dq}}}\right|` | +---------+-------------------------+----------+------------------------------------------------------+ | Se | :math:`S_e(|\psi_{a}|)` | Algeb | :math:`S_{e0} u` | +---------+-------------------------+----------+------------------------------------------------------+ | XaqI1q | :math:`X_{aq}I_{1q}` | Algeb | :math:`0` | +---------+-------------------------+----------+------------------------------------------------------+ | a | :math:`\theta` | ExtAlgeb | | +---------+-------------------------+----------+------------------------------------------------------+ | v | :math:`V` | ExtAlgeb | | +---------+-------------------------+----------+------------------------------------------------------+ Differential Equations ----------------------------- +--------+-----------------+-------+--------------------------------------------------------------------------+--------------------+ | Name | Symbol | Type | RHS of Equation "T x' = f(x, y)" | T (LHS) | +========+=================+=======+==========================================================================+====================+ | delta | :math:`\delta` | State | :math:`2 \pi f u \left(\omega - 1\right)` | | +--------+-----------------+-------+--------------------------------------------------------------------------+--------------------+ | omega | :math:`\omega` | State | :math:`u \left(- D \left(\omega - 1\right) - \tau_{e} + \tau_{m}\right)` | :math:`M` | +--------+-----------------+-------+--------------------------------------------------------------------------+--------------------+ | e1q | :math:`{e'_q}` | State | :math:`- X_{ad}I_{fd} + v_{f}` | :math:`{T'_{d0}}` | +--------+-----------------+-------+--------------------------------------------------------------------------+--------------------+ | e1d | :math:`{e'_d}` | State | :math:`- X_{aq}I_{1q}` | :math:`{T'_{q0}}` | +--------+-----------------+-------+--------------------------------------------------------------------------+--------------------+ | e2d | :math:`{e''_d}` | State | :math:`- I_{d} \left(x'_{d} - x_{l}\right) - {e''_d} + {e'_q}` | :math:`{T''_{d0}}` | +--------+-----------------+-------+--------------------------------------------------------------------------+--------------------+ | e2q | :math:`{e''_q}` | State | :math:`I_{q} \left(- x_{l} + {x'_q}\right) - {e''_q} + {e'_d}` | :math:`{T''_{q0}}` | +--------+-----------------+-------+--------------------------------------------------------------------------+--------------------+ Algebraic Equations ----------------------------- +---------+-------------------------+----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Name | Symbol | Type | RHS of Equation "0 = g(x, y)" | +=========+=========================+==========+======================================================================================================================================================================================+ | Id | :math:`I_{d}` | Algeb | :math:`I_{d} {x''_d} + \psi_{d} - \psi_{ad}` | +---------+-------------------------+----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Iq | :math:`I_{q}` | Algeb | :math:`I_{q} {x''_q} + \psi_{q} + \psi_{aq}` | +---------+-------------------------+----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | vd | :math:`V_{d}` | Algeb | :math:`V u \sin{\left(\delta - \theta \right)} - V_{d}` | +---------+-------------------------+----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | vq | :math:`V_{q}` | Algeb | :math:`V u \cos{\left(\delta - \theta \right)} - V_{q}` | +---------+-------------------------+----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | tm | :math:`\tau_{m}` | Algeb | :math:`- \tau_{m} + \tau_{m0}` | +---------+-------------------------+----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | te | :math:`\tau_{e}` | Algeb | :math:`- \tau_{e} + u \left(- I_{d} \psi_{q} + I_{q} \psi_{d}\right)` | +---------+-------------------------+----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | vf | :math:`v_{f}` | Algeb | :math:`u v_{f0} - v_{f}` | +---------+-------------------------+----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | XadIfd | :math:`X_{ad}I_{fd}` | Algeb | :math:`- X_{ad}I_{fd} + u \left(S_e(|\psi_{a}|) \psi_{ad} + {e'_q} + \left(- x'_{d} + x_{d}\right) \left(I_{d} \gamma_{d1} - \gamma_{d2} {e''_d} + \gamma_{d2} {e'_q}\right)\right)` | +---------+-------------------------+----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Pe | :math:`P_{e}` | Algeb | :math:`- P_{e} + u \left(I_{d} V_{d} + I_{q} V_{q}\right)` | +---------+-------------------------+----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Qe | :math:`Q_{e}` | Algeb | :math:`- Q_{e} + u \left(I_{d} V_{q} - I_{q} V_{d}\right)` | +---------+-------------------------+----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | psid | :math:`\psi_{d}` | Algeb | :math:`- \psi_{d} + u \left(I_{q} r_{a} + V_{q}\right)` | +---------+-------------------------+----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | psiq | :math:`\psi_{q}` | Algeb | :math:`\psi_{q} + u \left(I_{d} r_{a} + V_{d}\right)` | +---------+-------------------------+----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | psi2q | :math:`\psi_{aq}` | Algeb | :math:`\gamma_{q1} {e'_d} - \psi_{aq} + {e''_q} \left(1 - \gamma_{q1}\right)` | +---------+-------------------------+----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | psi2d | :math:`\psi_{ad}` | Algeb | :math:`\gamma_{d1} {e'_q} + \gamma_{d2} {e''_d} \left(x'_{d} - x_{l}\right) - \psi_{ad}` | +---------+-------------------------+----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | psi2 | :math:`\psi_{a}` | Algeb | :math:`- \psi_{a}^{2} + \psi_{ad}^{2} + \psi_{aq}^{2}` | +---------+-------------------------+----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Se | :math:`S_e(|\psi_{a}|)` | Algeb | :math:`B^q_{S_{AT}} z_0^{SL} \left(- A^q_{S_{AT}} + \psi_{a}\right)^{2} - S_e(|\psi_{a}|) \psi_{a}` | +---------+-------------------------+----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | XaqI1q | :math:`X_{aq}I_{1q}` | Algeb | :math:`S_e(|\psi_{a}|) \gamma_{qd} \psi_{aq} - X_{aq}I_{1q} + {e'_d} + \left(x_{q} - {x'_q}\right) \left(- I_{q} \gamma_{q1} - \gamma_{q2} {e''_q} + \gamma_{q2} {e'_d}\right)` | +---------+-------------------------+----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | a | :math:`\theta` | ExtAlgeb | :math:`- u \left(I_{d} V_{d} + I_{q} V_{q}\right)` | +---------+-------------------------+----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | v | :math:`V` | ExtAlgeb | :math:`- u \left(I_{d} V_{q} - I_{q} V_{d}\right)` | +---------+-------------------------+----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Services ---------- +----------------+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------+ | Name | Symbol | Equation | Type | +================+============================+==================================================================================================================================================================================================================================================================+==============+ | p0 | :math:`P_0` | :math:`P_{0s} \gamma_{P}` | ConstService | +----------------+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------+ | q0 | :math:`Q_0` | :math:`Q_{0s} \gamma_{Q}` | ConstService | +----------------+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------+ | gd1 | :math:`\gamma_{d1}` | :math:`\frac{- x_{l} + {x''_d}}{x'_{d} - x_{l}}` | ConstService | +----------------+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------+ | gq1 | :math:`\gamma_{q1}` | :math:`\frac{- x_{l} + {x''_q}}{- x_{l} + {x'_q}}` | ConstService | +----------------+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------+ | gd2 | :math:`\gamma_{d2}` | :math:`\frac{x'_{d} - {x''_d}}{\left(x'_{d} - x_{l}\right)^{2}}` | ConstService | +----------------+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------+ | gq2 | :math:`\gamma_{q2}` | :math:`\frac{- {x''_q} + {x'_q}}{\left(- x_{l} + {x'_q}\right)^{2}}` | ConstService | +----------------+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------+ | gqd | :math:`\gamma_{qd}` | :math:`\frac{- x_{l} + x_{q}}{x_{d} - x_{l}}` | ConstService | +----------------+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------+ | _S12 | :math:`S_{1.2}` | :math:`S_{1.2} - _fS12 + 1` | ConstService | +----------------+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------+ | SAT_E1 | :math:`E^{1c}_{S_{AT}}` | :math:`1.0` | ConstService | +----------------+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------+ | SAT_E2 | :math:`E^{2c}_{S_{AT}}` | :math:`3.2 - 2 z^{SE2}_{S_{AT}}` | ConstService | +----------------+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------+ | SAT_SE1 | :math:`SE^{1c}_{S_{AT}}` | :math:`S_{1.0}` | ConstService | +----------------+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------+ | SAT_SE2 | :math:`SE^{2c}_{S_{AT}}` | :math:`S_{1.2} - 2 z^{SE2}_{S_{AT}} + 2` | ConstService | +----------------+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------+ | SAT_a | :math:`a_{S_{AT}}` | :math:`\sqrt{\frac{E^{1c}_{S_{AT}} SE^{1c}_{S_{AT}}}{E^{2c}_{S_{AT}} SE^{2c}_{S_{AT}}}} \left(\operatorname{Indicator}{\left(SE^{2c}_{S_{AT}} > 0 \right)} + \operatorname{Indicator}{\left(SE^{2c}_{S_{AT}} < 0 \right)}\right)` | ConstService | +----------------+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------+ | SAT_A | :math:`A^q_{S_{AT}}` | :math:`E^{2c}_{S_{AT}} - \frac{E^{1c}_{S_{AT}} - E^{2c}_{S_{AT}}}{a_{S_{AT}} - 1}` | ConstService | +----------------+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------+ | SAT_B | :math:`B^q_{S_{AT}}` | :math:`\frac{E^{2c}_{S_{AT}} SE^{2c}_{S_{AT}} \left(a_{S_{AT}} - 1\right)^{2} \left(\operatorname{Indicator}{\left(a_{S_{AT}} > 0 \right)} + \operatorname{Indicator}{\left(a_{S_{AT}} < 0 \right)}\right)}{\left(E^{1c}_{S_{AT}} - E^{2c}_{S_{AT}}\right)^{2}}` | ConstService | +----------------+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------+ | _V | :math:`V_c` | :math:`V e^{i \theta}` | ConstService | +----------------+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------+ | _S | :math:`S` | :math:`P_{0} - i Q_{0}` | ConstService | +----------------+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------+ | _Zs | :math:`Z_s` | :math:`r_{a} + i {x''_d}` | ConstService | +----------------+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------+ | _It | :math:`I_t` | :math:`\frac{S}{\operatorname{conj}{\left(V_{c} \right)}}` | ConstService | +----------------+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------+ | _Is | :math:`I_s` | :math:`I_{t} + \frac{V_{c}}{Z_{s}}` | ConstService | +----------------+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------+ | psi20 | :math:`{\psi''_0}` | :math:`I_{s} Z_{s}` | ConstService | +----------------+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------+ | psi20_arg | :math:`\theta_{\psi''0}` | :math:`\arg{\left({\psi''_0} \right)}` | ConstService | +----------------+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------+ | psi20_abs | :math:`|{\psi''_0}|` | :math:`\left|{{\psi''_0}}\right|` | ConstService | +----------------+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------+ | _It_arg | :math:`\theta_{It0}` | :math:`\arg{\left(I_{t} \right)}` | ConstService | +----------------+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------+ | _psi20_It_arg | :math:`\theta_{\psi a It}` | :math:`- \theta_{It0} + \theta_{\psi''0}` | ConstService | +----------------+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------+ | Se0 | :math:`S_{e0}` | :math:`\frac{B^q_{S_{AT}} \left(- A^q_{S_{AT}} + |{\psi''_0}|\right)^{2} \operatorname{Indicator}{\left(|{\psi''_0}| \geq A^q_{S_{AT}} \right)}}{|{\psi''_0}|}` | ConstService | +----------------+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------+ | _a | :math:`{a'}` | :math:`|{\psi''_0}| \left(S_{e0} \gamma_{qd} + 1\right)` | ConstService | +----------------+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------+ | _b | :math:`{b'}` | :math:`\left(- x_{q} + {x''_q}\right) \left|{I_{t}}\right|` | ConstService | +----------------+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------+ | delta0 | :math:`\delta_0` | :math:`\theta_{\psi''0} + \operatorname{atan}{\left(\frac{{b'} \cos{\left(\theta_{\psi a It} \right)}}{- {a'} + {b'} \sin{\left(\theta_{\psi a It} \right)}} \right)}` | ConstService | +----------------+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------+ | _Tdq | :math:`T_{dq}` | :math:`- i \sin{\left(\delta_{0} \right)} + \cos{\left(\delta_{0} \right)}` | ConstService | +----------------+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------+ | psi20_dq | :math:`{\psi''_{0,dq}}` | :math:`T_{dq} {\psi''_0}` | ConstService | +----------------+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------+ | It_dq | :math:`I_{t,dq}` | :math:`\operatorname{conj}{\left(I_{t} T_{dq} \right)}` | ConstService | +----------------+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------+ | psi2d0 | :math:`\psi_{ad0}` | :math:`\operatorname{re}{\left({\psi''_{0,dq}}\right)}` | ConstService | +----------------+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------+ | psi2q0 | :math:`\psi_{aq0}` | :math:`- \operatorname{im}{\left({\psi''_{0,dq}}\right)}` | ConstService | +----------------+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------+ | Id0 | :math:`I_{d0}` | :math:`\operatorname{im}{\left(I_{t,dq}\right)}` | ConstService | +----------------+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------+ | Iq0 | :math:`I_{q0}` | :math:`\operatorname{re}{\left(I_{t,dq}\right)}` | ConstService | +----------------+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------+ | vd0 | :math:`V_{d0}` | :math:`- I_{d0} r_{a} + I_{q0} {x''_q} + \psi_{aq0}` | ConstService | +----------------+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------+ | vq0 | :math:`V_{q0}` | :math:`- I_{d0} {x''_d} - I_{q0} r_{a} + \psi_{ad0}` | ConstService | +----------------+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------+ | tm0 | :math:`\tau_{m0}` | :math:`u \left(I_{d0} \left(I_{d0} r_{a} + V_{d0}\right) + I_{q0} \left(I_{q0} r_{a} + V_{q0}\right)\right)` | ConstService | +----------------+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------+ | vf0 | :math:`v_{f0}` | :math:`I_{d0} \left(x_{d} - {x''_d}\right) + \psi_{ad0} \left(S_{e0} + 1\right)` | ConstService | +----------------+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------+ | psid0 | :math:`\psi_{d0}` | :math:`I_{q0} r_{a} u + V_{q0}` | ConstService | +----------------+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------+ | psiq0 | :math:`\psi_{q0}` | :math:`- I_{d0} r_{a} u - V_{d0}` | ConstService | +----------------+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------+ | e1q0 | :math:`{e'_{q0}}` | :math:`I_{d0} \left(x'_{d} - x_{d}\right) - S_{e0} \psi_{ad0} + v_{f0}` | ConstService | +----------------+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------+ | e1d0 | :math:`{e'_{d0}}` | :math:`I_{q0} \left(x_{q} - {x'_q}\right) - S_{e0} \gamma_{qd} \psi_{aq0}` | ConstService | +----------------+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------+ | e2d0 | :math:`{e''_{d0}}` | :math:`I_{d0} \left(- x_{d} + x_{l}\right) - S_{e0} \psi_{ad0} + v_{f0}` | ConstService | +----------------+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------+ | e2q0 | :math:`{e''_{q0}}` | :math:`- I_{q0} \left(x_{l} - x_{q}\right) - S_{e0} \gamma_{qd} \psi_{aq0}` | ConstService | +----------------+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------+ Discretes ----------- +------+------------+----------+------+ | Name | Symbol | Type | Info | +======+============+==========+======+ | SL | :math:`SL` | LessThan | | +------+------------+----------+------+ Blocks ------- +------+----------------+------------+------+ | Name | Symbol | Type | Info | +======+================+============+======+ | SAT | :math:`S_{AT}` | ExcQuadSat | | +------+----------------+------------+------+ Config Fields in [GENROU] +---------------+--------+-------+---------------------------------------+-----------------+ | 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) | +---------------+--------+-------+---------------------------------------+-----------------+ | vf_lower | | 1 | lower limit for vf warning | | +---------------+--------+-------+---------------------------------------+-----------------+ | vf_upper | | 5 | upper limit for vf warning | | +---------------+--------+-------+---------------------------------------+-----------------+ .. _PLBVFU1: -------------------------------------------------------------------------------- PLBVFU1 -------------------------------------------------------------------------------- PLBVFU1 model: playback of voltage and frequency as a generator. The internal voltage and frequency are named ``Vflt`` and ``omega``. Rotor angle is named ``delta``. The current implementation relies on a ``TimeSeries`` device to provide the voltage and frequency signals. See ``ieee14_plbvfu1.xlsx`` and ``plbvf.xlsx`` in ``andes/cases/ieee14`` for an example. Voltage and frequeny data needs to be specified in per unit. Nominal values are not yet supported. Parameters ---------- +-----------+-------------------+-------------------------------------------------+---------+----------+--------------+ | Name | Symbol | Description | Default | Unit | Properties | +===========+===================+=================================================+=========+==========+==============+ | idx | | unique device idx | | | | +-----------+-------------------+-------------------------------------------------+---------+----------+--------------+ | u | :math:`u` | connection status | 1 | *bool* | | +-----------+-------------------+-------------------------------------------------+---------+----------+--------------+ | name | | device name | | | | +-----------+-------------------+-------------------------------------------------+---------+----------+--------------+ | bus | | interface bus id | | | mandatory | +-----------+-------------------+-------------------------------------------------+---------+----------+--------------+ | gen | | static generator index | | | mandatory | +-----------+-------------------+-------------------------------------------------+---------+----------+--------------+ | Sn | :math:`S_n` | Power rating | 100 | *MVA* | | +-----------+-------------------+-------------------------------------------------+---------+----------+--------------+ | Vn | :math:`V_n` | AC voltage rating | 110 | | | +-----------+-------------------+-------------------------------------------------+---------+----------+--------------+ | ra | :math:`r_a` | armature resistance | 0 | | z | +-----------+-------------------+-------------------------------------------------+---------+----------+--------------+ | xs | :math:`x_s` | generator transient reactance | 0.200 | | non_zero,z | +-----------+-------------------+-------------------------------------------------+---------+----------+--------------+ | fn | :math:`f_n` | rated frequency | 60 | | | +-----------+-------------------+-------------------------------------------------+---------+----------+--------------+ | Vflag | | playback voltage signal | 1 | *bool* | | +-----------+-------------------+-------------------------------------------------+---------+----------+--------------+ | fflag | | playback frequency signal | 1 | *bool* | | +-----------+-------------------+-------------------------------------------------+---------+----------+--------------+ | filename | | playback file name | | *string* | mandatory | +-----------+-------------------+-------------------------------------------------+---------+----------+--------------+ | Vscale | :math:`V_{scale}` | playback voltage scale | 1 | *pu* | non_negative | +-----------+-------------------+-------------------------------------------------+---------+----------+--------------+ | fscale | :math:`f_{scale}` | playback frequency scale | 1 | *pu* | non_negative | +-----------+-------------------+-------------------------------------------------+---------+----------+--------------+ | Tv | :math:`T_v` | filtering time constant for voltage | 0.200 | *s* | non_negative | +-----------+-------------------+-------------------------------------------------+---------+----------+--------------+ | Tf | :math:`T_f` | filtering time constant for frequency | 0.200 | *s* | non_negative | +-----------+-------------------+-------------------------------------------------+---------+----------+--------------+ | subidx | | Generator idx in plant; only used by PSS/E data | 0 | | | +-----------+-------------------+-------------------------------------------------+---------+----------+--------------+ Variables --------- +--------+-----------------+----------+-------------------------+-------+------------+ | Name | Symbol | Type | Description | Unit | Properties | +========+=================+==========+=========================+=======+============+ | Vflt | :math:`V_{flt}` | State | filtered voltage | *pu* | v_str | +--------+-----------------+----------+-------------------------+-------+------------+ | omega | :math:`\omega` | State | filtered frequency | *pu* | v_str | +--------+-----------------+----------+-------------------------+-------+------------+ | delta | :math:`\delta` | State | rotor angle | *rad* | v_str | +--------+-----------------+----------+-------------------------+-------+------------+ | a | :math:`\theta` | ExtAlgeb | Bus voltage phase angle | | | +--------+-----------------+----------+-------------------------+-------+------------+ | v | :math:`V` | ExtAlgeb | Bus voltage magnitude | | | +--------+-----------------+----------+-------------------------+-------+------------+ Initialization Equations ------------------------ +--------+-----------------+----------+------------------------------------+ | Name | Symbol | Type | Initial Value | +========+=================+==========+====================================+ | Vflt | :math:`V_{flt}` | State | :math:`1/V_{scale} Vts - V_{offs}` | +--------+-----------------+----------+------------------------------------+ | omega | :math:`\omega` | State | :math:`1/f_{scale} fts - f_{offs}` | +--------+-----------------+----------+------------------------------------+ | delta | :math:`\delta` | State | :math:`\delta_{0}` | +--------+-----------------+----------+------------------------------------+ | a | :math:`\theta` | ExtAlgeb | | +--------+-----------------+----------+------------------------------------+ | v | :math:`V` | ExtAlgeb | | +--------+-----------------+----------+------------------------------------+ Differential Equations ----------------------------- +--------+-----------------+-------+-----------------------------------------------+-------------+ | Name | Symbol | Type | RHS of Equation "T x' = f(x, y)" | T (LHS) | +========+=================+=======+===============================================+=============+ | Vflt | :math:`V_{flt}` | State | :math:`1/V_{scale} Vts - V_{flt} - V_{offs}` | :math:`T_v` | +--------+-----------------+-------+-----------------------------------------------+-------------+ | omega | :math:`\omega` | State | :math:`1/f_{scale} fts - \omega - f_{offs}` | :math:`T_f` | +--------+-----------------+-------+-----------------------------------------------+-------------+ | delta | :math:`\delta` | State | :math:`2 \pi f_{n} u \left(\omega - 1\right)` | | +--------+-----------------+-------+-----------------------------------------------+-------------+ Algebraic Equations ----------------------------- +------+----------------+----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Name | Symbol | Type | RHS of Equation "0 = g(x, y)" | +======+================+==========+==================================================================================================================================================================================================+ | a | :math:`\theta` | ExtAlgeb | :math:`- \frac{V V_{flt} x_{s} \sin{\left(\delta - \theta \right)}}{r_{a}^{2} + x_{s}^{2}} + \frac{V r_{a} \left(V - V_{flt} \cos{\left(\delta - \theta \right)}\right)}{r_{a}^{2} + x_{s}^{2}}` | +------+----------------+----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | v | :math:`V` | ExtAlgeb | :math:`\frac{V V_{flt} r_{a} \sin{\left(\delta - \theta \right)}}{r_{a}^{2} + x_{s}^{2}} + \frac{V x_{s} \left(V - V_{flt} \cos{\left(\delta - \theta \right)}\right)}{r_{a}^{2} + x_{s}^{2}}` | +------+----------------+----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Services ---------- +----------+---------------------+----------------------------------------------------------------------------------------------------------------------------------------+--------------+ | Name | Symbol | Equation | Type | +==========+=====================+========================================================================================================================================+==============+ | zs | :math:`zs` | :math:`r_{a} + i x_{s}` | ConstService | +----------+---------------------+----------------------------------------------------------------------------------------------------------------------------------------+--------------+ | zs2n | :math:`zs2n` | :math:`r_{a}^{2} - x_{s}^{2}` | ConstService | +----------+---------------------+----------------------------------------------------------------------------------------------------------------------------------------+--------------+ | Ec | :math:`E_c` | :math:`V e^{i \theta} + \left(r_{a} + i x_{s}\right) \operatorname{conj}{\left(\frac{\left(p + i q\right) e^{- i \theta}}{V} \right)}` | ConstService | +----------+---------------------+----------------------------------------------------------------------------------------------------------------------------------------+--------------+ | E0 | :math:`E_0` | :math:`\left|{E_{c}}\right|` | ConstService | +----------+---------------------+----------------------------------------------------------------------------------------------------------------------------------------+--------------+ | delta0 | :math:`\delta_0` | :math:`\arg{\left(E_{c} \right)}` | ConstService | +----------+---------------------+----------------------------------------------------------------------------------------------------------------------------------------+--------------+ | Vts | :math:`Vts` | :math:`0` | ConstService | +----------+---------------------+----------------------------------------------------------------------------------------------------------------------------------------+--------------+ | fts | :math:`fts` | :math:`0` | ConstService | +----------+---------------------+----------------------------------------------------------------------------------------------------------------------------------------+--------------+ | ifscale | :math:`1/f_{scale}` | :math:`\frac{1}{f_{scale}}` | ConstService | +----------+---------------------+----------------------------------------------------------------------------------------------------------------------------------------+--------------+ | iVscale | :math:`1/V_{scale}` | :math:`\frac{1}{V_{scale}}` | ConstService | +----------+---------------------+----------------------------------------------------------------------------------------------------------------------------------------+--------------+ | foffs | :math:`f_{offs}` | :math:`1/f_{scale} fts - 1` | ConstService | +----------+---------------------+----------------------------------------------------------------------------------------------------------------------------------------+--------------+ | Voffs | :math:`V_{offs}` | :math:`1/V_{scale} Vts - E_{0}` | ConstService | +----------+---------------------+----------------------------------------------------------------------------------------------------------------------------------------+--------------+ Config Fields in [PLBVFU1] +---------------+--------+-------+---------------------------------------+-----------------+ | 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) | +---------------+--------+-------+---------------------------------------+-----------------+