.. _StaticLoad: ================================================================================ StaticLoad ================================================================================ Static load group. Common Parameters: u, name Available models: PQ_ .. _PQ: -------------------------------------------------------------------------------- PQ -------------------------------------------------------------------------------- PQ load model. Implements an automatic pq2z conversion during power flow when the voltage is outside [vmin, vmax]. The conversion can be turned off by setting `pq2z` to 0 in the Config file. Before time-domain simulation, PQ load will be converted to impedance, current source, and power source based on the weights in the Config file. Weights (p2p, p2i, p2z) corresponds to the weights for constant power, constant current and constant impedance. p2p, p2i and p2z must be in decimal numbers and sum up exactly to 1. The same rule applies to (q2q, q2i, q2z). To alter the PQ load in terms of power during simulation, one needs to set the conversion weights to preserve the constant power portion. For example, the PQ can remain as constant power load by setting .. code-block :: python ss.PQ.config.p2p = 1.0 ss.PQ.config.p2i = 0 ss.PQ.config.p2z = 0 ss.PQ.config.q2q = 1.0 ss.PQ.config.q2i = 0 ss.PQ.config.q2z = 0 Then, the constant power portion can be altered by changing the ``Ppf`` and ``Qpf`` constants for active power and reactive power. The equivalent constant current components are in constants ``Ipeq`` and ``Iqeq`` for active and reactive current, and the equivalent impedances are in ``Req`` and ``Xeq``. Parameters ---------- +--------+-----------------+-------------------------------------------+---------+--------+------------+ | Name | Symbol | Description | Default | Unit | Properties | +========+=================+===========================================+=========+========+============+ | idx | | unique device idx | | | | +--------+-----------------+-------------------------------------------+---------+--------+------------+ | u | :math:`u` | connection status | 1 | *bool* | | +--------+-----------------+-------------------------------------------+---------+--------+------------+ | name | | device name | | | | +--------+-----------------+-------------------------------------------+---------+--------+------------+ | bus | | linked bus idx | | | mandatory | +--------+-----------------+-------------------------------------------+---------+--------+------------+ | Vn | :math:`V_n` | AC voltage rating | 110 | *kV* | non_zero | +--------+-----------------+-------------------------------------------+---------+--------+------------+ | p0 | :math:`p_0` | active power load in system base | 0 | *p.u.* | | +--------+-----------------+-------------------------------------------+---------+--------+------------+ | q0 | :math:`q_0` | reactive power load in system base | 0 | *p.u.* | | +--------+-----------------+-------------------------------------------+---------+--------+------------+ | vmax | :math:`v_{max}` | max voltage before switching to impedance | 1.200 | | | +--------+-----------------+-------------------------------------------+---------+--------+------------+ | vmin | :math:`v_{min}` | min voltage before switching to impedance | 0.800 | | | +--------+-----------------+-------------------------------------------+---------+--------+------------+ | owner | | owner idx | | | | +--------+-----------------+-------------------------------------------+---------+--------+------------+ Variables --------- +------+-----------+----------+-------------+------+------------+ | Name | Symbol | Type | Description | Unit | Properties | +======+===========+==========+=============+======+============+ | a | :math:`a` | ExtAlgeb | | | | +------+-----------+----------+-------------+------+------------+ | v | :math:`v` | ExtAlgeb | | | | +------+-----------+----------+-------------+------+------------+ Initialization Equations ------------------------ +------+-----------+----------+---------------+ | Name | Symbol | Type | Initial Value | +======+===========+==========+===============+ | a | :math:`a` | ExtAlgeb | | +------+-----------+----------+---------------+ | v | :math:`v` | ExtAlgeb | | +------+-----------+----------+---------------+ Algebraic Equations ----------------------------- +------+-----------+----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Name | Symbol | Type | RHS of Equation "0 = g(x, y)" | +======+===========+==========+================================================================================================================================================================================================================================================================================+ | a | :math:`a` | ExtAlgeb | :math:`u \left(Ipeq \gamma_{p2i} v + Ppf \gamma_{p2p} + Req \gamma_{p2z} v^{2}\right) \operatorname{Indicator}{\left(t_{dae} \geq 0 \right)} + u \left(Rlb v^{2} vcmp_{zl} + Rub v^{2} vcmp_{zu} + p_{0} vcmp_{zi}\right) \operatorname{Indicator}{\left(t_{dae} < 0 \right)}` | +------+-----------+----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | v | :math:`v` | ExtAlgeb | :math:`u \left(Iqeq \gamma_{q2i} v + Qpf \gamma_{q2q} + Xeq \gamma_{q2z} v^{2}\right) \operatorname{Indicator}{\left(t_{dae} \geq 0 \right)} + u \left(Xlb v^{2} vcmp_{zl} + Xub v^{2} vcmp_{zu} + q_{0} vcmp_{zi}\right) \operatorname{Indicator}{\left(t_{dae} < 0 \right)}` | +------+-----------+----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Services ---------- +-------+-----------------+-----------------------------------------------------------------------------+--------------+ | Name | Symbol | Equation | Type | +=======+=================+=============================================================================+==============+ | Rub | :math:`R_{ub}` | :math:`\frac{p_{0}}{vmax^{2}}` | ConstService | +-------+-----------------+-----------------------------------------------------------------------------+--------------+ | Xub | :math:`X_{ub}` | :math:`\frac{q_{0}}{vmax^{2}}` | ConstService | +-------+-----------------+-----------------------------------------------------------------------------+--------------+ | Rlb | :math:`R_{lb}` | :math:`\frac{p_{0}}{vmin^{2}}` | ConstService | +-------+-----------------+-----------------------------------------------------------------------------+--------------+ | Xlb | :math:`X_{lb}` | :math:`\frac{q_{0}}{vmin^{2}}` | ConstService | +-------+-----------------+-----------------------------------------------------------------------------+--------------+ | Ppf | :math:`P_{pf}` | :math:`Rlb v_{0}^{2} vcmp_{zl} + Rub v_{0}^{2} vcmp_{zu} + p_{0} vcmp_{zi}` | ConstService | +-------+-----------------+-----------------------------------------------------------------------------+--------------+ | Qpf | :math:`Q_{pf}` | :math:`Xlb v_{0}^{2} vcmp_{zl} + Xub v_{0}^{2} vcmp_{zu} + q_{0} vcmp_{zi}` | ConstService | +-------+-----------------+-----------------------------------------------------------------------------+--------------+ | Req | :math:`R_{eq}` | :math:`\frac{Ppf}{v_{0}^{2}}` | ConstService | +-------+-----------------+-----------------------------------------------------------------------------+--------------+ | Xeq | :math:`X_{eq}` | :math:`\frac{Qpf}{v_{0}^{2}}` | ConstService | +-------+-----------------+-----------------------------------------------------------------------------+--------------+ | Ipeq | :math:`I_{peq}` | :math:`\frac{Ppf}{v_{0}}` | ConstService | +-------+-----------------+-----------------------------------------------------------------------------+--------------+ | Iqeq | :math:`I_{qeq}` | :math:`\frac{Qpf}{v_{0}}` | ConstService | +-------+-----------------+-----------------------------------------------------------------------------+--------------+ Discretes ----------- +-------+--------------+---------+------+ | Name | Symbol | Type | Info | +=======+==============+=========+======+ | vcmp | :math:`vcmp` | Limiter | | +-------+--------------+---------+------+ Config Fields in [PQ] +---------------+----------------------+-------+----------------------------------------------------------------+-----------------+ | 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) | +---------------+----------------------+-------+----------------------------------------------------------------+-----------------+ | pq2z | :math:`z_{pq2z}` | 1 | pq2z conversion if out of voltage limits | (0, 1) | +---------------+----------------------+-------+----------------------------------------------------------------+-----------------+ | p2p | :math:`\gamma_{p2p}` | 0 | P constant power percentage for TDS. Must have (p2p+p2i+p2z)=1 | float | +---------------+----------------------+-------+----------------------------------------------------------------+-----------------+ | p2i | :math:`\gamma_{p2i}` | 0 | P constant current percentage | float | +---------------+----------------------+-------+----------------------------------------------------------------+-----------------+ | p2z | :math:`\gamma_{p2z}` | 1 | P constant impedance percentage | float | +---------------+----------------------+-------+----------------------------------------------------------------+-----------------+ | q2q | :math:`\gamma_{q2q}` | 0 | Q constant power percentage for TDS. Must have (q2q+q2i+q2z)=1 | float | +---------------+----------------------+-------+----------------------------------------------------------------+-----------------+ | q2i | :math:`\gamma_{q2i}` | 0 | Q constant current percentage | float | +---------------+----------------------+-------+----------------------------------------------------------------+-----------------+ | q2z | :math:`\gamma_{q2z}` | 1 | Q constant impedance percentage | float | +---------------+----------------------+-------+----------------------------------------------------------------+-----------------+