From d4f4d53d9ed91bde81135fe8639ebd462988a326 Mon Sep 17 00:00:00 2001 From: lukelowry Date: Mon, 15 Jun 2026 16:16:41 -0500 Subject: [PATCH 01/28] Document EMT distributed frequency-dependent branch model --- .../README.md | 130 ++++++++++++++++++ GridKit/Model/EMT/Component/Branch/README.md | 4 +- .../diagram.png | Bin 0 -> 121633 bytes .../diagram.tex | 74 ++++++++++ 4 files changed, 206 insertions(+), 2 deletions(-) create mode 100644 GridKit/Model/EMT/Component/Branch/BranchDistributedFrequencyDependent/README.md create mode 100644 docs/Figures/EMT/BranchDistributedFrequencyDependent/diagram.png create mode 100644 docs/Figures/EMT/BranchDistributedFrequencyDependent/diagram.tex diff --git a/GridKit/Model/EMT/Component/Branch/BranchDistributedFrequencyDependent/README.md b/GridKit/Model/EMT/Component/Branch/BranchDistributedFrequencyDependent/README.md new file mode 100644 index 000000000..9adcc2395 --- /dev/null +++ b/GridKit/Model/EMT/Component/Branch/BranchDistributedFrequencyDependent/README.md @@ -0,0 +1,130 @@ +# BranchDistributedFrequencyDependent Model + +`BranchDistributedFrequencyDependent` represents a distributed EMT branch with +characteristic admittance $\mathbf{Y}_c$ and propagation model $\mathbf{H}$. + +## Block Diagram + +
+ + + Figure 1: BranchDistributedFrequencyDependent composite model +
+ +## Model Parameters + +Symbol | Units | JSON | Description | Typical Value | Note +------ | ----- | ---- | -------------------- | ------------- | ---- +$N$ | [-] | | Number of phases | -- | $\mathbf{v} \in \mathbb{R}^N$ +$K$ | [-] | | Number of conductors | -- | $\mathbf{i} \in \mathbb{R}^K$ + +### Parameter Validation + +```math +\begin{aligned} +N > 0 \qquad +K > 0 +\end{aligned} +``` +### Model Derived Parameters + +None. + +## Model Submodels + +Submodel | Qty | Symbol | Description | Note +-------------------|-----|---------------------|---------------------------|----- +`RationalTransfer` | $2$ | $\mathbf{Y}_c(s)$ | Characteristic admittance | $\mathbf{Y}_c(s) \in \mathbb{R}^{K \times N}$ +`Propagation` | $2$ | $\mathbf{H}(s)$ | Propagation function | $\mathbf{H}(s) \in \mathbb{R}^{K \times K}$ + +## Model Variables + +### Internal Variables + +#### Differential + +None. + +#### Algebraic + +Symbol | Units | Description | Note +---------------------------------------------|-------|---------------------------------------|----- +$\mathbf{i}^{\mathrm{ref}}_{\mathrm{left}}$ | [A] | Reflected current at `left` terminal | $\mathbf{i}^{\mathrm{ref}}_{\mathrm{left}} \in \mathbb{R}^K$ +$\mathbf{i}^{\mathrm{ref}}_{\mathrm{right}}$ | [A] | Reflected current at `right` terminal | $\mathbf{i}^{\mathrm{ref}}_{\mathrm{right}} \in \mathbb{R}^K$ + +### External Variables + +External variables enter the composite model but are owned by the EMT bus. + +#### Differential + +Symbol | Units | Description | Note +-------------------------------------|-------|------------------------------------------|----- +$\mathbf{v}_{\mathrm{left}}$ | [V] | `left` terminal voltage owned by EMT bus | $\mathbf{v}_{\mathrm{left}} \in \mathbb{R}^N$ +$\mathbf{v}_{\mathrm{right}}$ | [V] | `right` terminal voltage owned by EMT bus | $\mathbf{v}_{\mathrm{right}} \in \mathbb{R}^N$ + +#### Algebraic + +None. + +## Model Equations + +### Differential Equations + +None. + +### Algebraic Equations + +```math +\begin{aligned} +0 &= -\mathbf{i}^{\mathrm{ref}}_{\mathrm{left}} + + 2\,\mathbf{i}^{\mathrm{sh}}_{\mathrm{left}} + - \mathbf{i}^{\mathrm{inc}}_{\mathrm{left}} \\ +0 &= -\mathbf{i}^{\mathrm{ref}}_{\mathrm{right}} + + 2\,\mathbf{i}^{\mathrm{sh}}_{\mathrm{right}} + - \mathbf{i}^{\mathrm{inc}}_{\mathrm{right}} +\end{aligned} +``` + +### Bus Residual Contributions + +The distributed frequency-dependent line contributes to the KCL residual at +each terminal bus. Each expression is accumulated into the owning bus residual. + +```math +\begin{aligned} +\mathbf{i}^{\mathrm{inj}}_{\mathrm{left}} &:= + -\mathbf{i}^{\mathrm{sh}}_{\mathrm{left}} + + \mathbf{i}^{\mathrm{inc}}_{\mathrm{left}} \\ +\mathbf{i}^{\mathrm{inj}}_{\mathrm{right}} &:= + -\mathbf{i}^{\mathrm{sh}}_{\mathrm{right}} + + \mathbf{i}^{\mathrm{inc}}_{\mathrm{right}} +\end{aligned} +``` + +## Initialization + +The line owns no differential states. Given the initial values from the +terminal buses and internal composite subcomponents, the reflected currents +initialize from the algebraic residuals: + +```math +\begin{aligned} +\mathbf{i}^{\mathrm{ref}}_{\mathrm{left}}(0) &= + 2\,\mathbf{i}^{\mathrm{sh}}_{\mathrm{left}}(0) + - \mathbf{i}^{\mathrm{inc}}_{\mathrm{left}}(0) \\ +\mathbf{i}^{\mathrm{ref}}_{\mathrm{right}}(0) &= + 2\,\mathbf{i}^{\mathrm{sh}}_{\mathrm{right}}(0) + - \mathbf{i}^{\mathrm{inc}}_{\mathrm{right}}(0) +\end{aligned} +``` + +The internal `RationalTransfer` and `Propagation` submodels initialize according +to their own model contracts. + +## Model Outputs + +Output | Units | Description | Note +--------|-------|-----------------------------------------|----- +`ileft` | [A] | Current injection at `left` terminal | $\mathbf{i}^{\mathrm{inj}}_{\mathrm{left}} \in \mathbb{R}^K$ +`iright` | [A] | Current injection at `right` terminal | $\mathbf{i}^{\mathrm{inj}}_{\mathrm{right}} \in \mathbb{R}^K$ diff --git a/GridKit/Model/EMT/Component/Branch/README.md b/GridKit/Model/EMT/Component/Branch/README.md index 2c61d4bf5..0533e97cd 100644 --- a/GridKit/Model/EMT/Component/Branch/README.md +++ b/GridKit/Model/EMT/Component/Branch/README.md @@ -15,7 +15,7 @@ Lumped transmission line models approximate the branch with finite network eleme ### Distributed Parameter -Distributed transmission line models preserve traveling-wave propagation and delay. GridKit cannot implement these until model internal signal delays are supported. +Distributed transmission line models preserve propagation and delay. - `BranchDistributedConstant` -- `BranchDistributedFrequencyDependent` +- `BranchDistributedFrequencyDependent` (See [BranchDistributedFrequencyDependent](BranchDistributedFrequencyDependent/README.md)) diff --git a/docs/Figures/EMT/BranchDistributedFrequencyDependent/diagram.png b/docs/Figures/EMT/BranchDistributedFrequencyDependent/diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..3b9ae560be2a8586f29d260f789528ef37be85d7 GIT binary patch literal 121633 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%0DiO8iKnADrz19<9G07G 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 literal 0 HcmV?d00001 diff --git a/docs/Figures/EMT/BranchDistributedFrequencyDependent/diagram.tex b/docs/Figures/EMT/BranchDistributedFrequencyDependent/diagram.tex new file mode 100644 index 000000000..223ce1061 --- /dev/null +++ b/docs/Figures/EMT/BranchDistributedFrequencyDependent/diagram.tex @@ -0,0 +1,74 @@ +\documentclass[tikz,border=12pt]{standalone} +\usepackage{amsmath} +\usetikzlibrary{arrows.meta} + +\begin{document} +\begin{tikzpicture}[ + >={Stealth[length=2.4mm]}, + line/.style = {semithick, rounded corners=6pt}, + block/.style = {draw, semithick, fill=white, + minimum height=1cm, minimum width=2.3cm}, + sum/.style = {draw, semithick, fill=white, circle, inner sep=2.6pt}, + signal/.style = {circle, fill, inner sep=1.4pt, label distance=3pt}, + sig/.style = {font=\small}, + pm/.style = {font=\scriptsize} +] + +% ================= Terminal k (left column) ================= +\node[sum] (Sk) at (-4.4, 2.4) {$\Sigma$}; % KCL at k +\node[block] (Yck) at (-4.4, 0.0) {$\mathbf{Y}_c(s)$}; +\node[sum] (sk) at (-4.4, -2.4) {$\Sigma$}; % wave former at k + +\draw[->, line] (-8.4, 0) -- (Yck.west); +\node[signal, label={[sig]above:$\mathbf{v}_{\text{left}}$}] at (-7.6, 0) {}; + +\draw[->, line] (Yck.north) -- (Sk); +\draw[->, line] (Yck.south) -- (sk); +\draw[->, line] (Sk.west) -- (-8.4, 2.4) node[sig, pos=0.79, above] {$\mathbf{i}^{\text{inj}}_{\text{left}}$}; + +% i_k tap into wave former (hops over the v_k lead) +\draw[line] (-6.0, 2.4) -- (-6.0, 0.14); +\draw[->, line] (-6.0, -0.14) -- (-6.0, -2.4) -- (sk); + +% ================= Terminal m (right column) ================= +\node[sum] (sm) at (4.4, 2.4) {$\Sigma$}; % wave former at m +\node[block] (Ycm) at (4.4, 0.0) {$\mathbf{Y}_c(s)$}; +\node[sum] (Sm) at (4.4, -2.4) {$\Sigma$}; % KCL at m + +\draw[->, line] (8.4, 0) -- (Ycm.east); +\node[signal, label={[sig]above:$\mathbf{v}_{\text{right}}$}] at (7.6, 0) {}; + +\draw[->, line] (Ycm.north) -- (sm); +\draw[->, line] (Ycm.south) -- (Sm); +\draw[->, line] (Sm.east) -- (8.4, -2.4) node[sig, pos=0.79, above] {$\mathbf{i}^{\text{inj}}_{\text{right}}$}; + +% i_m tap into wave former (hops over the v_m lead) +\draw[line] (6.0, -2.4) -- (6.0, -0.14); +\draw[->, line] (6.0, 0.14) -- (6.0, 2.4) -- (sm); + +% ================= Propagation channels (straight rows) ================= +% k -> m (lower row, left to right) +\node[block] (Hlo) at (0, -2.4) {$\mathbf{H}(s)$}; +\draw[->, line] (sk.east) -- (Hlo.west) node[sig, pos=0.65, above] {reflected}; +\draw[->, line] (Hlo.east) -- (Sm.west) node[sig, pos=0.35, above] {incident}; + +% m -> k (upper row, right to left) +\node[block] (Hup) at (0, 2.4) {$\mathbf{H}(s)$}; +\draw[->, line] (sm.west) -- (Hup.east) node[sig, pos=0.65, above] {reflected}; +\draw[->, line] (Hup.west) -- (Sk.east) node[sig, pos=0.35, above] {incident}; + +% ================= Summation signs ================= +\node[pm] at (-4.14, 1.90) {$-$}; % Sk: Y_c v_k (admittance subtracts) +\node[pm] at (-3.68, 2.66) {$+$}; % Sk: incident current (adds) +\node[pm] at (-4.14, -1.90) {$+$}; % sk: Y_c v_k +\node[pm] at (-5.12, -2.16) {$-$}; % sk: i_k +\node[pm] at ( 4.14, -1.90) {$-$}; % Sm: Y_c v_m (admittance subtracts) +\node[pm] at ( 3.66, -2.14) {$+$}; % Sm: incident current (adds) +\node[pm] at ( 4.14, 1.90) {$+$}; % sm: Y_c v_m +\node[pm] at ( 5.12, 2.66) {$-$}; % sm: i_m + +% ================= Model enclosure ================= +\draw[dashed, semithick, rounded corners=4pt] (-6.8, -3.6) rectangle (6.8, 3.6); + +\end{tikzpicture} +\end{document} From cc04ab8e191267bdfcb8537ab4ed67a87eb9c20d Mon Sep 17 00:00:00 2001 From: lukelowry Date: Mon, 15 Jun 2026 16:16:51 -0500 Subject: [PATCH 02/28] Document EMT rational transfer and state-space components --- .../Rational/RationalTransfer/README.md | 159 +++++++++++++++++ .../Component/Rational/StateSpace/README.md | 162 ++++++++++++++++++ docs/Figures/EMT/RationalTransfer/diagram.png | Bin 0 -> 88330 bytes docs/Figures/EMT/RationalTransfer/diagram.tex | 45 +++++ docs/Figures/EMT/StateSpace/diagram.png | Bin 0 -> 65024 bytes docs/Figures/EMT/StateSpace/diagram.tex | 51 ++++++ 6 files changed, 417 insertions(+) create mode 100644 GridKit/Model/EMT/Component/Rational/RationalTransfer/README.md create mode 100644 GridKit/Model/EMT/Component/Rational/StateSpace/README.md create mode 100644 docs/Figures/EMT/RationalTransfer/diagram.png create mode 100644 docs/Figures/EMT/RationalTransfer/diagram.tex create mode 100644 docs/Figures/EMT/StateSpace/diagram.png create mode 100644 docs/Figures/EMT/StateSpace/diagram.tex diff --git a/GridKit/Model/EMT/Component/Rational/RationalTransfer/README.md b/GridKit/Model/EMT/Component/Rational/RationalTransfer/README.md new file mode 100644 index 000000000..b7e8da467 --- /dev/null +++ b/GridKit/Model/EMT/Component/Rational/RationalTransfer/README.md @@ -0,0 +1,159 @@ +# RationalTransfer Model + +`RationalTransfer` represents a vector-fitted matrix rational approximation with +complex poles and residues. + +The rational approximation is represented in pole form: + +```math +\mathbf{H}(s) \approx \mathbf{D} + s\mathbf{E} + + \sum_{q=1}^{Q} \frac{\mathbf{R}^q}{s - p_q} +``` + +The Laplace domain representation of this model is: +```math +\mathbf{Y}(s) = \mathbf{H}(s)\mathbf{U}(s) +``` + +The time domain representation of this model is: +```math +\mathbf{y}(t) = (\mathbf{h}*\mathbf{u})(t) +``` + +## Block Diagram + +
+ + + Figure 1: RationalTransfer convolution model +
+ +## Model Parameters + +For output dimension $N$, input dimension $K$, and pole count $Q$: + +Symbol | Units | JSON | Description | Typical Value | Note +------ | ----- | ---- | ----------- | ------------- | ---- +$\mathbf{D}$ | [-] | | Constant coefficient | | $\mathbf{D} \in \mathbb{R}^{N \times K}$ +$\mathbf{E}$ | [s] | | Linear coefficient | | $\mathbf{E} \in \mathbb{R}^{N \times K}$ +$\mathbf{p}$ | [1/s] | | Poles | | $\mathbf{p} \in \mathbb{C}^Q$ +$\mathbf{R}$ | [1/s] | | Residues | | $\mathbf{R} \in \mathbb{C}^{N \times K \times Q}$ + +### Parameter Validation + +Complex-valued poles and residues must be ordered as adjacent conjugate pairs. +For each pair, with $q$ the first index: + +```math +\begin{aligned} +p_q &= (p_{q+1})^* & +\mathbf{R}^q &= (\mathbf{R}^{q+1})^* +\end{aligned} +``` + +### Model Derived Parameters + +Define the real-valued quantities used below. Superscript $q$ denotes +pole-indexed residues and memory states. + +```math +\begin{aligned} +\mathbf{a} &= \operatorname{Re}(\mathbf{p}) \\ +\boldsymbol{\omega} &= \operatorname{Im}(\mathbf{p}) \\ +\mathbf{R}_{\mathrm{r}}^q &= \operatorname{Re}(\mathbf{R}^q) \\ +\mathbf{R}_{\mathrm{i}}^q &= \operatorname{Im}(\mathbf{R}^q) +\end{aligned} +``` + +## Model Variables + +### Internal Variables + +#### Differential + +In the general case, there are $2QK$ scalar internal differential states, +grouped as one $\mathbf{x}_{\mathrm{r}}$ and $\mathbf{x}_{\mathrm{i}}$ pair of +$K$-vectors per pole. Real-valued poles do not need the imaginary state. + +Symbol | Units | Description | Note +------ | ----- | ----------- | ---- +$\mathbf{x}_{\mathrm{r}}$ | [-] | Real memory states | $\mathbf{x}_{\mathrm{r}} \in \mathbb{R}^K$ +$\mathbf{x}_{\mathrm{i}}$ | [-] | Imaginary memory states | $\mathbf{x}_{\mathrm{i}} \in \mathbb{R}^K$ + +#### Algebraic + +Symbol | Units | Description | Note +------ | ----- | ----------- | ---- +$\mathbf{y}$ | [-] | Rational approximation output state | $\mathbf{y} \in \mathbb{R}^N$ + +### External Variables + +#### Differential + +Symbol | Units | Description | Note +------ | ----- | ----------- | ---- +$\mathbf{u}$ | [-] | Input vector | $\mathbf{u} \in \mathbb{R}^K$ + +#### Algebraic + +None. + +## Model Equations + +### Differential Equations + +For real-valued poles, the imaginary-memory equation is not needed. + +```math +\begin{aligned} +0 &= -\dot{\mathbf{x}}_{\mathrm{r}}^q + + a_q\mathbf{x}_{\mathrm{r}}^q + - \omega_q\mathbf{x}_{\mathrm{i}}^q + + \mathbf{u} \\ +0 &= -\dot{\mathbf{x}}_{\mathrm{i}}^q + + \omega_q\mathbf{x}_{\mathrm{r}}^q + + a_q\mathbf{x}_{\mathrm{i}}^q \\ +0 &= -\mathbf{y} + \mathbf{D}\mathbf{u} + \mathbf{E}\dot{\mathbf{u}} + + \sum_{q=1}^{Q} + \mathbf{R}_{\mathrm{r}}^q\mathbf{x}_{\mathrm{r}}^q + - \mathbf{R}_{\mathrm{i}}^q\mathbf{x}_{\mathrm{i}}^q +\end{aligned} +``` + +### Algebraic Equations + +Rows of the output residual with all-zero rows of $\mathbf{E}$ are algebraic. + +## Initialization + +For an affine initial input trajectory, let subscript $0$ denote initial values. +Memory states initialize to: + +```math +\begin{aligned} +\mathbf{x}_{\mathrm{r},0}^q &= +-\frac{a_q}{a_q^2 + \omega_q^2}\mathbf{u}_0 +-\frac{a_q^2 - \omega_q^2}{(a_q^2 + \omega_q^2)^2} + \dot{\mathbf{u}}_0 \\ +\mathbf{x}_{\mathrm{i},0}^q &= +\frac{\omega_q}{a_q^2 + \omega_q^2}\mathbf{u}_0 ++\frac{2a_q\omega_q}{(a_q^2 + \omega_q^2)^2}\dot{\mathbf{u}}_0 +\end{aligned} +``` + +The output state initializes from the output residual: + +```math +\mathbf{y}_0 = \mathbf{D}\mathbf{u}_0 + \mathbf{E}\dot{\mathbf{u}}_0 + + \sum_{q=1}^{Q} + \left( + \mathbf{R}_{\mathrm{r}}^q\mathbf{x}_{\mathrm{r},0}^q + - \mathbf{R}_{\mathrm{i}}^q\mathbf{x}_{\mathrm{i},0}^q + \right) +``` + +## Model Outputs + +Output | Units | Description | Note +------ | ----- | ----------- | ---- +$\mathbf{y}$ | [-] | Rational approximation output state | $\mathbf{y} \in \mathbb{R}^N$ diff --git a/GridKit/Model/EMT/Component/Rational/StateSpace/README.md b/GridKit/Model/EMT/Component/Rational/StateSpace/README.md new file mode 100644 index 000000000..d43d72d3d --- /dev/null +++ b/GridKit/Model/EMT/Component/Rational/StateSpace/README.md @@ -0,0 +1,162 @@ +# StateSpace Model + +`StateSpace` represents a vector-fitted matrix rational approximation with +complex poles and factorized residues. + +Notes: +- This cannot be used in general to repalce `RationalTransfer`, as that model can support full-rank residuals, while this only supports rank-1 residuals. +- The benefit of this model is reduced number of internal states. + +The rational approximation is represented in state-space form: + +```math +\mathbf{H}(s) \approx \mathbf{D} + s\mathbf{E} + + \mathbf{C}(s\mathbf{I} - \mathbf{P})^{-1}\mathbf{B}^T +``` +The Laplace domain representation of this model is: +```math +\mathbf{Y}(s) = \mathbf{H}(s)\mathbf{U}(s) +``` + +The time domain representation of this model is: +```math +\mathbf{y}(t) = (\mathbf{h}*\mathbf{u})(t) +``` + +## Block Diagram + +
+ + + Figure 1: StateSpace rational approximation model +
+ +## Model Parameters + +For output dimension $N$, input dimension $K$, and pole count $Q$: + +Symbol | Units | JSON | Description | Typical Value | Note +------ | ----- | ---- | ----------- | ------------- | ---- +$\mathbf{D}$ | [-] | | Constant coefficient | | $\mathbf{D} \in \mathbb{R}^{N \times K}$ +$\mathbf{E}$ | [s] | | Linear coefficient | | $\mathbf{E} \in \mathbb{R}^{N \times K}$ +$\mathbf{p}$ | [1/s] | | Poles | | $\mathbf{p} \in \mathbb{C}^Q$ +$\mathbf{C}$ | [-] | | Output matrix | | $\mathbf{C} \in \mathbb{C}^{N \times Q}$ +$\mathbf{B}$ | [1/s] | | Input matrix | | $\mathbf{B} \in \mathbb{C}^{K \times Q}$ + +### Parameter Validation + +Complex-valued poles and factors must be ordered as adjacent conjugate pairs. For +each pair, with $q$ the first index: + +```math +p_q = (p_{q+1})^* +``` + +The corresponding columns of $\mathbf{C}$ and $\mathbf{B}$ must follow the same +conjugate-pair ordering. + +### Model Derived Parameters + +Define the real-valued quantities used below. Entries indexed by $q$ +correspond to poles. + +```math +\begin{aligned} +\mathbf{P} &= \operatorname{diag}(p_1,\dots,p_Q) \\ +\mathbf{a} &= \operatorname{Re}(\mathbf{p}) \\ +\boldsymbol{\omega} &= \operatorname{Im}(\mathbf{p}) \\ +\mathbf{A} &= \operatorname{diag}(a_1,\dots,a_Q) \\ +\boldsymbol{\Omega} &= \operatorname{diag}(\omega_1,\dots,\omega_Q) \\ +\mathbf{C}_{\mathrm{r}} &= \operatorname{Re}(\mathbf{C}) \\ +\mathbf{C}_{\mathrm{i}} &= \operatorname{Im}(\mathbf{C}) \\ +\mathbf{B}_{\mathrm{r}} &= \operatorname{Re}(\mathbf{B}) \\ +\mathbf{B}_{\mathrm{i}} &= \operatorname{Im}(\mathbf{B}) +\end{aligned} +``` + +## Model Variables + +### Internal Variables + +#### Differential + +In the general case, there are $2Q$ scalar internal differential states, grouped +as $\mathbf{x}_{\mathrm{r}}$ and $\mathbf{x}_{\mathrm{i}}$ vectors. +Real-valued poles do not need the imaginary state. + +Symbol | Units | Description | Note +------ | ----- | ----------- | ---- +$\mathbf{x}_{\mathrm{r}}$ | [-] | Real memory states | $\mathbf{x}_{\mathrm{r}} \in \mathbb{R}^Q$ +$\mathbf{x}_{\mathrm{i}}$ | [-] | Imaginary memory states | $\mathbf{x}_{\mathrm{i}} \in \mathbb{R}^Q$ + +#### Algebraic + +Symbol | Units | Description | Note +------ | ----- | ----------- | ---- +$\mathbf{y}$ | [-] | Rational approximation output state | $\mathbf{y} \in \mathbb{R}^N$ + +### External Variables + +#### Differential + +Symbol | Units | Description | Note +------ | ----- | ----------- | ---- +$\mathbf{u}$ | [-] | Input vector | $\mathbf{u} \in \mathbb{R}^K$ + +#### Algebraic + +None. + +## Model Equations + +### Differential Equations + +For real-valued poles, the imaginary-memory equation is not needed. + +```math +\begin{aligned} +0 &= -\dot{\mathbf{x}}_{\mathrm{r}} + + \mathbf{A}\mathbf{x}_{\mathrm{r}} + - \boldsymbol{\Omega}\mathbf{x}_{\mathrm{i}} + + \mathbf{B}_{\mathrm{r}}^T\mathbf{u} \\ +0 &= -\dot{\mathbf{x}}_{\mathrm{i}} + + \boldsymbol{\Omega}\mathbf{x}_{\mathrm{r}} + + \mathbf{A}\mathbf{x}_{\mathrm{i}} + + \mathbf{B}_{\mathrm{i}}^T\mathbf{u} \\ +0 &= -\mathbf{y} + \mathbf{D}\mathbf{u} + \mathbf{E}\dot{\mathbf{u}} + + \mathbf{C}_{\mathrm{r}}\mathbf{x}_{\mathrm{r}} + - \mathbf{C}_{\mathrm{i}}\mathbf{x}_{\mathrm{i}} +\end{aligned} +``` + +### Algebraic Equations + +Rows of the output residual with all-zero rows of $\mathbf{E}$ are algebraic. + +## Initialization + +For an affine initial input trajectory, let subscript $0$ denote initial values. +The complex pole-memory state initializes to: + +```math +\mathbf{x}_0 = +-\mathbf{P}^{-1}\mathbf{B}^T\mathbf{u}_0 +-\mathbf{P}^{-2}\mathbf{B}^T\dot{\mathbf{u}}_0 +``` + +The real-valued state vectors and output initialize to: + +```math +\begin{aligned} +\mathbf{x}_{\mathrm{r},0} &= \operatorname{Re}(\mathbf{x}_0) \\ +\mathbf{x}_{\mathrm{i},0} &= \operatorname{Im}(\mathbf{x}_0) \\ +\mathbf{y}_0 &= \mathbf{D}\mathbf{u}_0 + \mathbf{E}\dot{\mathbf{u}}_0 + + \operatorname{Re}(\mathbf{C}\mathbf{x}_0) +\end{aligned} +``` + +## Model Outputs + +Output | Units | Description | Note +------ | ----- | ----------- | ---- +$\mathbf{y}$ | [-] | Rational approximation output state | $\mathbf{y} \in \mathbb{R}^N$ diff --git a/docs/Figures/EMT/RationalTransfer/diagram.png b/docs/Figures/EMT/RationalTransfer/diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..941eab663c34d1ee86471585cea691810799a50e GIT binary patch literal 88330 zcmeFa2UJyA)-Jj+XDLM~34#$+5G6$g*TV`2mM&siL{Zez zLkIUAp{PYV6tysW!7RMubWZ0Aek?RSc*2~bPD+#i(=mAM-Az&K)S-R5kJ?mq)Y@Ax zG`}9{U06xaekoMC`1ryFXQD327~Z0b;XIRmjQjp!qgOXuj&gPGR#)da`OI!>g4#Qo z@T~^xRvB)azgz6cQ|p#>dgDrMXXlRbE)!~| z;`sXWSp<9A^S^Ie;kp2WBG;^vLWY^&D0=pEmYH8&=-ZlqzIf#z&-|HR+4tEA|9o-X z=RCTZUl(|2E}QvH>c)WC&p+>Zl3+N7*!_} z1PGc`yl6;jblb+oRpYc5|I|#eIOn@vL&T!>Q-gbM%S0h)0jK#|NWSp8u##wccjj+8X8_ z{q$*7C!5Ln^J3j;{onKbSMD#yt*z@Fhjkh%4{cmgKk;2K#A&RJ^QKduXGqP39M