.. _RenGen: ================================================================================ RenGen ================================================================================ Renewable generator (converter) group. See :ref:`SynGen` for the notes on replacing StaticGen and setting the power ratio parameters. Attention is needed for the power base ``Sn``. When replacing a synchronous generator, the renewable generator should have the same or larger ``Sn``. Improper ``Sn`` will cause the initial values to exceed typical per-unit ranges and cause the initialization to fail. Common Parameters: u, name, bus, gen, Sn Common Variables: Pe, Qe Available models: REGCA1_, REGCP1_, REGCV1_, REGCV2_, REGF1_, REGF2_, REGF3_ .. _REGCA1: -------------------------------------------------------------------------------- REGCA1 -------------------------------------------------------------------------------- Renewable energy generator model type A. Implements ``REGCA1`` in PSS/E, or ``REGC_A`` in PSLF and Powerworld. Volim is the voltage limit for high voltage reactive current management, which should be large than static bus voltage (Volim > v), or initialization error will occur. 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` | Model MVA base | 100 | *MVA* | | +---------+--------------------+------------------------------------------------------------------+---------+--------------------+------------+ | Tg | :math:`T_g` | converter time const. | 0.100 | *s* | | +---------+--------------------+------------------------------------------------------------------+---------+--------------------+------------+ | Rrpwr | :math:`R_{rpwr}` | Low voltage power logic (LVPL) ramp limit | 10 | *p.u.* | | +---------+--------------------+------------------------------------------------------------------+---------+--------------------+------------+ | Brkpt | :math:`B_{rkpt}` | LVPL characteristic voltage 2 | 1 | *p.u.* | | +---------+--------------------+------------------------------------------------------------------+---------+--------------------+------------+ | Zerox | :math:`Z_{erox}` | LVPL characteristic voltage 1 | 0.500 | *p.u* | | +---------+--------------------+------------------------------------------------------------------+---------+--------------------+------------+ | Lvplsw | :math:`z_{Lvplsw}` | Low volt. P logic: 1-enable, 0-disable | 1 | *bool* | | +---------+--------------------+------------------------------------------------------------------+---------+--------------------+------------+ | Lvpl1 | :math:`L_{vpl1}` | LVPL gain at Brkpt | 1 | *p.u* | | +---------+--------------------+------------------------------------------------------------------+---------+--------------------+------------+ | Volim | :math:`V_{olim}` | Voltage lim for high volt. reactive current mgnt. | 1.200 | *p.u.* | | +---------+--------------------+------------------------------------------------------------------+---------+--------------------+------------+ | Lvpnt1 | :math:`L_{vpnt1}` | High volt. point for low volt. active current mgnt. | 0.800 | *p.u.* | | +---------+--------------------+------------------------------------------------------------------+---------+--------------------+------------+ | Lvpnt0 | :math:`L_{vpnt0}` | Low volt. point for low volt. active current mgnt. | 0.400 | *p.u.* | | +---------+--------------------+------------------------------------------------------------------+---------+--------------------+------------+ | Iolim | :math:`I_{olim}` | lower current limit for high volt. reactive current mgnt. | -1.500 | *p.u. (mach base)* | current | +---------+--------------------+------------------------------------------------------------------+---------+--------------------+------------+ | Tfltr | :math:`T_{fltr}` | Voltage filter T const for low volt. active current mgnt. | 0.100 | *s* | | +---------+--------------------+------------------------------------------------------------------+---------+--------------------+------------+ | Khv | :math:`K_{hv}` | Overvolt. compensation gain in high volt. reactive current mgnt. | 0.700 | | | +---------+--------------------+------------------------------------------------------------------+---------+--------------------+------------+ | Iqrmax | :math:`I_{qrmax}` | Upper limit on the ROC for reactive current | 1 | *p.u.* | current | +---------+--------------------+------------------------------------------------------------------+---------+--------------------+------------+ | Iqrmin | :math:`I_{qrmin}` | Lower limit on the ROC for reactive current | -1 | *p.u.* | current | +---------+--------------------+------------------------------------------------------------------+---------+--------------------+------------+ | Accel | :math:`A_{ccel}` | Acceleration factor | 0 | | | +---------+--------------------+------------------------------------------------------------------+---------+--------------------+------------+ | gammap | :math:`\gamma_P` | P ratio of linked static gen | 1 | | | +---------+--------------------+------------------------------------------------------------------+---------+--------------------+------------+ | gammaq | :math:`\gamma_Q` | Q ratio of linked static gen | 1 | | | +---------+--------------------+------------------------------------------------------------------+---------+--------------------+------------+ | ra | :math:`r_a` | | 0 | | | +---------+--------------------+------------------------------------------------------------------+---------+--------------------+------------+ | xs | :math:`x_s` | | 0 | | | +---------+--------------------+------------------------------------------------------------------+---------+--------------------+------------+ Variables --------- +----------+-------------------+------------+--------------------------------------+------+------------+ | Name | Symbol | Type | Description | Unit | Properties | +==========+===================+============+======================================+======+============+ | S1_y | :math:`S_{1 y}` | State | State in lag TF | | v_str | +----------+-------------------+------------+--------------------------------------+------+------------+ | S2_y | :math:`S_{2 y}` | State | State in lag transfer function | | v_str | +----------+-------------------+------------+--------------------------------------+------+------------+ | S0_y | :math:`S_{0 y}` | State | State in lag TF | | v_str | +----------+-------------------+------------+--------------------------------------+------+------------+ | LVG_y | :math:`LVG_{y}` | Algeb | Output of piecewise | | v_str | +----------+-------------------+------------+--------------------------------------+------+------------+ | Ipcmd | :math:`Ipcmd` | Algeb | current component for active power | | v_str | +----------+-------------------+------------+--------------------------------------+------+------------+ | Iqcmd | :math:`Iqcmd` | Algeb | current component for reactive power | | v_str | +----------+-------------------+------------+--------------------------------------+------+------------+ | LVPL_y | :math:`LVPL_{y}` | Algeb | Output of piecewise | | v_str | +----------+-------------------+------------+--------------------------------------+------+------------+ | Ipout | :math:`Ipout` | Algeb | Output Ip current | | v_str | +----------+-------------------+------------+--------------------------------------+------+------------+ | HVG_x | :math:`HVG_{x}` | Algeb | Value before limiter | | v_str | +----------+-------------------+------------+--------------------------------------+------+------------+ | HVG_y | :math:`HVG_{y}` | Algeb | Output after limiter and post gain | | v_str | +----------+-------------------+------------+--------------------------------------+------+------------+ | Iqout_x | :math:`Iqout_{x}` | Algeb | Value before limiter | | v_str | +----------+-------------------+------------+--------------------------------------+------+------------+ | Iqout_y | :math:`Iqout_{y}` | Algeb | Output after limiter and post gain | | v_str | +----------+-------------------+------------+--------------------------------------+------+------------+ | Pe | :math:`Pe` | Algeb | Active power output | | v_str | +----------+-------------------+------------+--------------------------------------+------+------------+ | Qe | :math:`Qe` | Algeb | Reactive power output | | v_str | +----------+-------------------+------------+--------------------------------------+------+------------+ | a | :math:`a` | ExtAlgeb | Bus voltage angle | | | +----------+-------------------+------------+--------------------------------------+------+------------+ | v | :math:`v` | ExtAlgeb | Bus voltage magnitude | | | +----------+-------------------+------------+--------------------------------------+------+------------+ | vd | :math:`vd` | AliasAlgeb | Alias of v | | | +----------+-------------------+------------+--------------------------------------+------+------------+ Initialization Equations ------------------------ +----------+-------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Name | Symbol | Type | Initial Value | +==========+===================+============+==============================================================================================================================================================================================================================================+ | S1_y | :math:`S_{1 y}` | State | :math:`- Iqcmd` | +----------+-------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | S2_y | :math:`S_{2 y}` | State | :math:`1.0 v` | +----------+-------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | S0_y | :math:`S_{0 y}` | State | :math:`Ipcmd` | +----------+-------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | LVG_y | :math:`LVG_{y}` | Algeb | :math:`\operatorname{FixPiecewise}{\left(\left( 0, \ Lvpnt_{0} \geq v\right),\left( kLVG \left(- Lvpnt_{0} + v\right), \ Lvpnt_{1} \geq v\right),\left( 1, \ \text{True}\right) \right)}` | +----------+-------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Ipcmd | :math:`Ipcmd` | Algeb | :math:`\frac{Ipcmd_{0} \operatorname{Indicator}{\left(LVG_{y} > 0 \right)}}{LVG_{y}} + \operatorname{Indicator}{\left(LVG_{y} \leq 0 \right)}` | +----------+-------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Iqcmd | :math:`Iqcmd` | Algeb | :math:`Iqcmd_{0}` | +----------+-------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | LVPL_y | :math:`LVPL_{y}` | Algeb | :math:`\operatorname{FixPiecewise}{\left(\left( 9999 - 9999 Lvplsw, \ S_{2 y} \leq Zerox\right),\left( - 9999 Lvplsw + kLVPL \left(S_{2 y} - Zerox\right) + 9999, \ Brkpt \geq S_{2 y}\right),\left( 9999, \ \text{True}\right) \right)}` | +----------+-------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Ipout | :math:`Ipout` | Algeb | :math:`Ipcmd LVG_{y}` | +----------+-------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | HVG_x | :math:`HVG_{x}` | Algeb | :math:`Khv \left(- Volim + v\right)` | +----------+-------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | HVG_y | :math:`HVG_{y}` | Algeb | :math:`HVG_{lim zi} HVG_{x}` | +----------+-------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Iqout_x | :math:`Iqout_{x}` | Algeb | :math:`- HVG_{y} + S_{1 y}` | +----------+-------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Iqout_y | :math:`Iqout_{y}` | Algeb | :math:`Iolim Iqout_{lim zl} + Iqout_{lim zi} Iqout_{x}` | +----------+-------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Pe | :math:`Pe` | Algeb | :math:`p_{0}` | +----------+-------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Qe | :math:`Qe` | Algeb | :math:`q_{0}` | +----------+-------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | a | :math:`a` | ExtAlgeb | | +----------+-------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | v | :math:`v` | ExtAlgeb | | +----------+-------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | vd | :math:`vd` | AliasAlgeb | | +----------+-------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Differential Equations ----------------------------- +-------+-----------------+-------+----------------------------------+------------------+ | Name | Symbol | Type | RHS of Equation "T x' = f(x, y)" | T (LHS) | +=======+=================+=======+==================================+==================+ | S1_y | :math:`S_{1 y}` | State | :math:`- Iqcmd - S_{1 y}` | :math:`T_g` | +-------+-----------------+-------+----------------------------------+------------------+ | S2_y | :math:`S_{2 y}` | State | :math:`- S_{2 y} + 1.0 v` | :math:`T_{fltr}` | +-------+-----------------+-------+----------------------------------+------------------+ | S0_y | :math:`S_{0 y}` | State | :math:`Ipcmd - S_{0 y}` | :math:`T_g` | +-------+-----------------+-------+----------------------------------+------------------+ Algebraic Equations ----------------------------- +----------+-------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Name | Symbol | Type | RHS of Equation "0 = g(x, y)" | +==========+===================+============+===========================================================================================================================================================================================================================================================+ | LVG_y | :math:`LVG_{y}` | Algeb | :math:`- LVG_{y} + \operatorname{FixPiecewise}{\left(\left( 0, \ Lvpnt_{0} \geq v\right),\left( kLVG \left(- Lvpnt_{0} + v\right), \ Lvpnt_{1} \geq v\right),\left( 1, \ \text{True}\right) \right)}` | +----------+-------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Ipcmd | :math:`Ipcmd` | Algeb | :math:`- Ipcmd + Ipcmd_{0 LVG}` | +----------+-------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Iqcmd | :math:`Iqcmd` | Algeb | :math:`- Iqcmd + Iqcmd_{0}` | +----------+-------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | LVPL_y | :math:`LVPL_{y}` | Algeb | :math:`- LVPL_{y} + \operatorname{FixPiecewise}{\left(\left( 9999 - 9999 Lvplsw, \ S_{2 y} \leq Zerox\right),\left( - 9999 Lvplsw + kLVPL \left(S_{2 y} - Zerox\right) + 9999, \ Brkpt \geq S_{2 y}\right),\left( 9999, \ \text{True}\right) \right)}` | +----------+-------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Ipout | :math:`Ipout` | Algeb | :math:`- Ipout + LVG_{y} S_{0 y}` | +----------+-------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | HVG_x | :math:`HVG_{x}` | Algeb | :math:`- HVG_{x} + Khv \left(- Volim + v\right)` | +----------+-------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | HVG_y | :math:`HVG_{y}` | Algeb | :math:`HVG_{lim zi} HVG_{x} - HVG_{y}` | +----------+-------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Iqout_x | :math:`Iqout_{x}` | Algeb | :math:`- HVG_{y} - Iqout_{x} + S_{1 y}` | +----------+-------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Iqout_y | :math:`Iqout_{y}` | Algeb | :math:`Iolim Iqout_{lim zl} + Iqout_{lim zi} Iqout_{x} - Iqout_{y}` | +----------+-------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Pe | :math:`Pe` | Algeb | :math:`Ipout v - Pe` | +----------+-------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Qe | :math:`Qe` | Algeb | :math:`Iqout_{y} v - Qe` | +----------+-------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | a | :math:`a` | ExtAlgeb | :math:`- Pe` | +----------+-------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | v | :math:`v` | ExtAlgeb | :math:`- Qe` | +----------+-------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | vd | :math:`vd` | AliasAlgeb | :math:`0` | +----------+-------------------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Services ---------- +-------------+--------------------+-----------------------------------------------------------+-----------------+ | Name | Symbol | Equation | Type | +=============+====================+===========================================================+=================+ | p0 | :math:`P_0` | :math:`gammap p0s` | ConstService | +-------------+--------------------+-----------------------------------------------------------+-----------------+ | q0 | :math:`Q_0` | :math:`gammaq q0s` | ConstService | +-------------+--------------------+-----------------------------------------------------------+-----------------+ | q0gt0 | :math:`z_{q0>0}` | :math:`\operatorname{Indicator}{\left(q_{0} > 0 \right)}` | ConstService | +-------------+--------------------+-----------------------------------------------------------+-----------------+ | q0lt0 | :math:`z_{q0<0}` | :math:`\operatorname{Indicator}{\left(q_{0} < 0 \right)}` | ConstService | +-------------+--------------------+-----------------------------------------------------------+-----------------+ | Ipcmd0 | :math:`I_{pcmd0}` | :math:`\frac{p_{0}}{v}` | ConstService | +-------------+--------------------+-----------------------------------------------------------+-----------------+ | Iqcmd0 | :math:`I_{qcmd0}` | :math:`- \frac{q_{0}}{v}` | ConstService | +-------------+--------------------+-----------------------------------------------------------+-----------------+ | Ipcmd0_LVG | :math:`Ipcmd0_LVG` | :math:`Ipcmd` | PostInitService | +-------------+--------------------+-----------------------------------------------------------+-----------------+ | kLVG | :math:`k_{LVG}` | :math:`\frac{1}{- Lvpnt_{0} + Lvpnt_{1}}` | ConstService | +-------------+--------------------+-----------------------------------------------------------+-----------------+ | kLVPL | :math:`k_{LVPL}` | :math:`\frac{Lvpl_{1} Lvplsw}{Brkpt - Zerox}` | ConstService | +-------------+--------------------+-----------------------------------------------------------+-----------------+ Discretes ----------- +------------+------------------------+----------------+----------------+ | Name | Symbol | Type | Info | +============+========================+================+================+ | S1_lim | :math:`lim_{S_1}` | AntiWindupRate | Limiter in Lag | +------------+------------------------+----------------+----------------+ | S0_lim | :math:`lim_{S_0}` | AntiWindupRate | Limiter in Lag | +------------+------------------------+----------------+----------------+ | HVG_lim | :math:`lim_{H_{VG}}` | HardLimiter | | +------------+------------------------+----------------+----------------+ | Iqout_lim | :math:`lim_{I^{qout}}` | HardLimiter | | +------------+------------------------+----------------+----------------+ Blocks ------- +--------+------------------+-------------------+------------------------------------+ | Name | Symbol | Type | Info | +========+==================+===================+====================================+ | LVG | :math:`L_{VG}` | Piecewise | Ip gain during low voltage | +--------+------------------+-------------------+------------------------------------+ | S1 | :math:`S_1` | LagAntiWindupRate | Iqcmd delay | +--------+------------------+-------------------+------------------------------------+ | S2 | :math:`S_2` | Lag | Voltage filter with no anti-windup | +--------+------------------+-------------------+------------------------------------+ | LVPL | :math:`L_{VPL}` | Piecewise | Low voltage Ipcmd upper limit | +--------+------------------+-------------------+------------------------------------+ | S0 | :math:`S_0` | LagAntiWindupRate | | +--------+------------------+-------------------+------------------------------------+ | HVG | :math:`H_{VG}` | GainLimiter | High voltage gain block | +--------+------------------+-------------------+------------------------------------+ | Iqout | :math:`I^{qout}` | GainLimiter | Iq output block | +--------+------------------+-------------------+------------------------------------+ Config Fields in [REGCA1] +---------------+--------+-------+---------------------------------------+-----------------+ | 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) | +---------------+--------+-------+---------------------------------------+-----------------+ .. _REGCP1: -------------------------------------------------------------------------------- REGCP1 -------------------------------------------------------------------------------- Renewable energy generator model (REGC_A) with PLL. A PLL device can be specified for estimating the phase angle at the coupling bus through the ``pll`` parameter: - If ``pll`` is not given, the accurate bus angle will be used. - If ``pll`` is not a valid PLL device, the program will error out. - The program does not check if the provided ``pll`` actually measures the bus on which the converter is at. One needs to carefully tune the PLL parameters to match the desired performance. All other remarks for ``REGCA1`` apply. 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` | Model MVA base | 100 | *MVA* | | +---------+--------------------+------------------------------------------------------------------+---------+--------------------+------------+ | Tg | :math:`T_g` | converter time const. | 0.100 | *s* | | +---------+--------------------+------------------------------------------------------------------+---------+--------------------+------------+ | Rrpwr | :math:`R_{rpwr}` | Low voltage power logic (LVPL) ramp limit | 10 | *p.u.* | | +---------+--------------------+------------------------------------------------------------------+---------+--------------------+------------+ | Brkpt | :math:`B_{rkpt}` | LVPL characteristic voltage 2 | 1 | *p.u.* | | +---------+--------------------+------------------------------------------------------------------+---------+--------------------+------------+ | Zerox | :math:`Z_{erox}` | LVPL characteristic voltage 1 | 0.500 | *p.u* | | +---------+--------------------+------------------------------------------------------------------+---------+--------------------+------------+ | Lvplsw | :math:`z_{Lvplsw}` | Low volt. P logic: 1-enable, 0-disable | 1 | *bool* | | +---------+--------------------+------------------------------------------------------------------+---------+--------------------+------------+ | Lvpl1 | :math:`L_{vpl1}` | LVPL gain at Brkpt | 1 | *p.u* | | +---------+--------------------+------------------------------------------------------------------+---------+--------------------+------------+ | Volim | :math:`V_{olim}` | Voltage lim for high volt. reactive current mgnt. | 1.200 | *p.u.* | | +---------+--------------------+------------------------------------------------------------------+---------+--------------------+------------+ | Lvpnt1 | :math:`L_{vpnt1}` | High volt. point for low volt. active current mgnt. | 0.800 | *p.u.* | | +---------+--------------------+------------------------------------------------------------------+---------+--------------------+------------+ | Lvpnt0 | :math:`L_{vpnt0}` | Low volt. point for low volt. active current mgnt. | 0.400 | *p.u.* | | +---------+--------------------+------------------------------------------------------------------+---------+--------------------+------------+ | Iolim | :math:`I_{olim}` | lower current limit for high volt. reactive current mgnt. | -1.500 | *p.u. (mach base)* | current | +---------+--------------------+------------------------------------------------------------------+---------+--------------------+------------+ | Tfltr | :math:`T_{fltr}` | Voltage filter T const for low volt. active current mgnt. | 0.100 | *s* | | +---------+--------------------+------------------------------------------------------------------+---------+--------------------+------------+ | Khv | :math:`K_{hv}` | Overvolt. compensation gain in high volt. reactive current mgnt. | 0.700 | | | +---------+--------------------+------------------------------------------------------------------+---------+--------------------+------------+ | Iqrmax | :math:`I_{qrmax}` | Upper limit on the ROC for reactive current | 1 | *p.u.* | current | +---------+--------------------+------------------------------------------------------------------+---------+--------------------+------------+ | Iqrmin | :math:`I_{qrmin}` | Lower limit on the ROC for reactive current | -1 | *p.u.* | current | +---------+--------------------+------------------------------------------------------------------+---------+--------------------+------------+ | Accel | :math:`A_{ccel}` | Acceleration factor | 0 | | | +---------+--------------------+------------------------------------------------------------------+---------+--------------------+------------+ | gammap | :math:`\gamma_P` | P ratio of linked static gen | 1 | | | +---------+--------------------+------------------------------------------------------------------+---------+--------------------+------------+ | gammaq | :math:`\gamma_Q` | Q ratio of linked static gen | 1 | | | +---------+--------------------+------------------------------------------------------------------+---------+--------------------+------------+ | pll | | Phase-lock loop device idx | | | | +---------+--------------------+------------------------------------------------------------------+---------+--------------------+------------+ | ra | :math:`r_a` | | 0 | | | +---------+--------------------+------------------------------------------------------------------+---------+--------------------+------------+ | xs | :math:`x_s` | | 0 | | | +---------+--------------------+------------------------------------------------------------------+---------+--------------------+------------+ Variables --------- +----------+-------------------+----------+--------------------------------------+------+------------+ | Name | Symbol | Type | Description | Unit | Properties | +==========+===================+==========+======================================+======+============+ | S1_y | :math:`S_{1 y}` | State | State in lag TF | | v_str | +----------+-------------------+----------+--------------------------------------+------+------------+ | S2_y | :math:`S_{2 y}` | State | State in lag transfer function | | v_str | +----------+-------------------+----------+--------------------------------------+------+------------+ | S0_y | :math:`S_{0 y}` | State | State in lag TF | | v_str | +----------+-------------------+----------+--------------------------------------+------+------------+ | am | :math:`am` | ExtState | Measured angle | | | +----------+-------------------+----------+--------------------------------------+------+------------+ | LVG_y | :math:`LVG_{y}` | Algeb | Output of piecewise | | v_str | +----------+-------------------+----------+--------------------------------------+------+------------+ | Ipcmd | :math:`Ipcmd` | Algeb | current component for active power | | v_str | +----------+-------------------+----------+--------------------------------------+------+------------+ | Iqcmd | :math:`Iqcmd` | Algeb | current component for reactive power | | v_str | +----------+-------------------+----------+--------------------------------------+------+------------+ | LVPL_y | :math:`LVPL_{y}` | Algeb | Output of piecewise | | v_str | +----------+-------------------+----------+--------------------------------------+------+------------+ | Ipout | :math:`Ipout` | Algeb | Output Ip current | | v_str | +----------+-------------------+----------+--------------------------------------+------+------------+ | HVG_x | :math:`HVG_{x}` | Algeb | Value before limiter | | v_str | +----------+-------------------+----------+--------------------------------------+------+------------+ | HVG_y | :math:`HVG_{y}` | Algeb | Output after limiter and post gain | | v_str | +----------+-------------------+----------+--------------------------------------+------+------------+ | Iqout_x | :math:`Iqout_{x}` | Algeb | Value before limiter | | v_str | +----------+-------------------+----------+--------------------------------------+------+------------+ | Iqout_y | :math:`Iqout_{y}` | Algeb | Output after limiter and post gain | | v_str | +----------+-------------------+----------+--------------------------------------+------+------------+ | Pe | :math:`Pe` | Algeb | Active power output | | v_str | +----------+-------------------+----------+--------------------------------------+------+------------+ | Qe | :math:`Qe` | Algeb | Reactive power output | | v_str | +----------+-------------------+----------+--------------------------------------+------+------------+ | vd | :math:`vd` | Algeb | d-axis voltage | | v_str | +----------+-------------------+----------+--------------------------------------+------+------------+ | vq | :math:`vq` | Algeb | q-axis voltage | | v_str | +----------+-------------------+----------+--------------------------------------+------+------------+ | a | :math:`a` | ExtAlgeb | Bus voltage angle | | | +----------+-------------------+----------+--------------------------------------+------+------------+ | v | :math:`v` | ExtAlgeb | Bus voltage magnitude | | | +----------+-------------------+----------+--------------------------------------+------+------------+ Initialization Equations ------------------------ +----------+-------------------+----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Name | Symbol | Type | Initial Value | +==========+===================+==========+==============================================================================================================================================================================================================================================+ | S1_y | :math:`S_{1 y}` | State | :math:`- Iqcmd` | +----------+-------------------+----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | S2_y | :math:`S_{2 y}` | State | :math:`1.0 v` | +----------+-------------------+----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | S0_y | :math:`S_{0 y}` | State | :math:`Ipcmd` | +----------+-------------------+----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | am | :math:`am` | ExtState | | +----------+-------------------+----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | LVG_y | :math:`LVG_{y}` | Algeb | :math:`\operatorname{FixPiecewise}{\left(\left( 0, \ Lvpnt_{0} \geq v\right),\left( kLVG \left(- Lvpnt_{0} + v\right), \ Lvpnt_{1} \geq v\right),\left( 1, \ \text{True}\right) \right)}` | +----------+-------------------+----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Ipcmd | :math:`Ipcmd` | Algeb | :math:`\frac{Ipcmd_{0} \operatorname{Indicator}{\left(LVG_{y} > 0 \right)}}{LVG_{y}} + \operatorname{Indicator}{\left(LVG_{y} \leq 0 \right)}` | +----------+-------------------+----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Iqcmd | :math:`Iqcmd` | Algeb | :math:`Iqcmd_{0}` | +----------+-------------------+----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | LVPL_y | :math:`LVPL_{y}` | Algeb | :math:`\operatorname{FixPiecewise}{\left(\left( 9999 - 9999 Lvplsw, \ S_{2 y} \leq Zerox\right),\left( - 9999 Lvplsw + kLVPL \left(S_{2 y} - Zerox\right) + 9999, \ Brkpt \geq S_{2 y}\right),\left( 9999, \ \text{True}\right) \right)}` | +----------+-------------------+----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Ipout | :math:`Ipout` | Algeb | :math:`Ipcmd LVG_{y}` | +----------+-------------------+----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | HVG_x | :math:`HVG_{x}` | Algeb | :math:`Khv \left(- Volim + v\right)` | +----------+-------------------+----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | HVG_y | :math:`HVG_{y}` | Algeb | :math:`HVG_{lim zi} HVG_{x}` | +----------+-------------------+----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Iqout_x | :math:`Iqout_{x}` | Algeb | :math:`- HVG_{y} + S_{1 y}` | +----------+-------------------+----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Iqout_y | :math:`Iqout_{y}` | Algeb | :math:`Iolim Iqout_{lim zl} + Iqout_{lim zi} Iqout_{x}` | +----------+-------------------+----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Pe | :math:`Pe` | Algeb | :math:`p_{0}` | +----------+-------------------+----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Qe | :math:`Qe` | Algeb | :math:`q_{0}` | +----------+-------------------+----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | vd | :math:`vd` | Algeb | :math:`v` | +----------+-------------------+----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | vq | :math:`vq` | Algeb | :math:`0` | +----------+-------------------+----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | a | :math:`a` | ExtAlgeb | | +----------+-------------------+----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | v | :math:`v` | ExtAlgeb | | +----------+-------------------+----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Differential Equations ----------------------------- +-------+-----------------+----------+----------------------------------+------------------+ | Name | Symbol | Type | RHS of Equation "T x' = f(x, y)" | T (LHS) | +=======+=================+==========+==================================+==================+ | S1_y | :math:`S_{1 y}` | State | :math:`- Iqcmd - S_{1 y}` | :math:`T_g` | +-------+-----------------+----------+----------------------------------+------------------+ | S2_y | :math:`S_{2 y}` | State | :math:`- S_{2 y} + 1.0 v` | :math:`T_{fltr}` | +-------+-----------------+----------+----------------------------------+------------------+ | S0_y | :math:`S_{0 y}` | State | :math:`Ipcmd - S_{0 y}` | :math:`T_g` | +-------+-----------------+----------+----------------------------------+------------------+ | am | :math:`am` | ExtState | :math:`0` | | +-------+-----------------+----------+----------------------------------+------------------+ Algebraic Equations ----------------------------- +----------+-------------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Name | Symbol | Type | RHS of Equation "0 = g(x, y)" | +==========+===================+==========+===========================================================================================================================================================================================================================================================+ | LVG_y | :math:`LVG_{y}` | Algeb | :math:`- LVG_{y} + \operatorname{FixPiecewise}{\left(\left( 0, \ Lvpnt_{0} \geq v\right),\left( kLVG \left(- Lvpnt_{0} + v\right), \ Lvpnt_{1} \geq v\right),\left( 1, \ \text{True}\right) \right)}` | +----------+-------------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Ipcmd | :math:`Ipcmd` | Algeb | :math:`- Ipcmd + Ipcmd_{0 LVG}` | +----------+-------------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Iqcmd | :math:`Iqcmd` | Algeb | :math:`- Iqcmd + Iqcmd_{0}` | +----------+-------------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | LVPL_y | :math:`LVPL_{y}` | Algeb | :math:`- LVPL_{y} + \operatorname{FixPiecewise}{\left(\left( 9999 - 9999 Lvplsw, \ S_{2 y} \leq Zerox\right),\left( - 9999 Lvplsw + kLVPL \left(S_{2 y} - Zerox\right) + 9999, \ Brkpt \geq S_{2 y}\right),\left( 9999, \ \text{True}\right) \right)}` | +----------+-------------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Ipout | :math:`Ipout` | Algeb | :math:`- Ipout + LVG_{y} S_{0 y}` | +----------+-------------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | HVG_x | :math:`HVG_{x}` | Algeb | :math:`- HVG_{x} + Khv \left(- Volim + v\right)` | +----------+-------------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | HVG_y | :math:`HVG_{y}` | Algeb | :math:`HVG_{lim zi} HVG_{x} - HVG_{y}` | +----------+-------------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Iqout_x | :math:`Iqout_{x}` | Algeb | :math:`- HVG_{y} - Iqout_{x} + S_{1 y}` | +----------+-------------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Iqout_y | :math:`Iqout_{y}` | Algeb | :math:`Iolim Iqout_{lim zl} + Iqout_{lim zi} Iqout_{x} - Iqout_{y}` | +----------+-------------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Pe | :math:`Pe` | Algeb | :math:`Ipout vd + Iqout_{y} vq - Pe` | +----------+-------------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Qe | :math:`Qe` | Algeb | :math:`- Ipout vq + Iqout_{y} vd - Qe` | +----------+-------------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | vd | :math:`vd` | Algeb | :math:`v \cos{\left(zam \left(a - am\right) \right)} - vd` | +----------+-------------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | vq | :math:`vq` | Algeb | :math:`- v \sin{\left(zam \left(a - am\right) \right)} - vq` | +----------+-------------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | a | :math:`a` | ExtAlgeb | :math:`- Pe` | +----------+-------------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | v | :math:`v` | ExtAlgeb | :math:`- Qe` | +----------+-------------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Services ---------- +-------------+--------------------+-----------------------------------------------------------+-----------------+ | Name | Symbol | Equation | Type | +=============+====================+===========================================================+=================+ | p0 | :math:`P_0` | :math:`gammap p0s` | ConstService | +-------------+--------------------+-----------------------------------------------------------+-----------------+ | q0 | :math:`Q_0` | :math:`gammaq q0s` | ConstService | +-------------+--------------------+-----------------------------------------------------------+-----------------+ | q0gt0 | :math:`z_{q0>0}` | :math:`\operatorname{Indicator}{\left(q_{0} > 0 \right)}` | ConstService | +-------------+--------------------+-----------------------------------------------------------+-----------------+ | q0lt0 | :math:`z_{q0<0}` | :math:`\operatorname{Indicator}{\left(q_{0} < 0 \right)}` | ConstService | +-------------+--------------------+-----------------------------------------------------------+-----------------+ | Ipcmd0 | :math:`I_{pcmd0}` | :math:`\frac{p_{0}}{v}` | ConstService | +-------------+--------------------+-----------------------------------------------------------+-----------------+ | Iqcmd0 | :math:`I_{qcmd0}` | :math:`- \frac{q_{0}}{v}` | ConstService | +-------------+--------------------+-----------------------------------------------------------+-----------------+ | Ipcmd0_LVG | :math:`Ipcmd0_LVG` | :math:`Ipcmd` | PostInitService | +-------------+--------------------+-----------------------------------------------------------+-----------------+ | kLVG | :math:`k_{LVG}` | :math:`\frac{1}{- Lvpnt_{0} + Lvpnt_{1}}` | ConstService | +-------------+--------------------+-----------------------------------------------------------+-----------------+ | kLVPL | :math:`k_{LVPL}` | :math:`\frac{Lvpl_{1} Lvplsw}{Brkpt - Zerox}` | ConstService | +-------------+--------------------+-----------------------------------------------------------+-----------------+ Discretes ----------- +------------+------------------------+----------------+----------------+ | Name | Symbol | Type | Info | +============+========================+================+================+ | S1_lim | :math:`lim_{S_1}` | AntiWindupRate | Limiter in Lag | +------------+------------------------+----------------+----------------+ | S0_lim | :math:`lim_{S_0}` | AntiWindupRate | Limiter in Lag | +------------+------------------------+----------------+----------------+ | HVG_lim | :math:`lim_{H_{VG}}` | HardLimiter | | +------------+------------------------+----------------+----------------+ | Iqout_lim | :math:`lim_{I^{qout}}` | HardLimiter | | +------------+------------------------+----------------+----------------+ Blocks ------- +--------+------------------+-------------------+------------------------------------+ | Name | Symbol | Type | Info | +========+==================+===================+====================================+ | LVG | :math:`L_{VG}` | Piecewise | Ip gain during low voltage | +--------+------------------+-------------------+------------------------------------+ | S1 | :math:`S_1` | LagAntiWindupRate | Iqcmd delay | +--------+------------------+-------------------+------------------------------------+ | S2 | :math:`S_2` | Lag | Voltage filter with no anti-windup | +--------+------------------+-------------------+------------------------------------+ | LVPL | :math:`L_{VPL}` | Piecewise | Low voltage Ipcmd upper limit | +--------+------------------+-------------------+------------------------------------+ | S0 | :math:`S_0` | LagAntiWindupRate | | +--------+------------------+-------------------+------------------------------------+ | HVG | :math:`H_{VG}` | GainLimiter | High voltage gain block | +--------+------------------+-------------------+------------------------------------+ | Iqout | :math:`I^{qout}` | GainLimiter | Iq output block | +--------+------------------+-------------------+------------------------------------+ Config Fields in [REGCP1] +---------------+--------+-------+---------------------------------------+-----------------+ | 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) | +---------------+--------+-------+---------------------------------------+-----------------+ .. _REGCV1: -------------------------------------------------------------------------------- REGCV1 -------------------------------------------------------------------------------- Voltage-controlled VSC with VSG control. Includes double-loop PI control and swing equation based VSG control. Voltage measurement delays are ignored. Notes ----- - Extreme care needs to be taken when coordinating the PI controller parameters. - Setting the primary frequency control droop ``kw`` can improve small-signal stability. - The droop ``kv`` for voltage control (pu voltage / pu Q change), if used, needs to be chosen carefully. In most cases, ``kv`` should be a very small positive value if not zero. 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 | +---------+------------------+---------------------------------------------------+---------+--------+---------------------+ | coi2 | | center of inertia 2 index | | | | +---------+------------------+---------------------------------------------------+---------+--------+---------------------+ | Sn | :math:`S_n` | Model MVA base | 100 | *MVA* | | +---------+------------------+---------------------------------------------------+---------+--------+---------------------+ | fn | :math:`f` | rated frequency | 60 | | | +---------+------------------+---------------------------------------------------+---------+--------+---------------------+ | Tc | :math:`T_c` | switch time constant | 0.010 | *s* | | +---------+------------------+---------------------------------------------------+---------+--------+---------------------+ | kw | :math:`k_\omega` | speed droop on active power (reciprocal of droop) | 0 | *p.u.* | non_negative,ipower | +---------+------------------+---------------------------------------------------+---------+--------+---------------------+ | kv | :math:`k_v` | reactive power droop on voltage | 0 | *p.u.* | non_negative,power | +---------+------------------+---------------------------------------------------+---------+--------+---------------------+ | M | :math:`M` | Emulated startup time constant (M=2H) | 10 | *s* | power | +---------+------------------+---------------------------------------------------+---------+--------+---------------------+ | D | :math:`D` | Emulated damping coefficient | 0 | *p.u.* | power | +---------+------------------+---------------------------------------------------+---------+--------+---------------------+ | ra | :math:`r_a` | resistance | 0 | | z | +---------+------------------+---------------------------------------------------+---------+--------+---------------------+ | xs | :math:`x_s` | reactance | 0.200 | | z | +---------+------------------+---------------------------------------------------+---------+--------+---------------------+ | gammap | :math:`\gamma_P` | P ratio of linked static gen | 1 | | | +---------+------------------+---------------------------------------------------+---------+--------+---------------------+ | gammaq | :math:`\gamma_Q` | Q ratio of linked static gen | 1 | | | +---------+------------------+---------------------------------------------------+---------+--------+---------------------+ | Kpvd | :math:`kp_{vd}` | vd controller proportional gain | 0.500 | *p.u.* | power | +---------+------------------+---------------------------------------------------+---------+--------+---------------------+ | Kivd | :math:`ki_{vd}` | vd controller integral gain | 0.020 | *p.u.* | power | +---------+------------------+---------------------------------------------------+---------+--------+---------------------+ | Kpvq | :math:`kp_{vq}` | vq controller proportional gain | 0.500 | *p.u.* | power | +---------+------------------+---------------------------------------------------+---------+--------+---------------------+ | Kivq | :math:`ki_{vq}` | vq controller integral gain | 0.020 | *p.u.* | power | +---------+------------------+---------------------------------------------------+---------+--------+---------------------+ | KpId | :math:`kp_{di}` | Id controller proportional gain | 0.200 | *p.u.* | power | +---------+------------------+---------------------------------------------------+---------+--------+---------------------+ | KiId | :math:`ki_{di}` | Id controller integral gain | 0.010 | *p.u.* | power | +---------+------------------+---------------------------------------------------+---------+--------+---------------------+ | KpIq | :math:`kp_{qi}` | Iq controller proportional gain | 0.200 | *p.u.* | power | +---------+------------------+---------------------------------------------------+---------+--------+---------------------+ | KiIq | :math:`ki_{qi}` | Iq controller integral gain | 0.010 | *p.u.* | power | +---------+------------------+---------------------------------------------------+---------+--------+---------------------+ Variables --------- +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ | Name | Symbol | Type | Description | Unit | Properties | +==========+====================+============+=====================================================+===========+============+ | dw | :math:`dw` | State | delta virtual rotor speed | *pu (Hz)* | v_str | +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ | delta | :math:`\delta` | State | virtual delta | *rad* | v_str | +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ | PIvd_xi | :math:`PIvd_{\xi}` | State | Integrator output | | v_str | +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ | PIvq_xi | :math:`PIvq_{\xi}` | State | Integrator output | | v_str | +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ | PIId_xi | :math:`PIId_{\xi}` | State | Integrator output | | v_str | +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ | PIIq_xi | :math:`PIIq_{\xi}` | State | Integrator output | | v_str | +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ | udLag_y | :math:`udLag_{y}` | State | State in lag transfer function | | v_str | +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ | uqLag_y | :math:`uqLag_{y}` | State | State in lag transfer function | | v_str | +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ | ud | :math:`ud` | AliasState | Alias of udLag_y | | | +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ | uq | :math:`uq` | AliasState | Alias of uqLag_y | | | +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ | Pref2 | :math:`Pref_{2}` | Algeb | active power reference after adjusting by frequency | | v_str | +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ | vref2 | :math:`vref_{2}` | Algeb | voltage reference after adjusted by reactive power | | v_str | +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ | omega | :math:`\omega` | Algeb | virtual rotor speed | *pu (Hz)* | v_str | +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ | vd | :math:`vd` | Algeb | d-axis voltage | | v_str | +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ | vq | :math:`vq` | Algeb | q-axis voltage | | v_str | +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ | Pe | :math:`Pe` | Algeb | active power injection from VSC | | v_str | +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ | Qe | :math:`Qe` | Algeb | reactive power injection from VSC | | v_str | +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ | Id | :math:`Id` | Algeb | d-axis current | | v_str | +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ | Iq | :math:`Iq` | Algeb | q-axis current | | v_str | +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ | PIvd_y | :math:`PIvd_{y}` | Algeb | PI output | | v_str | +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ | PIvq_y | :math:`PIvq_{y}` | Algeb | PI output | | v_str | +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ | PIId_y | :math:`PIId_{y}` | Algeb | PI output | | v_str | +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ | PIIq_y | :math:`PIIq_{y}` | Algeb | PI output | | v_str | +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ | udref | :math:`udref` | Algeb | ud reference | | v_str | +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ | uqref | :math:`uqref` | Algeb | uq reference | | v_str | +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ | a | :math:`a` | ExtAlgeb | Bus voltage angle | | | +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ | v | :math:`v` | ExtAlgeb | Bus voltage magnitude | | | +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ | Idref | :math:`Idref` | AliasAlgeb | Alias of PIvd_y | | | +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ | Iqref | :math:`Iqref` | AliasAlgeb | Alias of PIvq_y | | | +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ Initialization Equations ------------------------ +----------+--------------------+------------+--------------------------------------------------+ | Name | Symbol | Type | Initial Value | +==========+====================+============+==================================================+ | dw | :math:`dw` | State | :math:`0` | +----------+--------------------+------------+--------------------------------------------------+ | delta | :math:`\delta` | State | :math:`a` | +----------+--------------------+------------+--------------------------------------------------+ | PIvd_xi | :math:`PIvd_{\xi}` | State | :math:`Id_{0}` | +----------+--------------------+------------+--------------------------------------------------+ | PIvq_xi | :math:`PIvq_{\xi}` | State | :math:`Iq_{0}` | +----------+--------------------+------------+--------------------------------------------------+ | PIId_xi | :math:`PIId_{\xi}` | State | :math:`0.0` | +----------+--------------------+------------+--------------------------------------------------+ | PIIq_xi | :math:`PIIq_{\xi}` | State | :math:`0.0` | +----------+--------------------+------------+--------------------------------------------------+ | udLag_y | :math:`udLag_{y}` | State | :math:`udref` | +----------+--------------------+------------+--------------------------------------------------+ | uqLag_y | :math:`uqLag_{y}` | State | :math:`uqref` | +----------+--------------------+------------+--------------------------------------------------+ | ud | :math:`ud` | AliasState | | +----------+--------------------+------------+--------------------------------------------------+ | uq | :math:`uq` | AliasState | | +----------+--------------------+------------+--------------------------------------------------+ | Pref2 | :math:`Pref_{2}` | Algeb | :math:`Pref u` | +----------+--------------------+------------+--------------------------------------------------+ | vref2 | :math:`vref_{2}` | Algeb | :math:`u vref` | +----------+--------------------+------------+--------------------------------------------------+ | omega | :math:`\omega` | Algeb | :math:`u` | +----------+--------------------+------------+--------------------------------------------------+ | vd | :math:`vd` | Algeb | :math:`vd_{0}` | +----------+--------------------+------------+--------------------------------------------------+ | vq | :math:`vq` | Algeb | :math:`vq_{0}` | +----------+--------------------+------------+--------------------------------------------------+ | Pe | :math:`Pe` | Algeb | :math:`Pref` | +----------+--------------------+------------+--------------------------------------------------+ | Qe | :math:`Qe` | Algeb | :math:`Qref` | +----------+--------------------+------------+--------------------------------------------------+ | Id | :math:`Id` | Algeb | :math:`Id_{0}` | +----------+--------------------+------------+--------------------------------------------------+ | Iq | :math:`Iq` | Algeb | :math:`Iq_{0}` | +----------+--------------------+------------+--------------------------------------------------+ | PIvd_y | :math:`PIvd_{y}` | Algeb | :math:`Id_{0} + Kpvd \left(vd - vref_{2}\right)` | +----------+--------------------+------------+--------------------------------------------------+ | PIvq_y | :math:`PIvq_{y}` | Algeb | :math:`Iq_{0} + Kpvq vq` | +----------+--------------------+------------+--------------------------------------------------+ | PIId_y | :math:`PIId_{y}` | Algeb | :math:`KpId \left(Id - PIvd_{y}\right)` | +----------+--------------------+------------+--------------------------------------------------+ | PIIq_y | :math:`PIIq_{y}` | Algeb | :math:`KpIq \left(Iq - PIvq_{y}\right)` | +----------+--------------------+------------+--------------------------------------------------+ | udref | :math:`udref` | Algeb | :math:`udref_{0}` | +----------+--------------------+------------+--------------------------------------------------+ | uqref | :math:`uqref` | Algeb | :math:`uqref_{0}` | +----------+--------------------+------------+--------------------------------------------------+ | a | :math:`a` | ExtAlgeb | | +----------+--------------------+------------+--------------------------------------------------+ | v | :math:`v` | ExtAlgeb | | +----------+--------------------+------------+--------------------------------------------------+ | Idref | :math:`Idref` | AliasAlgeb | | +----------+--------------------+------------+--------------------------------------------------+ | Iqref | :math:`Iqref` | AliasAlgeb | | +----------+--------------------+------------+--------------------------------------------------+ Differential Equations ----------------------------- +----------+--------------------+------------+-----------------------------------------+-------------+ | Name | Symbol | Type | RHS of Equation "T x' = f(x, y)" | T (LHS) | +==========+====================+============+=========================================+=============+ | dw | :math:`dw` | State | :math:`- D dw - Pe + Pref_{2}` | :math:`M` | +----------+--------------------+------------+-----------------------------------------+-------------+ | delta | :math:`\delta` | State | :math:`2 \pi dw fn` | | +----------+--------------------+------------+-----------------------------------------+-------------+ | PIvd_xi | :math:`PIvd_{\xi}` | State | :math:`Kivd \left(vd - vref_{2}\right)` | | +----------+--------------------+------------+-----------------------------------------+-------------+ | PIvq_xi | :math:`PIvq_{\xi}` | State | :math:`Kivq vq` | | +----------+--------------------+------------+-----------------------------------------+-------------+ | PIId_xi | :math:`PIId_{\xi}` | State | :math:`KiId \left(Id - PIvd_{y}\right)` | | +----------+--------------------+------------+-----------------------------------------+-------------+ | PIIq_xi | :math:`PIIq_{\xi}` | State | :math:`KiIq \left(Iq - PIvq_{y}\right)` | | +----------+--------------------+------------+-----------------------------------------+-------------+ | udLag_y | :math:`udLag_{y}` | State | :math:`- udLag_{y} + udref` | :math:`T_c` | +----------+--------------------+------------+-----------------------------------------+-------------+ | uqLag_y | :math:`uqLag_{y}` | State | :math:`- uqLag_{y} + uqref` | :math:`T_c` | +----------+--------------------+------------+-----------------------------------------+-------------+ | ud | :math:`ud` | AliasState | :math:`0` | | +----------+--------------------+------------+-----------------------------------------+-------------+ | uq | :math:`uq` | AliasState | :math:`0` | | +----------+--------------------+------------+-----------------------------------------+-------------+ Algebraic Equations ----------------------------- +---------+------------------+------------+-----------------------------------------------------------------+ | Name | Symbol | Type | RHS of Equation "0 = g(x, y)" | +=========+==================+============+=================================================================+ | Pref2 | :math:`Pref_{2}` | Algeb | :math:`Pref u - Pref_{2} - dw kw` | +---------+------------------+------------+-----------------------------------------------------------------+ | vref2 | :math:`vref_{2}` | Algeb | :math:`kv \left(- Qe + Qref u\right) + vref - vref_{2}` | +---------+------------------+------------+-----------------------------------------------------------------+ | omega | :math:`\omega` | Algeb | :math:`dw - \omega + 1` | +---------+------------------+------------+-----------------------------------------------------------------+ | vd | :math:`vd` | Algeb | :math:`u v \cos{\left(a - \delta \right)} - vd` | +---------+------------------+------------+-----------------------------------------------------------------+ | vq | :math:`vq` | Algeb | :math:`u v \sin{\left(a - \delta \right)} - vq` | +---------+------------------+------------+-----------------------------------------------------------------+ | Pe | :math:`Pe` | Algeb | :math:`Id vd + Iq vq - Pe` | +---------+------------------+------------+-----------------------------------------------------------------+ | Qe | :math:`Qe` | Algeb | :math:`Id vq - Iq vd - Qe` | +---------+------------------+------------+-----------------------------------------------------------------+ | Id | :math:`Id` | Algeb | :math:`Id ra - Iq xs - udLag_{y} + vd` | +---------+------------------+------------+-----------------------------------------------------------------+ | Iq | :math:`Iq` | Algeb | :math:`Id xs + Iq ra - uqLag_{y} + vq` | +---------+------------------+------------+-----------------------------------------------------------------+ | PIvd_y | :math:`PIvd_{y}` | Algeb | :math:`Kpvd \left(vd - vref_{2}\right) + PIvd_{\xi} - PIvd_{y}` | +---------+------------------+------------+-----------------------------------------------------------------+ | PIvq_y | :math:`PIvq_{y}` | Algeb | :math:`Kpvq vq + PIvq_{\xi} - PIvq_{y}` | +---------+------------------+------------+-----------------------------------------------------------------+ | PIId_y | :math:`PIId_{y}` | Algeb | :math:`KpId \left(Id - PIvd_{y}\right) + PIId_{\xi} - PIId_{y}` | +---------+------------------+------------+-----------------------------------------------------------------+ | PIIq_y | :math:`PIIq_{y}` | Algeb | :math:`KpIq \left(Iq - PIvq_{y}\right) + PIIq_{\xi} - PIIq_{y}` | +---------+------------------+------------+-----------------------------------------------------------------+ | udref | :math:`udref` | Algeb | :math:`- Iqref xs + PIId_{y} - udref + vd` | +---------+------------------+------------+-----------------------------------------------------------------+ | uqref | :math:`uqref` | Algeb | :math:`Idref xs + PIIq_{y} - uqref + vq` | +---------+------------------+------------+-----------------------------------------------------------------+ | a | :math:`a` | ExtAlgeb | :math:`- Pe u` | +---------+------------------+------------+-----------------------------------------------------------------+ | v | :math:`v` | ExtAlgeb | :math:`- Qe u` | +---------+------------------+------------+-----------------------------------------------------------------+ | Idref | :math:`Idref` | AliasAlgeb | :math:`0` | +---------+------------------+------------+-----------------------------------------------------------------+ | Iqref | :math:`Iqref` | AliasAlgeb | :math:`0` | +---------+------------------+------------+-----------------------------------------------------------------+ Services ---------- +---------+-------------------+----------------------------------------+--------------+ | Name | Symbol | Equation | Type | +=========+===================+========================================+==============+ | Pref | :math:`P_{ref}` | :math:`gammap p0s` | ConstService | +---------+-------------------+----------------------------------------+--------------+ | Qref | :math:`Q_{ref}` | :math:`gammaq q0s` | ConstService | +---------+-------------------+----------------------------------------+--------------+ | ixs | :math:`1/xs` | :math:`\frac{1}{xs}` | ConstService | +---------+-------------------+----------------------------------------+--------------+ | Id0 | :math:`I_{d0}` | :math:`\frac{Pref u}{v}` | ConstService | +---------+-------------------+----------------------------------------+--------------+ | Iq0 | :math:`I_{q0}` | :math:`- \frac{Qref u}{v}` | ConstService | +---------+-------------------+----------------------------------------+--------------+ | vd0 | :math:`v_{d0}` | :math:`u v` | ConstService | +---------+-------------------+----------------------------------------+--------------+ | vq0 | :math:`v_{q0}` | :math:`0` | ConstService | +---------+-------------------+----------------------------------------+--------------+ | udref0 | :math:`u_{dref0}` | :math:`Id_{0} ra - Iq_{0} xs + vd_{0}` | ConstService | +---------+-------------------+----------------------------------------+--------------+ | uqref0 | :math:`u_{qref0}` | :math:`Id_{0} xs + Iq_{0} ra + vq_{0}` | ConstService | +---------+-------------------+----------------------------------------+--------------+ Blocks ------- +--------+---------------+--------------+------+ | Name | Symbol | Type | Info | +========+===============+==============+======+ | PIvd | :math:`PIvd` | PIController | | +--------+---------------+--------------+------+ | PIvq | :math:`PIvq` | PIController | | +--------+---------------+--------------+------+ | PIId | :math:`PIId` | PIController | | +--------+---------------+--------------+------+ | PIIq | :math:`PIIq` | PIController | | +--------+---------------+--------------+------+ | udLag | :math:`udLag` | Lag | | +--------+---------------+--------------+------+ | uqLag | :math:`uqLag` | Lag | | +--------+---------------+--------------+------+ Config Fields in [REGCV1] +---------------+--------+-------+---------------------------------------+-----------------+ | 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) | +---------------+--------+-------+---------------------------------------+-----------------+ .. _REGCV2: -------------------------------------------------------------------------------- REGCV2 -------------------------------------------------------------------------------- Voltage-controlled VSC with VSG control. The inner-loop current PI controllers are replaced with lag transfer functions. Notes ----- To avoid small-signal stability issues, one take extreme care in setting the PI control gains ``Kpvd``, ``Kivd``, ``Kpvq``, and ``Kivq``, and the emulated inertia ``M`` and damping ``D``. 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 | +---------+------------------+---------------------------------------------------+---------+--------+---------------------+ | coi2 | | center of inertia 2 index | | | | +---------+------------------+---------------------------------------------------+---------+--------+---------------------+ | Sn | :math:`S_n` | Model MVA base | 100 | *MVA* | | +---------+------------------+---------------------------------------------------+---------+--------+---------------------+ | fn | :math:`f` | rated frequency | 60 | | | +---------+------------------+---------------------------------------------------+---------+--------+---------------------+ | Tc | :math:`T_c` | switch time constant | 0.010 | *s* | | +---------+------------------+---------------------------------------------------+---------+--------+---------------------+ | kw | :math:`k_\omega` | speed droop on active power (reciprocal of droop) | 0 | *p.u.* | non_negative,ipower | +---------+------------------+---------------------------------------------------+---------+--------+---------------------+ | kv | :math:`k_v` | reactive power droop on voltage | 0 | *p.u.* | non_negative,power | +---------+------------------+---------------------------------------------------+---------+--------+---------------------+ | M | :math:`M` | Emulated startup time constant (M=2H) | 10 | *s* | power | +---------+------------------+---------------------------------------------------+---------+--------+---------------------+ | D | :math:`D` | Emulated damping coefficient | 0 | *p.u.* | power | +---------+------------------+---------------------------------------------------+---------+--------+---------------------+ | ra | :math:`r_a` | resistance | 0 | | z | +---------+------------------+---------------------------------------------------+---------+--------+---------------------+ | xs | :math:`x_s` | reactance | 0.200 | | z | +---------+------------------+---------------------------------------------------+---------+--------+---------------------+ | gammap | :math:`\gamma_P` | P ratio of linked static gen | 1 | | | +---------+------------------+---------------------------------------------------+---------+--------+---------------------+ | gammaq | :math:`\gamma_Q` | Q ratio of linked static gen | 1 | | | +---------+------------------+---------------------------------------------------+---------+--------+---------------------+ | Kpvd | :math:`kp_{vd}` | vd controller proportional gain | 0.500 | *p.u.* | power | +---------+------------------+---------------------------------------------------+---------+--------+---------------------+ | Kivd | :math:`ki_{vd}` | vd controller integral gain | 0.020 | *p.u.* | power | +---------+------------------+---------------------------------------------------+---------+--------+---------------------+ | Kpvq | :math:`kp_{vq}` | vq controller proportional gain | 0.500 | *p.u.* | power | +---------+------------------+---------------------------------------------------+---------+--------+---------------------+ | Kivq | :math:`ki_{vq}` | vq controller integral gain | 0.020 | *p.u.* | power | +---------+------------------+---------------------------------------------------+---------+--------+---------------------+ | Tiq | :math:`T_{Iq}` | | 0.010 | | | +---------+------------------+---------------------------------------------------+---------+--------+---------------------+ | Tid | :math:`T_{Id}` | | 0.010 | | | +---------+------------------+---------------------------------------------------+---------+--------+---------------------+ Variables --------- +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ | Name | Symbol | Type | Description | Unit | Properties | +==========+====================+============+=====================================================+===========+============+ | dw | :math:`dw` | State | delta virtual rotor speed | *pu (Hz)* | v_str | +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ | delta | :math:`\delta` | State | virtual delta | *rad* | v_str | +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ | PIvd_xi | :math:`PIvd_{\xi}` | State | Integrator output | | v_str | +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ | PIvq_xi | :math:`PIvq_{\xi}` | State | Integrator output | | v_str | +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ | LGId_y | :math:`LGId_{y}` | State | State in lag transfer function | | v_str | +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ | LGIq_y | :math:`LGIq_{y}` | State | State in lag transfer function | | v_str | +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ | Pref2 | :math:`Pref_{2}` | Algeb | active power reference after adjusting by frequency | | v_str | +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ | vref2 | :math:`vref_{2}` | Algeb | voltage reference after adjusted by reactive power | | v_str | +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ | omega | :math:`\omega` | Algeb | virtual rotor speed | *pu (Hz)* | v_str | +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ | vd | :math:`vd` | Algeb | d-axis voltage | | v_str | +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ | vq | :math:`vq` | Algeb | q-axis voltage | | v_str | +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ | Pe | :math:`Pe` | Algeb | active power injection from VSC | | v_str | +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ | Qe | :math:`Qe` | Algeb | reactive power injection from VSC | | v_str | +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ | Id | :math:`Id` | Algeb | d-axis current | | v_str | +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ | Iq | :math:`Iq` | Algeb | q-axis current | | v_str | +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ | PIvd_y | :math:`PIvd_{y}` | Algeb | PI output | | v_str | +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ | PIvq_y | :math:`PIvq_{y}` | Algeb | PI output | | v_str | +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ | a | :math:`a` | ExtAlgeb | Bus voltage angle | | | +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ | v | :math:`v` | ExtAlgeb | Bus voltage magnitude | | | +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ | Idref | :math:`Idref` | AliasAlgeb | Alias of PIvd_y | | | +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ | Iqref | :math:`Iqref` | AliasAlgeb | Alias of PIvq_y | | | +----------+--------------------+------------+-----------------------------------------------------+-----------+------------+ Initialization Equations ------------------------ +----------+--------------------+------------+--------------------------------------------------+ | Name | Symbol | Type | Initial Value | +==========+====================+============+==================================================+ | dw | :math:`dw` | State | :math:`0` | +----------+--------------------+------------+--------------------------------------------------+ | delta | :math:`\delta` | State | :math:`a` | +----------+--------------------+------------+--------------------------------------------------+ | PIvd_xi | :math:`PIvd_{\xi}` | State | :math:`Id_{0}` | +----------+--------------------+------------+--------------------------------------------------+ | PIvq_xi | :math:`PIvq_{\xi}` | State | :math:`Iq_{0}` | +----------+--------------------+------------+--------------------------------------------------+ | LGId_y | :math:`LGId_{y}` | State | :math:`PIvd_{y}` | +----------+--------------------+------------+--------------------------------------------------+ | LGIq_y | :math:`LGIq_{y}` | State | :math:`PIvq_{y}` | +----------+--------------------+------------+--------------------------------------------------+ | Pref2 | :math:`Pref_{2}` | Algeb | :math:`Pref u` | +----------+--------------------+------------+--------------------------------------------------+ | vref2 | :math:`vref_{2}` | Algeb | :math:`u vref` | +----------+--------------------+------------+--------------------------------------------------+ | omega | :math:`\omega` | Algeb | :math:`u` | +----------+--------------------+------------+--------------------------------------------------+ | vd | :math:`vd` | Algeb | :math:`vd_{0}` | +----------+--------------------+------------+--------------------------------------------------+ | vq | :math:`vq` | Algeb | :math:`vq_{0}` | +----------+--------------------+------------+--------------------------------------------------+ | Pe | :math:`Pe` | Algeb | :math:`Pref` | +----------+--------------------+------------+--------------------------------------------------+ | Qe | :math:`Qe` | Algeb | :math:`Qref` | +----------+--------------------+------------+--------------------------------------------------+ | Id | :math:`Id` | Algeb | :math:`Id_{0}` | +----------+--------------------+------------+--------------------------------------------------+ | Iq | :math:`Iq` | Algeb | :math:`Iq_{0}` | +----------+--------------------+------------+--------------------------------------------------+ | PIvd_y | :math:`PIvd_{y}` | Algeb | :math:`Id_{0} + Kpvd \left(vd - vref_{2}\right)` | +----------+--------------------+------------+--------------------------------------------------+ | PIvq_y | :math:`PIvq_{y}` | Algeb | :math:`Iq_{0} + Kpvq vq` | +----------+--------------------+------------+--------------------------------------------------+ | a | :math:`a` | ExtAlgeb | | +----------+--------------------+------------+--------------------------------------------------+ | v | :math:`v` | ExtAlgeb | | +----------+--------------------+------------+--------------------------------------------------+ | Idref | :math:`Idref` | AliasAlgeb | | +----------+--------------------+------------+--------------------------------------------------+ | Iqref | :math:`Iqref` | AliasAlgeb | | +----------+--------------------+------------+--------------------------------------------------+ Differential Equations ----------------------------- +----------+--------------------+-------+-----------------------------------------+----------------+ | Name | Symbol | Type | RHS of Equation "T x' = f(x, y)" | T (LHS) | +==========+====================+=======+=========================================+================+ | dw | :math:`dw` | State | :math:`- D dw - Pe + Pref_{2}` | :math:`M` | +----------+--------------------+-------+-----------------------------------------+----------------+ | delta | :math:`\delta` | State | :math:`2 \pi dw fn` | | +----------+--------------------+-------+-----------------------------------------+----------------+ | PIvd_xi | :math:`PIvd_{\xi}` | State | :math:`Kivd \left(vd - vref_{2}\right)` | | +----------+--------------------+-------+-----------------------------------------+----------------+ | PIvq_xi | :math:`PIvq_{\xi}` | State | :math:`Kivq vq` | | +----------+--------------------+-------+-----------------------------------------+----------------+ | LGId_y | :math:`LGId_{y}` | State | :math:`- LGId_{y} + PIvd_{y}` | :math:`T_{Id}` | +----------+--------------------+-------+-----------------------------------------+----------------+ | LGIq_y | :math:`LGIq_{y}` | State | :math:`- LGIq_{y} + PIvq_{y}` | :math:`T_{Iq}` | +----------+--------------------+-------+-----------------------------------------+----------------+ Algebraic Equations ----------------------------- +---------+------------------+------------+-----------------------------------------------------------------+ | Name | Symbol | Type | RHS of Equation "0 = g(x, y)" | +=========+==================+============+=================================================================+ | Pref2 | :math:`Pref_{2}` | Algeb | :math:`Pref u - Pref_{2} - dw kw` | +---------+------------------+------------+-----------------------------------------------------------------+ | vref2 | :math:`vref_{2}` | Algeb | :math:`kv \left(- Qe + Qref u\right) + vref - vref_{2}` | +---------+------------------+------------+-----------------------------------------------------------------+ | omega | :math:`\omega` | Algeb | :math:`dw - \omega + 1` | +---------+------------------+------------+-----------------------------------------------------------------+ | vd | :math:`vd` | Algeb | :math:`u v \cos{\left(a - \delta \right)} - vd` | +---------+------------------+------------+-----------------------------------------------------------------+ | vq | :math:`vq` | Algeb | :math:`u v \sin{\left(a - \delta \right)} - vq` | +---------+------------------+------------+-----------------------------------------------------------------+ | Pe | :math:`Pe` | Algeb | :math:`Id vd + Iq vq - Pe` | +---------+------------------+------------+-----------------------------------------------------------------+ | Qe | :math:`Qe` | Algeb | :math:`Id vq - Iq vd - Qe` | +---------+------------------+------------+-----------------------------------------------------------------+ | Id | :math:`Id` | Algeb | :math:`- Id + LGId_{y}` | +---------+------------------+------------+-----------------------------------------------------------------+ | Iq | :math:`Iq` | Algeb | :math:`- Iq + LGIq_{y}` | +---------+------------------+------------+-----------------------------------------------------------------+ | PIvd_y | :math:`PIvd_{y}` | Algeb | :math:`Kpvd \left(vd - vref_{2}\right) + PIvd_{\xi} - PIvd_{y}` | +---------+------------------+------------+-----------------------------------------------------------------+ | PIvq_y | :math:`PIvq_{y}` | Algeb | :math:`Kpvq vq + PIvq_{\xi} - PIvq_{y}` | +---------+------------------+------------+-----------------------------------------------------------------+ | a | :math:`a` | ExtAlgeb | :math:`- Pe u` | +---------+------------------+------------+-----------------------------------------------------------------+ | v | :math:`v` | ExtAlgeb | :math:`- Qe u` | +---------+------------------+------------+-----------------------------------------------------------------+ | Idref | :math:`Idref` | AliasAlgeb | :math:`0` | +---------+------------------+------------+-----------------------------------------------------------------+ | Iqref | :math:`Iqref` | AliasAlgeb | :math:`0` | +---------+------------------+------------+-----------------------------------------------------------------+ Services ---------- +-------+-----------------+----------------------------+--------------+ | Name | Symbol | Equation | Type | +=======+=================+============================+==============+ | Pref | :math:`P_{ref}` | :math:`gammap p0s` | ConstService | +-------+-----------------+----------------------------+--------------+ | Qref | :math:`Q_{ref}` | :math:`gammaq q0s` | ConstService | +-------+-----------------+----------------------------+--------------+ | ixs | :math:`1/xs` | :math:`\frac{1}{xs}` | ConstService | +-------+-----------------+----------------------------+--------------+ | Id0 | :math:`I_{d0}` | :math:`\frac{Pref u}{v}` | ConstService | +-------+-----------------+----------------------------+--------------+ | Iq0 | :math:`I_{q0}` | :math:`- \frac{Qref u}{v}` | ConstService | +-------+-----------------+----------------------------+--------------+ | vd0 | :math:`v_{d0}` | :math:`u v` | ConstService | +-------+-----------------+----------------------------+--------------+ | vq0 | :math:`v_{q0}` | :math:`0` | ConstService | +-------+-----------------+----------------------------+--------------+ Blocks ------- +-------+--------------+--------------+------+ | Name | Symbol | Type | Info | +=======+==============+==============+======+ | PIvd | :math:`PIvd` | PIController | | +-------+--------------+--------------+------+ | PIvq | :math:`PIvq` | PIController | | +-------+--------------+--------------+------+ | LGId | :math:`LGId` | Lag | | +-------+--------------+--------------+------+ | LGIq | :math:`LGIq` | Lag | | +-------+--------------+--------------+------+ Config Fields in [REGCV2] +---------------+--------+-------+---------------------------------------+-----------------+ | 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) | +---------------+--------+-------+---------------------------------------+-----------------+ .. _REGF1: -------------------------------------------------------------------------------- REGF1 -------------------------------------------------------------------------------- Grid-forming inverter using droop. Implementation of EPRI Memorandum D. Ramasubramanian, "PROPOSAL FOR SUITE OF GENERIC GRID FORMING (GFM) POSITIVE SEQUENCE MODELS" 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` | Model MVA base | 100 | *MVA* | | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | rf | :math:`r_a` | resistance | 0 | | z | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | xf | :math:`x_s` | reactance | 0.200 | | z | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | Vdip | :math:`V_{dip}` | V threshold to freeze states | 0.800 | *p.u.* | | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | Tfrz | :math:`T_{frz}` | Time to keep state frozen | 0 | | | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | PQFLAG | | P/Q priority flag; 0-Q priority, 1-P priority | 1 | *bool* | | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | fn | :math:`f` | rated frequency | 60 | | | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | dwmax | :math:`\Delta \omega_{max}` | maximum value of frequency deviation | 75 | | | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | dwmin | :math:`\Delta \omega_{min}` | minimum value of frequency deviation | -75 | | | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | wdrp | :math:`\omega_{drp}` | frequency droop percentage | 0.033 | | | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | Qdrp | :math:`Q_{drp}` | Voltage droop percentage | 0.045 | | | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | Tr | :math:`T_c` | transducer time constant | 0.005 | *s* | | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | Te | :math:`T_e` | ouput state time constant | 0.005 | *s* | | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | KPi | :math:`K_{Pi}` | current control proportional gain | 0.500 | | non_negative | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | KIi | :math:`K_{Ii}` | current control integral gain | 20 | | non_negative | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | KPv | :math:`K_{Pv}` | voltage control proportional gain | 3 | | non_negative | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | KIv | :math:`K_{Iv}` | voltage control integral gain | 10 | | non_negative | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | Pmax | :math:`P_{max}` | max. active power | 1 | | non_negative,power | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | Pmin | :math:`P_{min}` | min. active power | -1 | | power | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | KPplim | :math:`K_{Pplim}` | Kp for P limits | 5 | | non_negative | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | KIplim | :math:`K_{Iplim}` | KI for P limits | 30 | | non_negative | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | Qmax | :math:`Q_{max}` | max. reactive power | 1 | | non_negative,power | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | Qmin | :math:`Q_{min}` | min. reactive power | -1 | | power | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | KPqlim | :math:`K_{Pqlim}` | Kp for Q limits | 0.100 | | non_negative | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | KIqlim | :math:`K_{Iqlim}` | KI for Q limits | 1.500 | | non_negative | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | Tpm | :math:`T_{pm}` | power signal input delay (3 \Delta t) | 0.025 | | | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | gammap | :math:`\gamma_P` | P ratio of linked static gen | 1 | | | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | gammaq | :math:`\gamma_Q` | Q ratio of linked static gen | 1 | | | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ Variables --------- +------------+----------------------+------------+------------------------------------+-------+------------+ | Name | Symbol | Type | Description | Unit | Properties | +============+======================+============+====================================+=======+============+ | Psen_y | :math:`Psen_{y}` | State | State in lag transfer function | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | Qsen_y | :math:`Qsen_{y}` | State | State in lag transfer function | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | Psig_y | :math:`Psig_{y}` | State | State in lag TF | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | Qsig_y | :math:`Qsig_{y}` | State | State in lag TF | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | PIplim_xi | :math:`PIplim_{\xi}` | State | Integrator output | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | PIqlim_xi | :math:`PIqlim_{\xi}` | State | Integrator output | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | delta | :math:`\delta` | State | virtual delta | *rad* | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | PIvd_xi | :math:`PIvd_{\xi}` | State | Integrator output | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | PIvq_xi | :math:`PIvq_{\xi}` | State | Integrator output | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | PIId_xi | :math:`PIId_{\xi}` | State | Integrator output | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | PIIq_xi | :math:`PIIq_{\xi}` | State | Integrator output | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | udLag_y | :math:`udLag_{y}` | State | State in lag transfer function | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | uqLag_y | :math:`uqLag_{y}` | State | State in lag transfer function | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | ud | :math:`ud` | AliasState | Alias of udLag_y | | | +------------+----------------------+------------+------------------------------------+-------+------------+ | uq | :math:`uq` | AliasState | Alias of uqLag_y | | | +------------+----------------------+------------+------------------------------------+-------+------------+ | Paux | :math:`Paux` | Algeb | | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | Qaux | :math:`Qaux` | Algeb | | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | PIplim_y | :math:`PIplim_{y}` | Algeb | PI output | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | PIqlim_y | :math:`PIqlim_{y}` | Algeb | PI output | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | vd | :math:`vd` | Algeb | d-axis voltage | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | vq | :math:`vq` | Algeb | q-axis voltage | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | Pe | :math:`Pe` | Algeb | active power injection from VSC | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | Qe | :math:`Qe` | Algeb | reactive power injection from VSC | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | Id | :math:`Id` | Algeb | d-axis current | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | Iq | :math:`Iq` | Algeb | q-axis current | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | dw_x | :math:`dw_{x}` | Algeb | Value before limiter | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | dw_y | :math:`dw_{y}` | Algeb | Output after limiter and post gain | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | vref2 | :math:`vref_{2}` | Algeb | voltage reference after droop | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | PIvd_y | :math:`PIvd_{y}` | Algeb | PI output | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | PIvq_y | :math:`PIvq_{y}` | Algeb | PI output | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | PIId_y | :math:`PIId_{y}` | Algeb | PI output | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | PIIq_y | :math:`PIIq_{y}` | Algeb | PI output | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | udref | :math:`udref` | Algeb | ud reference | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | uqref | :math:`uqref` | Algeb | uq reference | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | a | :math:`a` | ExtAlgeb | Bus voltage angle | | | +------------+----------------------+------------+------------------------------------+-------+------------+ | v | :math:`v` | ExtAlgeb | Bus voltage magnitude | | | +------------+----------------------+------------+------------------------------------+-------+------------+ | Idref | :math:`Idref` | AliasAlgeb | Alias of PIvd_y | | | +------------+----------------------+------------+------------------------------------+-------+------------+ | Iqref | :math:`Iqref` | AliasAlgeb | Alias of PIvq_y | | | +------------+----------------------+------------+------------------------------------+-------+------------+ Initialization Equations ------------------------ +------------+----------------------+------------+--------------------------------------------------------------------+ | Name | Symbol | Type | Initial Value | +============+======================+============+====================================================================+ | Psen_y | :math:`Psen_{y}` | State | :math:`Pe` | +------------+----------------------+------------+--------------------------------------------------------------------+ | Qsen_y | :math:`Qsen_{y}` | State | :math:`Qe` | +------------+----------------------+------------+--------------------------------------------------------------------+ | Psig_y | :math:`Psig_{y}` | State | :math:`Paux + Psen_{y}` | +------------+----------------------+------------+--------------------------------------------------------------------+ | Qsig_y | :math:`Qsig_{y}` | State | :math:`Qaux + Qsen_{y}` | +------------+----------------------+------------+--------------------------------------------------------------------+ | PIplim_xi | :math:`PIplim_{\xi}` | State | :math:`Psen_{y}` | +------------+----------------------+------------+--------------------------------------------------------------------+ | PIqlim_xi | :math:`PIqlim_{\xi}` | State | :math:`Qsen_{y}` | +------------+----------------------+------------+--------------------------------------------------------------------+ | delta | :math:`\delta` | State | :math:`a` | +------------+----------------------+------------+--------------------------------------------------------------------+ | PIvd_xi | :math:`PIvd_{\xi}` | State | :math:`Id_{0}` | +------------+----------------------+------------+--------------------------------------------------------------------+ | PIvq_xi | :math:`PIvq_{\xi}` | State | :math:`Iq_{0}` | +------------+----------------------+------------+--------------------------------------------------------------------+ | PIId_xi | :math:`PIId_{\xi}` | State | :math:`0.0` | +------------+----------------------+------------+--------------------------------------------------------------------+ | PIIq_xi | :math:`PIIq_{\xi}` | State | :math:`0.0` | +------------+----------------------+------------+--------------------------------------------------------------------+ | udLag_y | :math:`udLag_{y}` | State | :math:`udref` | +------------+----------------------+------------+--------------------------------------------------------------------+ | uqLag_y | :math:`uqLag_{y}` | State | :math:`uqref` | +------------+----------------------+------------+--------------------------------------------------------------------+ | ud | :math:`ud` | AliasState | | +------------+----------------------+------------+--------------------------------------------------------------------+ | uq | :math:`uq` | AliasState | | +------------+----------------------+------------+--------------------------------------------------------------------+ | Paux | :math:`Paux` | Algeb | :math:`0` | +------------+----------------------+------------+--------------------------------------------------------------------+ | Qaux | :math:`Qaux` | Algeb | :math:`0` | +------------+----------------------+------------+--------------------------------------------------------------------+ | PIplim_y | :math:`PIplim_{y}` | Algeb | :math:`KPplim \left(- Psen_{y} + Psig_{y}\right) + Psen_{y}` | +------------+----------------------+------------+--------------------------------------------------------------------+ | PIqlim_y | :math:`PIqlim_{y}` | Algeb | :math:`KPqlim \left(- Qsen_{y} + Qsig_{y}\right) + Qsen_{y}` | +------------+----------------------+------------+--------------------------------------------------------------------+ | vd | :math:`vd` | Algeb | :math:`vd_{0}` | +------------+----------------------+------------+--------------------------------------------------------------------+ | vq | :math:`vq` | Algeb | :math:`vq_{0}` | +------------+----------------------+------------+--------------------------------------------------------------------+ | Pe | :math:`Pe` | Algeb | :math:`Pref` | +------------+----------------------+------------+--------------------------------------------------------------------+ | Qe | :math:`Qe` | Algeb | :math:`Qref` | +------------+----------------------+------------+--------------------------------------------------------------------+ | Id | :math:`Id` | Algeb | :math:`Id_{0}` | +------------+----------------------+------------+--------------------------------------------------------------------+ | Iq | :math:`Iq` | Algeb | :math:`Iq_{0}` | +------------+----------------------+------------+--------------------------------------------------------------------+ | dw_x | :math:`dw_{x}` | Algeb | :math:`w_{0} wdrp \left(PIplim_{y} - Psen_{y}\right)` | +------------+----------------------+------------+--------------------------------------------------------------------+ | dw_y | :math:`dw_{y}` | Algeb | :math:`dw_{lim zi} dw_{x} + dw_{lim zl} dwmin + dw_{lim zu} dwmax` | +------------+----------------------+------------+--------------------------------------------------------------------+ | vref2 | :math:`vref_{2}` | Algeb | :math:`u vref` | +------------+----------------------+------------+--------------------------------------------------------------------+ | PIvd_y | :math:`PIvd_{y}` | Algeb | :math:`Id_{0} + KPv \left(- vd + vref_{2}\right)` | +------------+----------------------+------------+--------------------------------------------------------------------+ | PIvq_y | :math:`PIvq_{y}` | Algeb | :math:`Iq_{0} - KPv vq` | +------------+----------------------+------------+--------------------------------------------------------------------+ | PIId_y | :math:`PIId_{y}` | Algeb | :math:`KPi \left(- Id + PIvd_{y}\right)` | +------------+----------------------+------------+--------------------------------------------------------------------+ | PIIq_y | :math:`PIIq_{y}` | Algeb | :math:`KPi \left(- Iq + PIvq_{y}\right)` | +------------+----------------------+------------+--------------------------------------------------------------------+ | udref | :math:`udref` | Algeb | :math:`udref_{0}` | +------------+----------------------+------------+--------------------------------------------------------------------+ | uqref | :math:`uqref` | Algeb | :math:`uqref_{0}` | +------------+----------------------+------------+--------------------------------------------------------------------+ | a | :math:`a` | ExtAlgeb | | +------------+----------------------+------------+--------------------------------------------------------------------+ | v | :math:`v` | ExtAlgeb | | +------------+----------------------+------------+--------------------------------------------------------------------+ | Idref | :math:`Idref` | AliasAlgeb | | +------------+----------------------+------------+--------------------------------------------------------------------+ | Iqref | :math:`Iqref` | AliasAlgeb | | +------------+----------------------+------------+--------------------------------------------------------------------+ Differential Equations ----------------------------- +------------+----------------------+------------+---------------------------------------------------+----------------+ | Name | Symbol | Type | RHS of Equation "T x' = f(x, y)" | T (LHS) | +============+======================+============+===================================================+================+ | Psen_y | :math:`Psen_{y}` | State | :math:`Pe - Psen_{y}` | :math:`T_c` | +------------+----------------------+------------+---------------------------------------------------+----------------+ | Qsen_y | :math:`Qsen_{y}` | State | :math:`Qe - Qsen_{y}` | :math:`T_c` | +------------+----------------------+------------+---------------------------------------------------+----------------+ | Psig_y | :math:`Psig_{y}` | State | :math:`Paux + Psen_{y} - Psig_{y}` | :math:`T_{pm}` | +------------+----------------------+------------+---------------------------------------------------+----------------+ | Qsig_y | :math:`Qsig_{y}` | State | :math:`Qaux + Qsen_{y} - Qsig_{y}` | :math:`T_{pm}` | +------------+----------------------+------------+---------------------------------------------------+----------------+ | PIplim_xi | :math:`PIplim_{\xi}` | State | :math:`KIplim \left(- Psen_{y} + Psig_{y}\right)` | | +------------+----------------------+------------+---------------------------------------------------+----------------+ | PIqlim_xi | :math:`PIqlim_{\xi}` | State | :math:`KIqlim \left(- Qsen_{y} + Qsig_{y}\right)` | | +------------+----------------------+------------+---------------------------------------------------+----------------+ | delta | :math:`\delta` | State | :math:`dw_{y}` | | +------------+----------------------+------------+---------------------------------------------------+----------------+ | PIvd_xi | :math:`PIvd_{\xi}` | State | :math:`KIv \left(- vd + vref_{2}\right)` | | +------------+----------------------+------------+---------------------------------------------------+----------------+ | PIvq_xi | :math:`PIvq_{\xi}` | State | :math:`- KIv vq` | | +------------+----------------------+------------+---------------------------------------------------+----------------+ | PIId_xi | :math:`PIId_{\xi}` | State | :math:`KIi \left(- Id + PIvd_{y}\right)` | | +------------+----------------------+------------+---------------------------------------------------+----------------+ | PIIq_xi | :math:`PIIq_{\xi}` | State | :math:`KIi \left(- Iq + PIvq_{y}\right)` | | +------------+----------------------+------------+---------------------------------------------------+----------------+ | udLag_y | :math:`udLag_{y}` | State | :math:`- udLag_{y} + udref` | :math:`T_e` | +------------+----------------------+------------+---------------------------------------------------+----------------+ | uqLag_y | :math:`uqLag_{y}` | State | :math:`- uqLag_{y} + uqref` | :math:`T_e` | +------------+----------------------+------------+---------------------------------------------------+----------------+ | ud | :math:`ud` | AliasState | :math:`0` | | +------------+----------------------+------------+---------------------------------------------------+----------------+ | uq | :math:`uq` | AliasState | :math:`0` | | +------------+----------------------+------------+---------------------------------------------------+----------------+ Algebraic Equations ----------------------------- +-----------+--------------------+------------+-------------------------------------------------------------------------------+ | Name | Symbol | Type | RHS of Equation "0 = g(x, y)" | +===========+====================+============+===============================================================================+ | Paux | :math:`Paux` | Algeb | :math:`Paux` | +-----------+--------------------+------------+-------------------------------------------------------------------------------+ | Qaux | :math:`Qaux` | Algeb | :math:`Qaux` | +-----------+--------------------+------------+-------------------------------------------------------------------------------+ | PIplim_y | :math:`PIplim_{y}` | Algeb | :math:`KPplim \left(- Psen_{y} + Psig_{y}\right) + PIplim_{\xi} - PIplim_{y}` | +-----------+--------------------+------------+-------------------------------------------------------------------------------+ | PIqlim_y | :math:`PIqlim_{y}` | Algeb | :math:`KPqlim \left(- Qsen_{y} + Qsig_{y}\right) + PIqlim_{\xi} - PIqlim_{y}` | +-----------+--------------------+------------+-------------------------------------------------------------------------------+ | vd | :math:`vd` | Algeb | :math:`u v \cos{\left(a - \delta \right)} - vd` | +-----------+--------------------+------------+-------------------------------------------------------------------------------+ | vq | :math:`vq` | Algeb | :math:`u v \sin{\left(a - \delta \right)} - vq` | +-----------+--------------------+------------+-------------------------------------------------------------------------------+ | Pe | :math:`Pe` | Algeb | :math:`Id vd + Iq vq - Pe` | +-----------+--------------------+------------+-------------------------------------------------------------------------------+ | Qe | :math:`Qe` | Algeb | :math:`Id vq - Iq vd - Qe` | +-----------+--------------------+------------+-------------------------------------------------------------------------------+ | Id | :math:`Id` | Algeb | :math:`Id rf - Iq xf - udLag_{y} + vd` | +-----------+--------------------+------------+-------------------------------------------------------------------------------+ | Iq | :math:`Iq` | Algeb | :math:`Id xf + Iq rf - uqLag_{y} + vq` | +-----------+--------------------+------------+-------------------------------------------------------------------------------+ | dw_x | :math:`dw_{x}` | Algeb | :math:`- dw_{x} + w_{0} wdrp \left(PIplim_{y} - Psen_{y}\right)` | +-----------+--------------------+------------+-------------------------------------------------------------------------------+ | dw_y | :math:`dw_{y}` | Algeb | :math:`dw_{lim zi} dw_{x} + dw_{lim zl} dwmin + dw_{lim zu} dwmax - dw_{y}` | +-----------+--------------------+------------+-------------------------------------------------------------------------------+ | vref2 | :math:`vref_{2}` | Algeb | :math:`Qdrp \left(PIqlim_{y} u - Qsen_{y}\right) + vref - vref_{2}` | +-----------+--------------------+------------+-------------------------------------------------------------------------------+ | PIvd_y | :math:`PIvd_{y}` | Algeb | :math:`KPv \left(- vd + vref_{2}\right) + PIvd_{\xi} - PIvd_{y}` | +-----------+--------------------+------------+-------------------------------------------------------------------------------+ | PIvq_y | :math:`PIvq_{y}` | Algeb | :math:`- KPv vq + PIvq_{\xi} - PIvq_{y}` | +-----------+--------------------+------------+-------------------------------------------------------------------------------+ | PIId_y | :math:`PIId_{y}` | Algeb | :math:`KPi \left(- Id + PIvd_{y}\right) + PIId_{\xi} - PIId_{y}` | +-----------+--------------------+------------+-------------------------------------------------------------------------------+ | PIIq_y | :math:`PIIq_{y}` | Algeb | :math:`KPi \left(- Iq + PIvq_{y}\right) + PIIq_{\xi} - PIIq_{y}` | +-----------+--------------------+------------+-------------------------------------------------------------------------------+ | udref | :math:`udref` | Algeb | :math:`Id rf - Iq xf + PIId_{y} - udref + vd` | +-----------+--------------------+------------+-------------------------------------------------------------------------------+ | uqref | :math:`uqref` | Algeb | :math:`Id xf + Iq rf + PIIq_{y} - uqref + vq` | +-----------+--------------------+------------+-------------------------------------------------------------------------------+ | a | :math:`a` | ExtAlgeb | :math:`- Pe u` | +-----------+--------------------+------------+-------------------------------------------------------------------------------+ | v | :math:`v` | ExtAlgeb | :math:`- Qe u` | +-----------+--------------------+------------+-------------------------------------------------------------------------------+ | Idref | :math:`Idref` | AliasAlgeb | :math:`0` | +-----------+--------------------+------------+-------------------------------------------------------------------------------+ | Iqref | :math:`Iqref` | AliasAlgeb | :math:`0` | +-----------+--------------------+------------+-------------------------------------------------------------------------------+ Services ---------- +---------+-------------------+----------------------------------------+--------------+ | Name | Symbol | Equation | Type | +=========+===================+========================================+==============+ | Pref | :math:`P_{ref}` | :math:`gammap p0s` | ConstService | +---------+-------------------+----------------------------------------+--------------+ | Qref | :math:`Q_{ref}` | :math:`gammaq q0s` | ConstService | +---------+-------------------+----------------------------------------+--------------+ | w0 | :math:`w0` | :math:`2 \pi fn` | ConstService | +---------+-------------------+----------------------------------------+--------------+ | ixf | :math:`1/xf` | :math:`\frac{1}{xf}` | ConstService | +---------+-------------------+----------------------------------------+--------------+ | Id0 | :math:`I_{d0}` | :math:`\frac{Pref u}{v}` | ConstService | +---------+-------------------+----------------------------------------+--------------+ | Iq0 | :math:`I_{q0}` | :math:`- \frac{Qref u}{v}` | ConstService | +---------+-------------------+----------------------------------------+--------------+ | vd0 | :math:`v_{d0}` | :math:`u v` | ConstService | +---------+-------------------+----------------------------------------+--------------+ | vq0 | :math:`v_{q0}` | :math:`0` | ConstService | +---------+-------------------+----------------------------------------+--------------+ | udref0 | :math:`u_{dref0}` | :math:`Id_{0} rf - Iq_{0} xf + vd_{0}` | ConstService | +---------+-------------------+----------------------------------------+--------------+ | uqref0 | :math:`u_{qref0}` | :math:`Id_{0} xf + Iq_{0} rf + vq_{0}` | ConstService | +---------+-------------------+----------------------------------------+--------------+ Discretes ----------- +-----------+--------------------+-------------+----------------+ | Name | Symbol | Type | Info | +===========+====================+=============+================+ | Psig_lim | :math:`lim_{Psig}` | AntiWindup | Limiter in Lag | +-----------+--------------------+-------------+----------------+ | Qsig_lim | :math:`lim_{Qsig}` | AntiWindup | Limiter in Lag | +-----------+--------------------+-------------+----------------+ | dw_lim | :math:`lim_{dw}` | HardLimiter | | +-----------+--------------------+-------------+----------------+ Blocks ------- +---------+----------------+---------------+------+ | Name | Symbol | Type | Info | +=========+================+===============+======+ | Psen | :math:`Psen` | Lag | | +---------+----------------+---------------+------+ | Qsen | :math:`Qsen` | Lag | | +---------+----------------+---------------+------+ | Psig | :math:`Psig` | LagAntiWindup | | +---------+----------------+---------------+------+ | Qsig | :math:`Qsig` | LagAntiWindup | | +---------+----------------+---------------+------+ | PIplim | :math:`PIplim` | PIController | | +---------+----------------+---------------+------+ | PIqlim | :math:`PIqlim` | PIController | | +---------+----------------+---------------+------+ | dw | :math:`dw` | GainLimiter | | +---------+----------------+---------------+------+ | PIvd | :math:`PIvd` | PIController | | +---------+----------------+---------------+------+ | PIvq | :math:`PIvq` | PIController | | +---------+----------------+---------------+------+ | PIId | :math:`PIId` | PIController | | +---------+----------------+---------------+------+ | PIIq | :math:`PIIq` | PIController | | +---------+----------------+---------------+------+ | udLag | :math:`udLag` | Lag | | +---------+----------------+---------------+------+ | uqLag | :math:`uqLag` | Lag | | +---------+----------------+---------------+------+ Config Fields in [REGF1] +---------------+--------+-------+---------------------------------------+-----------------+ | 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) | +---------------+--------+-------+---------------------------------------+-----------------+ .. _REGF2: -------------------------------------------------------------------------------- REGF2 -------------------------------------------------------------------------------- Grid-forming inverter with VSM control. Implementation of EPRI Memorandum D. Ramasubramanian, "PROPOSAL FOR SUITE OF GENERIC GRID FORMING (GFM) POSITIVE SEQUENCE MODELS" 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` | Model MVA base | 100 | *MVA* | | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | rf | :math:`r_a` | resistance | 0 | | z | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | xf | :math:`x_s` | reactance | 0.200 | | z | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | Vdip | :math:`V_{dip}` | V threshold to freeze states | 0.800 | *p.u.* | | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | Tfrz | :math:`T_{frz}` | Time to keep state frozen | 0 | | | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | PQFLAG | | P/Q priority flag; 0-Q priority, 1-P priority | 1 | *bool* | | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | fn | :math:`f` | rated frequency | 60 | | | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | dwmax | :math:`\Delta \omega_{max}` | maximum value of frequency deviation | 75 | | | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | dwmin | :math:`\Delta \omega_{min}` | minimum value of frequency deviation | -75 | | | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | wdrp | :math:`\omega_{drp}` | frequency droop percentage | 0.033 | | | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | Qdrp | :math:`Q_{drp}` | Voltage droop percentage | 0.045 | | | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | Tr | :math:`T_c` | transducer time constant | 0.005 | *s* | | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | Te | :math:`T_e` | ouput state time constant | 0.005 | *s* | | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | KPi | :math:`K_{Pi}` | current control proportional gain | 0.500 | | non_negative | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | KIi | :math:`K_{Ii}` | current control integral gain | 20 | | non_negative | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | KPv | :math:`K_{Pv}` | voltage control proportional gain | 3 | | non_negative | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | KIv | :math:`K_{Iv}` | voltage control integral gain | 10 | | non_negative | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | Pmax | :math:`P_{max}` | max. active power | 1 | | non_negative,power | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | Pmin | :math:`P_{min}` | min. active power | -1 | | power | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | KPplim | :math:`K_{Pplim}` | Kp for P limits | 5 | | non_negative | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | KIplim | :math:`K_{Iplim}` | KI for P limits | 30 | | non_negative | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | Qmax | :math:`Q_{max}` | max. reactive power | 1 | | non_negative,power | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | Qmin | :math:`Q_{min}` | min. reactive power | -1 | | power | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | KPqlim | :math:`K_{Pqlim}` | Kp for Q limits | 0.100 | | non_negative | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | KIqlim | :math:`K_{Iqlim}` | KI for Q limits | 1.500 | | non_negative | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | Tpm | :math:`T_{pm}` | power signal input delay (3 \Delta t) | 0.025 | | | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | gammap | :math:`\gamma_P` | P ratio of linked static gen | 1 | | | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | gammaq | :math:`\gamma_Q` | Q ratio of linked static gen | 1 | | | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | mf | :math:`M_f` | VSM inertia constant | 0.150 | | | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | dd | :math:`d_d` | VSM damping factor | 0.110 | | | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | pll | | PLL device idx (optional) | | | | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ Variables --------- +------------+----------------------+------------+------------------------------------+-------+------------+ | Name | Symbol | Type | Description | Unit | Properties | +============+======================+============+====================================+=======+============+ | Psen_y | :math:`Psen_{y}` | State | State in lag transfer function | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | Qsen_y | :math:`Qsen_{y}` | State | State in lag transfer function | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | Psig_y | :math:`Psig_{y}` | State | State in lag TF | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | Qsig_y | :math:`Qsig_{y}` | State | State in lag TF | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | PIplim_xi | :math:`PIplim_{\xi}` | State | Integrator output | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | PIqlim_xi | :math:`PIqlim_{\xi}` | State | Integrator output | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | delta | :math:`\delta` | State | virtual delta | *rad* | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | INTw_y | :math:`INTw_{y}` | State | Integrator output | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | PIvd_xi | :math:`PIvd_{\xi}` | State | Integrator output | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | PIvq_xi | :math:`PIvq_{\xi}` | State | Integrator output | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | PIId_xi | :math:`PIId_{\xi}` | State | Integrator output | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | PIIq_xi | :math:`PIIq_{\xi}` | State | Integrator output | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | udLag_y | :math:`udLag_{y}` | State | State in lag transfer function | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | uqLag_y | :math:`uqLag_{y}` | State | State in lag transfer function | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | ud | :math:`ud` | AliasState | Alias of udLag_y | | | +------------+----------------------+------------+------------------------------------+-------+------------+ | uq | :math:`uq` | AliasState | Alias of uqLag_y | | | +------------+----------------------+------------+------------------------------------+-------+------------+ | Paux | :math:`Paux` | Algeb | | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | Qaux | :math:`Qaux` | Algeb | | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | PIplim_y | :math:`PIplim_{y}` | Algeb | PI output | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | PIqlim_y | :math:`PIqlim_{y}` | Algeb | PI output | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | vd | :math:`vd` | Algeb | d-axis voltage | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | vq | :math:`vq` | Algeb | q-axis voltage | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | Pe | :math:`Pe` | Algeb | active power injection from VSC | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | Qe | :math:`Qe` | Algeb | reactive power injection from VSC | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | Id | :math:`Id` | Algeb | d-axis current | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | Iq | :math:`Iq` | Algeb | q-axis current | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | wref | :math:`wref` | Algeb | speed ref | *pu* | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | dw_x | :math:`dw_{x}` | Algeb | Value before limiter | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | dw_y | :math:`dw_{y}` | Algeb | Output after limiter and post gain | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | vref2 | :math:`vref_{2}` | Algeb | voltage reference after droop | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | PIvd_y | :math:`PIvd_{y}` | Algeb | PI output | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | PIvq_y | :math:`PIvq_{y}` | Algeb | PI output | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | PIId_y | :math:`PIId_{y}` | Algeb | PI output | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | PIIq_y | :math:`PIIq_{y}` | Algeb | PI output | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | udref | :math:`udref` | Algeb | ud reference | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | uqref | :math:`uqref` | Algeb | uq reference | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | a | :math:`a` | ExtAlgeb | Bus voltage angle | | | +------------+----------------------+------------+------------------------------------+-------+------------+ | v | :math:`v` | ExtAlgeb | Bus voltage magnitude | | | +------------+----------------------+------------+------------------------------------+-------+------------+ | plldw | :math:`plldw` | ExtAlgeb | PLL measured freq. deviation | | | +------------+----------------------+------------+------------------------------------+-------+------------+ | Idref | :math:`Idref` | AliasAlgeb | Alias of PIvd_y | | | +------------+----------------------+------------+------------------------------------+-------+------------+ | Iqref | :math:`Iqref` | AliasAlgeb | Alias of PIvq_y | | | +------------+----------------------+------------+------------------------------------+-------+------------+ Initialization Equations ------------------------ +------------+----------------------+------------+--------------------------------------------------------------------+ | Name | Symbol | Type | Initial Value | +============+======================+============+====================================================================+ | Psen_y | :math:`Psen_{y}` | State | :math:`Pe` | +------------+----------------------+------------+--------------------------------------------------------------------+ | Qsen_y | :math:`Qsen_{y}` | State | :math:`Qe` | +------------+----------------------+------------+--------------------------------------------------------------------+ | Psig_y | :math:`Psig_{y}` | State | :math:`Paux + Psen_{y}` | +------------+----------------------+------------+--------------------------------------------------------------------+ | Qsig_y | :math:`Qsig_{y}` | State | :math:`Qaux + Qsen_{y}` | +------------+----------------------+------------+--------------------------------------------------------------------+ | PIplim_xi | :math:`PIplim_{\xi}` | State | :math:`Psen_{y}` | +------------+----------------------+------------+--------------------------------------------------------------------+ | PIqlim_xi | :math:`PIqlim_{\xi}` | State | :math:`Qsen_{y}` | +------------+----------------------+------------+--------------------------------------------------------------------+ | delta | :math:`\delta` | State | :math:`a` | +------------+----------------------+------------+--------------------------------------------------------------------+ | INTw_y | :math:`INTw_{y}` | State | :math:`wref` | +------------+----------------------+------------+--------------------------------------------------------------------+ | PIvd_xi | :math:`PIvd_{\xi}` | State | :math:`Id_{0}` | +------------+----------------------+------------+--------------------------------------------------------------------+ | PIvq_xi | :math:`PIvq_{\xi}` | State | :math:`Iq_{0}` | +------------+----------------------+------------+--------------------------------------------------------------------+ | PIId_xi | :math:`PIId_{\xi}` | State | :math:`0.0` | +------------+----------------------+------------+--------------------------------------------------------------------+ | PIIq_xi | :math:`PIIq_{\xi}` | State | :math:`0.0` | +------------+----------------------+------------+--------------------------------------------------------------------+ | udLag_y | :math:`udLag_{y}` | State | :math:`udref` | +------------+----------------------+------------+--------------------------------------------------------------------+ | uqLag_y | :math:`uqLag_{y}` | State | :math:`uqref` | +------------+----------------------+------------+--------------------------------------------------------------------+ | ud | :math:`ud` | AliasState | | +------------+----------------------+------------+--------------------------------------------------------------------+ | uq | :math:`uq` | AliasState | | +------------+----------------------+------------+--------------------------------------------------------------------+ | Paux | :math:`Paux` | Algeb | :math:`0` | +------------+----------------------+------------+--------------------------------------------------------------------+ | Qaux | :math:`Qaux` | Algeb | :math:`0` | +------------+----------------------+------------+--------------------------------------------------------------------+ | PIplim_y | :math:`PIplim_{y}` | Algeb | :math:`KPplim \left(- Psen_{y} + Psig_{y}\right) + Psen_{y}` | +------------+----------------------+------------+--------------------------------------------------------------------+ | PIqlim_y | :math:`PIqlim_{y}` | Algeb | :math:`KPqlim \left(- Qsen_{y} + Qsig_{y}\right) + Qsen_{y}` | +------------+----------------------+------------+--------------------------------------------------------------------+ | vd | :math:`vd` | Algeb | :math:`vd_{0}` | +------------+----------------------+------------+--------------------------------------------------------------------+ | vq | :math:`vq` | Algeb | :math:`vq_{0}` | +------------+----------------------+------------+--------------------------------------------------------------------+ | Pe | :math:`Pe` | Algeb | :math:`Pref` | +------------+----------------------+------------+--------------------------------------------------------------------+ | Qe | :math:`Qe` | Algeb | :math:`Qref` | +------------+----------------------+------------+--------------------------------------------------------------------+ | Id | :math:`Id` | Algeb | :math:`Id_{0}` | +------------+----------------------+------------+--------------------------------------------------------------------+ | Iq | :math:`Iq` | Algeb | :math:`Iq_{0}` | +------------+----------------------+------------+--------------------------------------------------------------------+ | wref | :math:`wref` | Algeb | :math:`1` | +------------+----------------------+------------+--------------------------------------------------------------------+ | dw_x | :math:`dw_{x}` | Algeb | :math:`w_{0} \left(INTw_{y} - wref\right)` | +------------+----------------------+------------+--------------------------------------------------------------------+ | dw_y | :math:`dw_{y}` | Algeb | :math:`dw_{lim zi} dw_{x} + dw_{lim zl} dwmin + dw_{lim zu} dwmax` | +------------+----------------------+------------+--------------------------------------------------------------------+ | vref2 | :math:`vref_{2}` | Algeb | :math:`u vref` | +------------+----------------------+------------+--------------------------------------------------------------------+ | PIvd_y | :math:`PIvd_{y}` | Algeb | :math:`Id_{0} + KPv \left(- vd + vref_{2}\right)` | +------------+----------------------+------------+--------------------------------------------------------------------+ | PIvq_y | :math:`PIvq_{y}` | Algeb | :math:`Iq_{0} - KPv vq` | +------------+----------------------+------------+--------------------------------------------------------------------+ | PIId_y | :math:`PIId_{y}` | Algeb | :math:`KPi \left(- Id + PIvd_{y}\right)` | +------------+----------------------+------------+--------------------------------------------------------------------+ | PIIq_y | :math:`PIIq_{y}` | Algeb | :math:`KPi \left(- Iq + PIvq_{y}\right)` | +------------+----------------------+------------+--------------------------------------------------------------------+ | udref | :math:`udref` | Algeb | :math:`udref_{0}` | +------------+----------------------+------------+--------------------------------------------------------------------+ | uqref | :math:`uqref` | Algeb | :math:`uqref_{0}` | +------------+----------------------+------------+--------------------------------------------------------------------+ | a | :math:`a` | ExtAlgeb | | +------------+----------------------+------------+--------------------------------------------------------------------+ | v | :math:`v` | ExtAlgeb | | +------------+----------------------+------------+--------------------------------------------------------------------+ | plldw | :math:`plldw` | ExtAlgeb | | +------------+----------------------+------------+--------------------------------------------------------------------+ | Idref | :math:`Idref` | AliasAlgeb | | +------------+----------------------+------------+--------------------------------------------------------------------+ | Iqref | :math:`Iqref` | AliasAlgeb | | +------------+----------------------+------------+--------------------------------------------------------------------+ Differential Equations ----------------------------- +------------+----------------------+------------+-------------------------------------------------------------------------------------+-----------------+ | Name | Symbol | Type | RHS of Equation "T x' = f(x, y)" | T (LHS) | +============+======================+============+=====================================================================================+=================+ | Psen_y | :math:`Psen_{y}` | State | :math:`Pe - Psen_{y}` | :math:`T_c` | +------------+----------------------+------------+-------------------------------------------------------------------------------------+-----------------+ | Qsen_y | :math:`Qsen_{y}` | State | :math:`Qe - Qsen_{y}` | :math:`T_c` | +------------+----------------------+------------+-------------------------------------------------------------------------------------+-----------------+ | Psig_y | :math:`Psig_{y}` | State | :math:`Paux + Psen_{y} - Psig_{y}` | :math:`T_{pm}` | +------------+----------------------+------------+-------------------------------------------------------------------------------------+-----------------+ | Qsig_y | :math:`Qsig_{y}` | State | :math:`Qaux + Qsen_{y} - Qsig_{y}` | :math:`T_{pm}` | +------------+----------------------+------------+-------------------------------------------------------------------------------------+-----------------+ | PIplim_xi | :math:`PIplim_{\xi}` | State | :math:`KIplim \left(- Psen_{y} + Psig_{y}\right)` | | +------------+----------------------+------------+-------------------------------------------------------------------------------------+-----------------+ | PIqlim_xi | :math:`PIqlim_{\xi}` | State | :math:`KIqlim \left(- Qsen_{y} + Qsig_{y}\right)` | | +------------+----------------------+------------+-------------------------------------------------------------------------------------+-----------------+ | delta | :math:`\delta` | State | :math:`dw_{y}` | | +------------+----------------------+------------+-------------------------------------------------------------------------------------+-----------------+ | INTw_y | :math:`INTw_{y}` | State | :math:`- INTw_{y} + dd plldw wdrp + wdrp \left(PIplim_{y} - Psen_{y}\right) + wref` | :math:`T_{int}` | +------------+----------------------+------------+-------------------------------------------------------------------------------------+-----------------+ | PIvd_xi | :math:`PIvd_{\xi}` | State | :math:`KIv \left(- vd + vref_{2}\right)` | | +------------+----------------------+------------+-------------------------------------------------------------------------------------+-----------------+ | PIvq_xi | :math:`PIvq_{\xi}` | State | :math:`- KIv vq` | | +------------+----------------------+------------+-------------------------------------------------------------------------------------+-----------------+ | PIId_xi | :math:`PIId_{\xi}` | State | :math:`KIi \left(- Id + PIvd_{y}\right)` | | +------------+----------------------+------------+-------------------------------------------------------------------------------------+-----------------+ | PIIq_xi | :math:`PIIq_{\xi}` | State | :math:`KIi \left(- Iq + PIvq_{y}\right)` | | +------------+----------------------+------------+-------------------------------------------------------------------------------------+-----------------+ | udLag_y | :math:`udLag_{y}` | State | :math:`- udLag_{y} + udref` | :math:`T_e` | +------------+----------------------+------------+-------------------------------------------------------------------------------------+-----------------+ | uqLag_y | :math:`uqLag_{y}` | State | :math:`- uqLag_{y} + uqref` | :math:`T_e` | +------------+----------------------+------------+-------------------------------------------------------------------------------------+-----------------+ | ud | :math:`ud` | AliasState | :math:`0` | | +------------+----------------------+------------+-------------------------------------------------------------------------------------+-----------------+ | uq | :math:`uq` | AliasState | :math:`0` | | +------------+----------------------+------------+-------------------------------------------------------------------------------------+-----------------+ Algebraic Equations ----------------------------- +-----------+--------------------+------------+-------------------------------------------------------------------------------+ | Name | Symbol | Type | RHS of Equation "0 = g(x, y)" | +===========+====================+============+===============================================================================+ | Paux | :math:`Paux` | Algeb | :math:`Paux` | +-----------+--------------------+------------+-------------------------------------------------------------------------------+ | Qaux | :math:`Qaux` | Algeb | :math:`Qaux` | +-----------+--------------------+------------+-------------------------------------------------------------------------------+ | PIplim_y | :math:`PIplim_{y}` | Algeb | :math:`KPplim \left(- Psen_{y} + Psig_{y}\right) + PIplim_{\xi} - PIplim_{y}` | +-----------+--------------------+------------+-------------------------------------------------------------------------------+ | PIqlim_y | :math:`PIqlim_{y}` | Algeb | :math:`KPqlim \left(- Qsen_{y} + Qsig_{y}\right) + PIqlim_{\xi} - PIqlim_{y}` | +-----------+--------------------+------------+-------------------------------------------------------------------------------+ | vd | :math:`vd` | Algeb | :math:`u v \cos{\left(a - \delta \right)} - vd` | +-----------+--------------------+------------+-------------------------------------------------------------------------------+ | vq | :math:`vq` | Algeb | :math:`u v \sin{\left(a - \delta \right)} - vq` | +-----------+--------------------+------------+-------------------------------------------------------------------------------+ | Pe | :math:`Pe` | Algeb | :math:`Id vd + Iq vq - Pe` | +-----------+--------------------+------------+-------------------------------------------------------------------------------+ | Qe | :math:`Qe` | Algeb | :math:`Id vq - Iq vd - Qe` | +-----------+--------------------+------------+-------------------------------------------------------------------------------+ | Id | :math:`Id` | Algeb | :math:`Id rf - Iq xf - udLag_{y} + vd` | +-----------+--------------------+------------+-------------------------------------------------------------------------------+ | Iq | :math:`Iq` | Algeb | :math:`Id xf + Iq rf - uqLag_{y} + vq` | +-----------+--------------------+------------+-------------------------------------------------------------------------------+ | wref | :math:`wref` | Algeb | :math:`1 - wref` | +-----------+--------------------+------------+-------------------------------------------------------------------------------+ | dw_x | :math:`dw_{x}` | Algeb | :math:`- dw_{x} + w_{0} \left(INTw_{y} - wref\right)` | +-----------+--------------------+------------+-------------------------------------------------------------------------------+ | dw_y | :math:`dw_{y}` | Algeb | :math:`dw_{lim zi} dw_{x} + dw_{lim zl} dwmin + dw_{lim zu} dwmax - dw_{y}` | +-----------+--------------------+------------+-------------------------------------------------------------------------------+ | vref2 | :math:`vref_{2}` | Algeb | :math:`Qdrp \left(PIqlim_{y} u - Qsen_{y}\right) + vref - vref_{2}` | +-----------+--------------------+------------+-------------------------------------------------------------------------------+ | PIvd_y | :math:`PIvd_{y}` | Algeb | :math:`KPv \left(- vd + vref_{2}\right) + PIvd_{\xi} - PIvd_{y}` | +-----------+--------------------+------------+-------------------------------------------------------------------------------+ | PIvq_y | :math:`PIvq_{y}` | Algeb | :math:`- KPv vq + PIvq_{\xi} - PIvq_{y}` | +-----------+--------------------+------------+-------------------------------------------------------------------------------+ | PIId_y | :math:`PIId_{y}` | Algeb | :math:`KPi \left(- Id + PIvd_{y}\right) + PIId_{\xi} - PIId_{y}` | +-----------+--------------------+------------+-------------------------------------------------------------------------------+ | PIIq_y | :math:`PIIq_{y}` | Algeb | :math:`KPi \left(- Iq + PIvq_{y}\right) + PIIq_{\xi} - PIIq_{y}` | +-----------+--------------------+------------+-------------------------------------------------------------------------------+ | udref | :math:`udref` | Algeb | :math:`Id rf - Iq xf + PIId_{y} - udref + vd` | +-----------+--------------------+------------+-------------------------------------------------------------------------------+ | uqref | :math:`uqref` | Algeb | :math:`Id xf + Iq rf + PIIq_{y} - uqref + vq` | +-----------+--------------------+------------+-------------------------------------------------------------------------------+ | a | :math:`a` | ExtAlgeb | :math:`- Pe u` | +-----------+--------------------+------------+-------------------------------------------------------------------------------+ | v | :math:`v` | ExtAlgeb | :math:`- Qe u` | +-----------+--------------------+------------+-------------------------------------------------------------------------------+ | plldw | :math:`plldw` | ExtAlgeb | :math:`0` | +-----------+--------------------+------------+-------------------------------------------------------------------------------+ | Idref | :math:`Idref` | AliasAlgeb | :math:`0` | +-----------+--------------------+------------+-------------------------------------------------------------------------------+ | Iqref | :math:`Iqref` | AliasAlgeb | :math:`0` | +-----------+--------------------+------------+-------------------------------------------------------------------------------+ Services ---------- +---------+-------------------+----------------------------------------+--------------+ | Name | Symbol | Equation | Type | +=========+===================+========================================+==============+ | Pref | :math:`P_{ref}` | :math:`gammap p0s` | ConstService | +---------+-------------------+----------------------------------------+--------------+ | Qref | :math:`Q_{ref}` | :math:`gammaq q0s` | ConstService | +---------+-------------------+----------------------------------------+--------------+ | w0 | :math:`w0` | :math:`2 \pi fn` | ConstService | +---------+-------------------+----------------------------------------+--------------+ | ixf | :math:`1/xf` | :math:`\frac{1}{xf}` | ConstService | +---------+-------------------+----------------------------------------+--------------+ | Id0 | :math:`I_{d0}` | :math:`\frac{Pref u}{v}` | ConstService | +---------+-------------------+----------------------------------------+--------------+ | Iq0 | :math:`I_{q0}` | :math:`- \frac{Qref u}{v}` | ConstService | +---------+-------------------+----------------------------------------+--------------+ | vd0 | :math:`v_{d0}` | :math:`u v` | ConstService | +---------+-------------------+----------------------------------------+--------------+ | vq0 | :math:`v_{q0}` | :math:`0` | ConstService | +---------+-------------------+----------------------------------------+--------------+ | Tint | :math:`T_{int}` | :math:`mf wdrp` | ConstService | +---------+-------------------+----------------------------------------+--------------+ | udref0 | :math:`u_{dref0}` | :math:`Id_{0} rf - Iq_{0} xf + vd_{0}` | ConstService | +---------+-------------------+----------------------------------------+--------------+ | uqref0 | :math:`u_{qref0}` | :math:`Id_{0} xf + Iq_{0} rf + vq_{0}` | ConstService | +---------+-------------------+----------------------------------------+--------------+ Discretes ----------- +-----------+--------------------+-------------+----------------+ | Name | Symbol | Type | Info | +===========+====================+=============+================+ | Psig_lim | :math:`lim_{Psig}` | AntiWindup | Limiter in Lag | +-----------+--------------------+-------------+----------------+ | Qsig_lim | :math:`lim_{Qsig}` | AntiWindup | Limiter in Lag | +-----------+--------------------+-------------+----------------+ | dw_lim | :math:`lim_{dw}` | HardLimiter | | +-----------+--------------------+-------------+----------------+ Blocks ------- +---------+----------------+---------------+------+ | Name | Symbol | Type | Info | +=========+================+===============+======+ | Psen | :math:`Psen` | Lag | | +---------+----------------+---------------+------+ | Qsen | :math:`Qsen` | Lag | | +---------+----------------+---------------+------+ | Psig | :math:`Psig` | LagAntiWindup | | +---------+----------------+---------------+------+ | Qsig | :math:`Qsig` | LagAntiWindup | | +---------+----------------+---------------+------+ | PIplim | :math:`PIplim` | PIController | | +---------+----------------+---------------+------+ | PIqlim | :math:`PIqlim` | PIController | | +---------+----------------+---------------+------+ | INTw | :math:`INTw` | Integrator | | +---------+----------------+---------------+------+ | dw | :math:`dw` | GainLimiter | | +---------+----------------+---------------+------+ | PIvd | :math:`PIvd` | PIController | | +---------+----------------+---------------+------+ | PIvq | :math:`PIvq` | PIController | | +---------+----------------+---------------+------+ | PIId | :math:`PIId` | PIController | | +---------+----------------+---------------+------+ | PIIq | :math:`PIIq` | PIController | | +---------+----------------+---------------+------+ | udLag | :math:`udLag` | Lag | | +---------+----------------+---------------+------+ | uqLag | :math:`uqLag` | Lag | | +---------+----------------+---------------+------+ Config Fields in [REGF2] +---------------+--------+-------+---------------------------------------+-----------------+ | 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) | +---------------+--------+-------+---------------------------------------+-----------------+ .. _REGF3: -------------------------------------------------------------------------------- REGF3 -------------------------------------------------------------------------------- Grid-forming inverter with dVOC. Implementation of EPRI Memorandum D. Ramasubramanian, "PROPOSAL FOR SUITE OF GENERIC GRID FORMING (GFM) POSITIVE SEQUENCE MODELS" 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` | Model MVA base | 100 | *MVA* | | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | rf | :math:`r_a` | resistance | 0 | | z | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | xf | :math:`x_s` | reactance | 0.200 | | z | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | Vdip | :math:`V_{dip}` | V threshold to freeze states | 0.800 | *p.u.* | | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | Tfrz | :math:`T_{frz}` | Time to keep state frozen | 0 | | | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | PQFLAG | | P/Q priority flag; 0-Q priority, 1-P priority | 1 | *bool* | | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | fn | :math:`f` | rated frequency | 60 | | | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | dwmax | :math:`\Delta \omega_{max}` | maximum value of frequency deviation | 75 | | | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | dwmin | :math:`\Delta \omega_{min}` | minimum value of frequency deviation | -75 | | | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | wdrp | :math:`\omega_{drp}` | frequency droop percentage | 0.033 | | | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | Qdrp | :math:`Q_{drp}` | Voltage droop percentage | 0.045 | | | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | Tr | :math:`T_c` | transducer time constant | 0.005 | *s* | | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | Te | :math:`T_e` | ouput state time constant | 0.005 | *s* | | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | KPi | :math:`K_{Pi}` | current control proportional gain | 0.500 | | non_negative | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | KIi | :math:`K_{Ii}` | current control integral gain | 20 | | non_negative | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | KPv | :math:`K_{Pv}` | voltage control proportional gain | 3 | | non_negative | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | KIv | :math:`K_{Iv}` | voltage control integral gain | 10 | | non_negative | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | Pmax | :math:`P_{max}` | max. active power | 1 | | non_negative,power | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | Pmin | :math:`P_{min}` | min. active power | -1 | | power | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | KPplim | :math:`K_{Pplim}` | Kp for P limits | 5 | | non_negative | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | KIplim | :math:`K_{Iplim}` | KI for P limits | 30 | | non_negative | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | Qmax | :math:`Q_{max}` | max. reactive power | 1 | | non_negative,power | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | Qmin | :math:`Q_{min}` | min. reactive power | -1 | | power | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | KPqlim | :math:`K_{Pqlim}` | Kp for Q limits | 0.100 | | non_negative | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | KIqlim | :math:`K_{Iqlim}` | KI for Q limits | 1.500 | | non_negative | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | Tpm | :math:`T_{pm}` | power signal input delay (3 \Delta t) | 0.025 | | | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | gammap | :math:`\gamma_P` | P ratio of linked static gen | 1 | | | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ | gammaq | :math:`\gamma_Q` | Q ratio of linked static gen | 1 | | | +---------+-----------------------------+-----------------------------------------------+---------+--------+--------------------+ Variables --------- +------------+----------------------+------------+------------------------------------+-------+------------+ | Name | Symbol | Type | Description | Unit | Properties | +============+======================+============+====================================+=======+============+ | Psen_y | :math:`Psen_{y}` | State | State in lag transfer function | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | Qsen_y | :math:`Qsen_{y}` | State | State in lag transfer function | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | Psig_y | :math:`Psig_{y}` | State | State in lag TF | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | Qsig_y | :math:`Qsig_{y}` | State | State in lag TF | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | PIplim_xi | :math:`PIplim_{\xi}` | State | Integrator output | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | PIqlim_xi | :math:`PIqlim_{\xi}` | State | Integrator output | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | delta | :math:`\delta` | State | virtual delta | *rad* | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | vref2 | :math:`vref_{2}` | State | | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | PIvd_xi | :math:`PIvd_{\xi}` | State | Integrator output | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | PIvq_xi | :math:`PIvq_{\xi}` | State | Integrator output | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | PIId_xi | :math:`PIId_{\xi}` | State | Integrator output | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | PIIq_xi | :math:`PIIq_{\xi}` | State | Integrator output | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | udLag_y | :math:`udLag_{y}` | State | State in lag transfer function | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | uqLag_y | :math:`uqLag_{y}` | State | State in lag transfer function | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | ud | :math:`ud` | AliasState | Alias of udLag_y | | | +------------+----------------------+------------+------------------------------------+-------+------------+ | uq | :math:`uq` | AliasState | Alias of uqLag_y | | | +------------+----------------------+------------+------------------------------------+-------+------------+ | Paux | :math:`Paux` | Algeb | | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | Qaux | :math:`Qaux` | Algeb | | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | PIplim_y | :math:`PIplim_{y}` | Algeb | PI output | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | PIqlim_y | :math:`PIqlim_{y}` | Algeb | PI output | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | vd | :math:`vd` | Algeb | d-axis voltage | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | vq | :math:`vq` | Algeb | q-axis voltage | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | Pe | :math:`Pe` | Algeb | active power injection from VSC | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | Qe | :math:`Qe` | Algeb | reactive power injection from VSC | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | Id | :math:`Id` | Algeb | d-axis current | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | Iq | :math:`Iq` | Algeb | q-axis current | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | wref | :math:`wref` | Algeb | speed ref | *pu* | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | Vref | :math:`Vref` | Algeb | | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | dw_x | :math:`dw_{x}` | Algeb | Value before limiter | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | dw_y | :math:`dw_{y}` | Algeb | Output after limiter and post gain | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | derv | :math:`derv` | Algeb | input to voltage integrator | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | PIvd_y | :math:`PIvd_{y}` | Algeb | PI output | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | PIvq_y | :math:`PIvq_{y}` | Algeb | PI output | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | PIId_y | :math:`PIId_{y}` | Algeb | PI output | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | PIIq_y | :math:`PIIq_{y}` | Algeb | PI output | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | udref | :math:`udref` | Algeb | ud reference | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | uqref | :math:`uqref` | Algeb | uq reference | | v_str | +------------+----------------------+------------+------------------------------------+-------+------------+ | a | :math:`a` | ExtAlgeb | Bus voltage angle | | | +------------+----------------------+------------+------------------------------------+-------+------------+ | v | :math:`v` | ExtAlgeb | Bus voltage magnitude | | | +------------+----------------------+------------+------------------------------------+-------+------------+ | Idref | :math:`Idref` | AliasAlgeb | Alias of PIvd_y | | | +------------+----------------------+------------+------------------------------------+-------+------------+ | Iqref | :math:`Iqref` | AliasAlgeb | Alias of PIvq_y | | | +------------+----------------------+------------+------------------------------------+-------+------------+ Initialization Equations ------------------------ +------------+----------------------+------------+----------------------------------------------------------------------------+ | Name | Symbol | Type | Initial Value | +============+======================+============+============================================================================+ | Psen_y | :math:`Psen_{y}` | State | :math:`Pe` | +------------+----------------------+------------+----------------------------------------------------------------------------+ | Qsen_y | :math:`Qsen_{y}` | State | :math:`Qe` | +------------+----------------------+------------+----------------------------------------------------------------------------+ | Psig_y | :math:`Psig_{y}` | State | :math:`Paux + Psen_{y}` | +------------+----------------------+------------+----------------------------------------------------------------------------+ | Qsig_y | :math:`Qsig_{y}` | State | :math:`Qaux + Qsen_{y}` | +------------+----------------------+------------+----------------------------------------------------------------------------+ | PIplim_xi | :math:`PIplim_{\xi}` | State | :math:`Psen_{y}` | +------------+----------------------+------------+----------------------------------------------------------------------------+ | PIqlim_xi | :math:`PIqlim_{\xi}` | State | :math:`Qsen_{y}` | +------------+----------------------+------------+----------------------------------------------------------------------------+ | delta | :math:`\delta` | State | :math:`a` | +------------+----------------------+------------+----------------------------------------------------------------------------+ | vref2 | :math:`vref_{2}` | State | :math:`vd` | +------------+----------------------+------------+----------------------------------------------------------------------------+ | PIvd_xi | :math:`PIvd_{\xi}` | State | :math:`Id_{0}` | +------------+----------------------+------------+----------------------------------------------------------------------------+ | PIvq_xi | :math:`PIvq_{\xi}` | State | :math:`Iq_{0}` | +------------+----------------------+------------+----------------------------------------------------------------------------+ | PIId_xi | :math:`PIId_{\xi}` | State | :math:`0.0` | +------------+----------------------+------------+----------------------------------------------------------------------------+ | PIIq_xi | :math:`PIIq_{\xi}` | State | :math:`0.0` | +------------+----------------------+------------+----------------------------------------------------------------------------+ | udLag_y | :math:`udLag_{y}` | State | :math:`udref` | +------------+----------------------+------------+----------------------------------------------------------------------------+ | uqLag_y | :math:`uqLag_{y}` | State | :math:`uqref` | +------------+----------------------+------------+----------------------------------------------------------------------------+ | ud | :math:`ud` | AliasState | | +------------+----------------------+------------+----------------------------------------------------------------------------+ | uq | :math:`uq` | AliasState | | +------------+----------------------+------------+----------------------------------------------------------------------------+ | Paux | :math:`Paux` | Algeb | :math:`0` | +------------+----------------------+------------+----------------------------------------------------------------------------+ | Qaux | :math:`Qaux` | Algeb | :math:`0` | +------------+----------------------+------------+----------------------------------------------------------------------------+ | PIplim_y | :math:`PIplim_{y}` | Algeb | :math:`KPplim \left(- Psen_{y} + Psig_{y}\right) + Psen_{y}` | +------------+----------------------+------------+----------------------------------------------------------------------------+ | PIqlim_y | :math:`PIqlim_{y}` | Algeb | :math:`KPqlim \left(- Qsen_{y} + Qsig_{y}\right) + Qsen_{y}` | +------------+----------------------+------------+----------------------------------------------------------------------------+ | vd | :math:`vd` | Algeb | :math:`vd_{0}` | +------------+----------------------+------------+----------------------------------------------------------------------------+ | vq | :math:`vq` | Algeb | :math:`vq_{0}` | +------------+----------------------+------------+----------------------------------------------------------------------------+ | Pe | :math:`Pe` | Algeb | :math:`Pref` | +------------+----------------------+------------+----------------------------------------------------------------------------+ | Qe | :math:`Qe` | Algeb | :math:`Qref` | +------------+----------------------+------------+----------------------------------------------------------------------------+ | Id | :math:`Id` | Algeb | :math:`Id_{0}` | +------------+----------------------+------------+----------------------------------------------------------------------------+ | Iq | :math:`Iq` | Algeb | :math:`Iq_{0}` | +------------+----------------------+------------+----------------------------------------------------------------------------+ | wref | :math:`wref` | Algeb | :math:`1` | +------------+----------------------+------------+----------------------------------------------------------------------------+ | Vref | :math:`Vref` | Algeb | :math:`vref` | +------------+----------------------+------------+----------------------------------------------------------------------------+ | dw_x | :math:`dw_{x}` | Algeb | :math:`\frac{w_{0} wdrp \left(PIplim_{y} - Psen_{y}\right)}{vref_{2}^{2}}` | +------------+----------------------+------------+----------------------------------------------------------------------------+ | dw_y | :math:`dw_{y}` | Algeb | :math:`dw_{lim zi} dw_{x} + dw_{lim zl} dwmin + dw_{lim zu} dwmax` | +------------+----------------------+------------+----------------------------------------------------------------------------+ | derv | :math:`derv` | Algeb | :math:`0` | +------------+----------------------+------------+----------------------------------------------------------------------------+ | PIvd_y | :math:`PIvd_{y}` | Algeb | :math:`Id_{0} + KPv \left(- vd + vref_{2}\right)` | +------------+----------------------+------------+----------------------------------------------------------------------------+ | PIvq_y | :math:`PIvq_{y}` | Algeb | :math:`Iq_{0} - KPv vq` | +------------+----------------------+------------+----------------------------------------------------------------------------+ | PIId_y | :math:`PIId_{y}` | Algeb | :math:`KPi \left(- Id + PIvd_{y}\right)` | +------------+----------------------+------------+----------------------------------------------------------------------------+ | PIIq_y | :math:`PIIq_{y}` | Algeb | :math:`KPi \left(- Iq + PIvq_{y}\right)` | +------------+----------------------+------------+----------------------------------------------------------------------------+ | udref | :math:`udref` | Algeb | :math:`udref_{0}` | +------------+----------------------+------------+----------------------------------------------------------------------------+ | uqref | :math:`uqref` | Algeb | :math:`uqref_{0}` | +------------+----------------------+------------+----------------------------------------------------------------------------+ | a | :math:`a` | ExtAlgeb | | +------------+----------------------+------------+----------------------------------------------------------------------------+ | v | :math:`v` | ExtAlgeb | | +------------+----------------------+------------+----------------------------------------------------------------------------+ | Idref | :math:`Idref` | AliasAlgeb | | +------------+----------------------+------------+----------------------------------------------------------------------------+ | Iqref | :math:`Iqref` | AliasAlgeb | | +------------+----------------------+------------+----------------------------------------------------------------------------+ Differential Equations ----------------------------- +------------+----------------------+------------+---------------------------------------------------+----------------+ | Name | Symbol | Type | RHS of Equation "T x' = f(x, y)" | T (LHS) | +============+======================+============+===================================================+================+ | Psen_y | :math:`Psen_{y}` | State | :math:`Pe - Psen_{y}` | :math:`T_c` | +------------+----------------------+------------+---------------------------------------------------+----------------+ | Qsen_y | :math:`Qsen_{y}` | State | :math:`Qe - Qsen_{y}` | :math:`T_c` | +------------+----------------------+------------+---------------------------------------------------+----------------+ | Psig_y | :math:`Psig_{y}` | State | :math:`Paux + Psen_{y} - Psig_{y}` | :math:`T_{pm}` | +------------+----------------------+------------+---------------------------------------------------+----------------+ | Qsig_y | :math:`Qsig_{y}` | State | :math:`Qaux + Qsen_{y} - Qsig_{y}` | :math:`T_{pm}` | +------------+----------------------+------------+---------------------------------------------------+----------------+ | PIplim_xi | :math:`PIplim_{\xi}` | State | :math:`KIplim \left(- Psen_{y} + Psig_{y}\right)` | | +------------+----------------------+------------+---------------------------------------------------+----------------+ | PIqlim_xi | :math:`PIqlim_{\xi}` | State | :math:`KIqlim \left(- Qsen_{y} + Qsig_{y}\right)` | | +------------+----------------------+------------+---------------------------------------------------+----------------+ | delta | :math:`\delta` | State | :math:`dw_{y}` | | +------------+----------------------+------------+---------------------------------------------------+----------------+ | vref2 | :math:`vref_{2}` | State | :math:`derv w_{0}` | | +------------+----------------------+------------+---------------------------------------------------+----------------+ | PIvd_xi | :math:`PIvd_{\xi}` | State | :math:`KIv \left(- vd + vref_{2}\right)` | | +------------+----------------------+------------+---------------------------------------------------+----------------+ | PIvq_xi | :math:`PIvq_{\xi}` | State | :math:`- KIv vq` | | +------------+----------------------+------------+---------------------------------------------------+----------------+ | PIId_xi | :math:`PIId_{\xi}` | State | :math:`KIi \left(- Id + PIvd_{y}\right)` | | +------------+----------------------+------------+---------------------------------------------------+----------------+ | PIIq_xi | :math:`PIIq_{\xi}` | State | :math:`KIi \left(- Iq + PIvq_{y}\right)` | | +------------+----------------------+------------+---------------------------------------------------+----------------+ | udLag_y | :math:`udLag_{y}` | State | :math:`- udLag_{y} + udref` | :math:`T_e` | +------------+----------------------+------------+---------------------------------------------------+----------------+ | uqLag_y | :math:`uqLag_{y}` | State | :math:`- uqLag_{y} + uqref` | :math:`T_e` | +------------+----------------------+------------+---------------------------------------------------+----------------+ | ud | :math:`ud` | AliasState | :math:`0` | | +------------+----------------------+------------+---------------------------------------------------+----------------+ | uq | :math:`uq` | AliasState | :math:`0` | | +------------+----------------------+------------+---------------------------------------------------+----------------+ Algebraic Equations ----------------------------- +-----------+--------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------+ | Name | Symbol | Type | RHS of Equation "0 = g(x, y)" | +===========+====================+============+====================================================================================================================================================+ | Paux | :math:`Paux` | Algeb | :math:`Paux` | +-----------+--------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------+ | Qaux | :math:`Qaux` | Algeb | :math:`Qaux` | +-----------+--------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------+ | PIplim_y | :math:`PIplim_{y}` | Algeb | :math:`KPplim \left(- Psen_{y} + Psig_{y}\right) + PIplim_{\xi} - PIplim_{y}` | +-----------+--------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------+ | PIqlim_y | :math:`PIqlim_{y}` | Algeb | :math:`KPqlim \left(- Qsen_{y} + Qsig_{y}\right) + PIqlim_{\xi} - PIqlim_{y}` | +-----------+--------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------+ | vd | :math:`vd` | Algeb | :math:`u v \cos{\left(a - \delta \right)} - vd` | +-----------+--------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------+ | vq | :math:`vq` | Algeb | :math:`u v \sin{\left(a - \delta \right)} - vq` | +-----------+--------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------+ | Pe | :math:`Pe` | Algeb | :math:`Id vd + Iq vq - Pe` | +-----------+--------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------+ | Qe | :math:`Qe` | Algeb | :math:`Id vq - Iq vd - Qe` | +-----------+--------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------+ | Id | :math:`Id` | Algeb | :math:`Id rf - Iq xf - udLag_{y} + vd` | +-----------+--------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------+ | Iq | :math:`Iq` | Algeb | :math:`Id xf + Iq rf - uqLag_{y} + vq` | +-----------+--------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------+ | wref | :math:`wref` | Algeb | :math:`1 - wref` | +-----------+--------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------+ | Vref | :math:`Vref` | Algeb | :math:`- Vref + vref` | +-----------+--------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------+ | dw_x | :math:`dw_{x}` | Algeb | :math:`- dw_{x} + \frac{w_{0} wdrp \left(PIplim_{y} - Psen_{y}\right)}{vref_{2}^{2}}` | +-----------+--------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------+ | dw_y | :math:`dw_{y}` | Algeb | :math:`dw_{lim zi} dw_{x} + dw_{lim zl} dwmin + dw_{lim zu} dwmax - dw_{y}` | +-----------+--------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------+ | derv | :math:`derv` | Algeb | :math:`Kdvoc vref_{2} \left(Vref - vref_{2}\right) \left(Vref + vref_{2}\right) - derv + \frac{wdrp \left(PIqlim_{y} - Qsen_{y}\right)}{vref_{2}}` | +-----------+--------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------+ | PIvd_y | :math:`PIvd_{y}` | Algeb | :math:`KPv \left(- vd + vref_{2}\right) + PIvd_{\xi} - PIvd_{y}` | +-----------+--------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------+ | PIvq_y | :math:`PIvq_{y}` | Algeb | :math:`- KPv vq + PIvq_{\xi} - PIvq_{y}` | +-----------+--------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------+ | PIId_y | :math:`PIId_{y}` | Algeb | :math:`KPi \left(- Id + PIvd_{y}\right) + PIId_{\xi} - PIId_{y}` | +-----------+--------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------+ | PIIq_y | :math:`PIIq_{y}` | Algeb | :math:`KPi \left(- Iq + PIvq_{y}\right) + PIIq_{\xi} - PIIq_{y}` | +-----------+--------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------+ | udref | :math:`udref` | Algeb | :math:`Id rf - Iq xf + PIId_{y} - udref + vd` | +-----------+--------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------+ | uqref | :math:`uqref` | Algeb | :math:`Id xf + Iq rf + PIIq_{y} - uqref + vq` | +-----------+--------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------+ | a | :math:`a` | ExtAlgeb | :math:`- Pe u` | +-----------+--------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------+ | v | :math:`v` | ExtAlgeb | :math:`- Qe u` | +-----------+--------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------+ | Idref | :math:`Idref` | AliasAlgeb | :math:`0` | +-----------+--------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------+ | Iqref | :math:`Iqref` | AliasAlgeb | :math:`0` | +-----------+--------------------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------+ Services ---------- +---------+-------------------+----------------------------------------------------------------------------------------------+--------------+ | Name | Symbol | Equation | Type | +=========+===================+==============================================================================================+==============+ | Pref | :math:`P_{ref}` | :math:`gammap p0s` | ConstService | +---------+-------------------+----------------------------------------------------------------------------------------------+--------------+ | Qref | :math:`Q_{ref}` | :math:`gammaq q0s` | ConstService | +---------+-------------------+----------------------------------------------------------------------------------------------+--------------+ | w0 | :math:`w0` | :math:`2 \pi fn` | ConstService | +---------+-------------------+----------------------------------------------------------------------------------------------+--------------+ | ixf | :math:`1/xf` | :math:`\frac{1}{xf}` | ConstService | +---------+-------------------+----------------------------------------------------------------------------------------------+--------------+ | Id0 | :math:`I_{d0}` | :math:`\frac{Pref u}{v}` | ConstService | +---------+-------------------+----------------------------------------------------------------------------------------------+--------------+ | Iq0 | :math:`I_{q0}` | :math:`- \frac{Qref u}{v}` | ConstService | +---------+-------------------+----------------------------------------------------------------------------------------------+--------------+ | vd0 | :math:`v_{d0}` | :math:`u v` | ConstService | +---------+-------------------+----------------------------------------------------------------------------------------------+--------------+ | vq0 | :math:`v_{q0}` | :math:`0` | ConstService | +---------+-------------------+----------------------------------------------------------------------------------------------+--------------+ | Kdvoc | :math:`Kdvoc` | :math:`\frac{400000000 wdrp}{\left(99990000 - 2 \left(100 - 100 Qdrp\right)^{2}\right)^{2}}` | ConstService | +---------+-------------------+----------------------------------------------------------------------------------------------+--------------+ | udref0 | :math:`u_{dref0}` | :math:`Id_{0} rf - Iq_{0} xf + vd_{0}` | ConstService | +---------+-------------------+----------------------------------------------------------------------------------------------+--------------+ | uqref0 | :math:`u_{qref0}` | :math:`Id_{0} xf + Iq_{0} rf + vq_{0}` | ConstService | +---------+-------------------+----------------------------------------------------------------------------------------------+--------------+ Discretes ----------- +-----------+--------------------+-------------+----------------+ | Name | Symbol | Type | Info | +===========+====================+=============+================+ | Psig_lim | :math:`lim_{Psig}` | AntiWindup | Limiter in Lag | +-----------+--------------------+-------------+----------------+ | Qsig_lim | :math:`lim_{Qsig}` | AntiWindup | Limiter in Lag | +-----------+--------------------+-------------+----------------+ | dw_lim | :math:`lim_{dw}` | HardLimiter | | +-----------+--------------------+-------------+----------------+ Blocks ------- +---------+----------------+---------------+------+ | Name | Symbol | Type | Info | +=========+================+===============+======+ | Psen | :math:`Psen` | Lag | | +---------+----------------+---------------+------+ | Qsen | :math:`Qsen` | Lag | | +---------+----------------+---------------+------+ | Psig | :math:`Psig` | LagAntiWindup | | +---------+----------------+---------------+------+ | Qsig | :math:`Qsig` | LagAntiWindup | | +---------+----------------+---------------+------+ | PIplim | :math:`PIplim` | PIController | | +---------+----------------+---------------+------+ | PIqlim | :math:`PIqlim` | PIController | | +---------+----------------+---------------+------+ | dw | :math:`dw` | GainLimiter | | +---------+----------------+---------------+------+ | PIvd | :math:`PIvd` | PIController | | +---------+----------------+---------------+------+ | PIvq | :math:`PIvq` | PIController | | +---------+----------------+---------------+------+ | PIId | :math:`PIId` | PIController | | +---------+----------------+---------------+------+ | PIIq | :math:`PIIq` | PIController | | +---------+----------------+---------------+------+ | udLag | :math:`udLag` | Lag | | +---------+----------------+---------------+------+ | uqLag | :math:`uqLag` | Lag | | +---------+----------------+---------------+------+ Config Fields in [REGF3] +---------------+--------+-------+---------------------------------------+-----------------+ | 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) | +---------------+--------+-------+---------------------------------------+-----------------+