Skip to content

Commit

Permalink
Rh/update docs (#373)
Browse files Browse the repository at this point in the history
* update sauer pai equations

* update png links in PSY

* add active load model

* update typo

* typo on dq axes

* last typo on d axis

* cpl remove
  • Loading branch information
rodrigomha authored Apr 9, 2024
1 parent d5a8630 commit c94d006
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 13 deletions.
23 changes: 22 additions & 1 deletion docs/src/component_models/loads.md
Original file line number Diff line number Diff line change
Expand Up @@ -160,4 +160,25 @@ Finally, the withdrawed current from the bus is:
I_r = \left(\frac{S_\text{motor}}{S_\text{base}}\right) (i_{ds} - v_{qs} B_{sh}) \\
I_i = \left(\frac{S_\text{motor}}{S_\text{base}}\right) (i_{qs} + v_{ds} B_{sh})
\end{align*}
```
```

### Active Constant Power Load Model

The following 12-state model Active Load model that measures the AC side using a Phase-Lock-Loop (PLL) and regulates a DC voltage to supply a resistor $r_L$. This model induces a constant power load-like behavior as it tries to maintain a fixed DC voltage to supply ``P = v_\text{DC}^2 / r_L``. The model is based on [the following reference](https://www.sciencedirect.com/science/article/pii/S0142061516000740).

The complete model is given by:
```math
\begin{align}
\dot{\theta} &= \Omega_b (\omega_\text{pll} - \omega_s) \tag{4a} \\
\dot{\epsilon} &= v_\text{o}^q \tag{4b}\\
\omega_\text{pll} &= \omega^\star + k^p_\text{pll} v_\text{o}^q + k_\text{pll}^i \epsilon \tag{4c}\\
\dot{\zeta} &= v_\text{DC}^\star - v_\text{DC} \tag{4d} \\
i_\text{cv}^{d,\star} &= k_\text{DC}^p ( v_\text{DC}^\star - v_\text{DC}) + k_\text{DC}^i \zeta \tag{4e} \\
\frac{c_\text{DC}}{\Omega_b} \dot{v}_\text{DC} &= \frac{p_\text{cv}}{v_\text{DC}} - \frac{v_\text{DC}}{r_L} \tag{4f} \\
\dot{\gamma}_d &= i_\text{cv}^d - i_\text{cv}^{d,\star} \tag{4g}\\
\dot{\gamma}_q &= i_\text{cv}^q - i_\text{cv}^{q,\star} \tag{4h} \\
v_\text{cv}^{d,\star} &= k_\text{pc}( i_\text{cv}^d - i_\text{cv}^{d,\star}) + k_\text{ic} \gamma_d + \omega_\text{pll} l_f i_\text{cv}^q \tag{4i}\\
v_\text{cv}^{q,\star} &= k_\text{pc}( i_\text{cv}^q - i_\text{cv}^{q,\star}) + k_\text{ic} \gamma_q - \omega_\text{pll} l_f i_\text{cv}^d \tag{4j}
\end{align}
```
Equations (4a)--(4c) describes the PLL dynamics to lock the active load to the grid. Equations (4d)-(4e) describes the DC Voltage Controller to steer the DC voltage to ``v_\text{DC}^\star``, while equation (4f) describes the DC voltage dynamics at the capacitor assuming an ideal converter. Finally, equations (4g)--(4j) describes the dynamics of the AC Current Controller. Additionally six states are defined for the LCL filter in a similar fashion of GFM inverters.
20 changes: 10 additions & 10 deletions docs/src/component_models/machines.md
Original file line number Diff line number Diff line change
Expand Up @@ -219,12 +219,12 @@ The Sauer Pai model defines 6 differential equations as follows:
\begin{align}
\dot{\psi}_d &= \Omega_b(r_ai_d + \omega \psi_q + v_d) \tag{9a} \\
\dot{\psi}_q &= \Omega_b(r_ai_q - \omega \psi_d + v_q) \tag{9b} \\
\dot{e}_q' &= \frac{1}{T_{d0}'} \left[(-e_q' - (x_d - x_d')(i_d + \gamma_d2 * \dot{\psi}_d'') + v_f)] \tag{9c}\\
\dot{e}_q' &= \frac{1}{T_{q0}'} \left[(-e_d' + (x_q - x_q')(i_q + \gamma_q2 * \dot{\psi}_q''))] \tag{9d}\\
\dot{\psi}_d'' &= \frac{1}{T_{d0}''} \left[(-\psi_d'' + e_q' - (x_d' - x_l)*i_d)] \tag{9e} \\
\dot{\psi}_q'' &= \frac{1}{T_{q0}''} \left[(-\psi_q'' - e_d' - (x_q' - x_l)*i_q)] \tag{9f} \\
i_d &= \frac{1}{x_d''} (\gamma_d1 * e_q' - \psi_d + (1 - \gamma_d1) * \psi_d'') \tag{9g} \\
i_q &= \frac{1}{x_q''} ((-\gamma_q1 * e_d' - \psi_q + (1 - \gamma_q1) * \psi_q'') \tag{9h} \\
\dot{e}_q' &= \frac{1}{T_{d0}'} \left[(-e_q' - (x_d - x_d')(i_d + \gamma_{d2} \cdot \dot{\psi}_d'') + v_f)\right] \tag{9c}\\
\dot{e}_q' &= \frac{1}{T_{q0}'} \left[(-e_d' + (x_q - x_q')(i_q + \gamma_{q2} \cdot \dot{\psi}_q''))\right] \tag{9d}\\
\dot{\psi}_d'' &= \frac{1}{T_{d0}''} \left[(-\psi_d'' + e_q' - (x_d' - x_l)\cdot i_d)\right] \tag{9e} \\
\dot{\psi}_q'' &= \frac{1}{T_{q0}''} \left[(-\psi_q'' - e_d' - (x_q' - x_l)\cdot i_q)\right] \tag{9f} \\
i_d &= \frac{1}{x_d''} (\gamma_{d1} \cdot e_q' - \psi_d + (1 - \gamma_{d1}) * \psi_d'') \tag{9g} \\
i_q &= \frac{1}{x_q''} ((-\gamma_{q1} \cdot e_d' - \psi_q + (1 - \gamma_{q1}) \cdot \psi_q'') \tag{9h} \\
\tau_e &= \psi_d i_q - \psi_q i_d \tag{9i}
\end{align}
```
Expand All @@ -233,9 +233,9 @@ with

```math
\begin{align*}
\gamma_d1 &= \frac{x_d'' - x_l}{x_d' - x_l} \\
\gamma_q1 &= \frac{x_q'' - x_l}{x_q' - x_l} \\
\gamma_d2 &= \frac{1 - \gamma_d1}{x_d' - x_l} \\
\gamma_q2 &= \frac{1 - \gamma_q1}{x_q' - x_l}
\gamma_{d1} &= \frac{x_d'' - x_l}{x_d' - x_l} \\
\gamma_{q1} &= \frac{x_q'' - x_l}{x_q' - x_l} \\
\gamma_{d2} &= \frac{1 - \gamma_d1}{x_d' - x_l} \\
\gamma_{q2} &= \frac{1 - \gamma_q1}{x_q' - x_l}
\end{align*}
```
4 changes: 2 additions & 2 deletions docs/src/models.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ The implementation of Synchronous generators as components uses the following st
share values across components.

```@raw html
<img src="https://github.com/nrel-sienna/PowerSystems.jl/blob/master/docs/src/assets/gen_metamodel.png?raw=true" width="75%">
<img src="https://raw.githubusercontent.com/nrel-sienna/PowerSystems.jl/main/docs/src/assets/gen_metamodel.png" width="75%">
```

## Inverter Models
Expand All @@ -84,7 +84,7 @@ components in a way that resembles current practices for synchronoues machine mo
The following figure summarizes the components of a inverter and which variables they share:

```@raw html
<img src="https://github.com/nrel-sienna/PowerSystems.jl/blob/master/docs/src/assets/inv_metamodel.png?raw=true" width="75%">
<img src="https://raw.githubusercontent.com/nrel-sienna/PowerSystems.jl/main/docs/src/assets/inv_metamodel.png" width="75%">
```

Contrary to the generator, there are many control structures that can be used to model
Expand Down

0 comments on commit c94d006

Please sign in to comment.