Skip to content

Commit 9f42d0c

Browse files
committed
general correctness for lumped
1 parent 9f5e6cd commit 9f42d0c

2 files changed

Lines changed: 119 additions & 48 deletions

File tree

Lines changed: 54 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,18 @@
11
# LineLumped Model
22

3-
`LineLumped` represents a lumped-parameter EMT transmission line.
4-
The nominal $\pi$-model is obtained by spatially discretizing the telegrapher equations over
5-
a segment of length $\Delta x$, with a half shunt placed at each port.
6-
Series current $\mathbf{i}$ is directed from bus 1 to bus 2. Bus residual
7-
current injections are positive into buses. All electrical parameter matrices
8-
are $3 \times 3$ and capture self and mutual coupling between phases.
3+
`LineLumped` represents a lumped-parameter EMT transmission line using a
4+
$\pi$-section equivalent over length $\Delta x$. Series current $\mathbf{i}$
5+
is directed from bus 1 to bus 2. Bus residual current injections are positive
6+
into buses.
7+
8+
Notes:
9+
- For now, only constant `R`, `L`, `G`, and `C` parameters are supported. These
10+
should remain valid, but the more general interface should also accept
11+
per-unit-length $\mathbf{Z}'(s)$ and $\mathbf{Y}'(s)$ as `Rational` models.
12+
When only the $\mathbf{D}$ and $\mathbf{E}$ terms are used, this reduces to
13+
$\mathbf{Z}'(s)=\mathbf{R}'+s\mathbf{L}'$ and
14+
$\mathbf{Y}'(s)=\mathbf{G}'+s\mathbf{C}'$ without adding algebraic or
15+
differential variables.
916

1017
<div align="center">
1118
<img align="center" src="../../../../../../docs/Figures/EMT/LineLumped/diagram.svg">
@@ -15,20 +22,28 @@ are $3 \times 3$ and capture self and mutual coupling between phases.
1522

1623
## Model Parameters
1724

25+
For phase count $N$ and conductor count $K$:
26+
1827
Symbol | Units | Description | Note
1928
-----------------|----------------|------------------------------------------|---------------------------------
20-
$\mathbf{R}'$ | [$\Omega$/m] | Series resistance matrix per unit length | $\mathbb{R}^{3 \times 3}$
21-
$\mathbf{L}'$ | [H/m] | Series inductance matrix per unit length | $\mathbb{R}^{3 \times 3}$
22-
$\mathbf{G}'$ | [S/m] | Shunt conductance matrix per unit length | $\mathbb{R}^{3 \times 3}$
23-
$\mathbf{C}'$ | [F/m] | Shunt capacitance matrix per unit length | $\mathbb{R}^{3 \times 3}$
29+
$\mathbf{P}_\phi$ | [-] | Permutation matrix mapping each conductor to its phase | $\mathbf{P}_\phi \in \mathbb{R}^{N \times K}$
30+
$\mathbf{R}'$ | [$\Omega$/m] | Series resistance matrix per unit length | $\mathbb{R}^{K \times K}$
31+
$\mathbf{L}'$ | [H/m] | Series inductance matrix per unit length | $\mathbb{R}^{K \times K}$
32+
$\mathbf{G}'$ | [S/m] | Shunt conductance matrix per unit length | $\mathbb{R}^{K \times K}$
33+
$\mathbf{C}'$ | [F/m] | Shunt capacitance matrix per unit length | $\mathbb{R}^{K \times K}$
34+
$\mathbf{Z}'$ | [$\Omega$/m] | Series impedance per unit length | $\mathbb{C}^{K \times K}$; future compatibility: supports passing a convolutional model
35+
$\mathbf{Y}'$ | [S/m] | Shunt admittance per unit length | $\mathbb{C}^{K \times K}$; future compatibility: supports passing a convolutional model
2436
$\Delta x$ | [m] | Line segment length | $\mathbb{R}$
2537

2638
## Model Derived Parameters
2739

40+
The number of phases $N$ and conductors $K$ are the row and column counts of
41+
$\mathbf{P}_\phi$, respectively.
42+
2843
``` math
2944
\begin{aligned}
30-
\mathbf{R} &= \mathbf{R}'\Delta x & \mathbf{G} &= \mathbf{G}'\Delta x \\
31-
\mathbf{L} &= \mathbf{L}'\Delta x & \mathbf{C} &= \mathbf{C}'\Delta x
45+
\mathbf{R} &= \mathbf{R}'\Delta x & \mathbf{G} &= \dfrac{\mathbf{G}'\Delta x}{2} \\
46+
\mathbf{L} &= \mathbf{L}'\Delta x & \mathbf{C} &= \dfrac{\mathbf{C}'\Delta x}{2}
3247
\end{aligned}
3348
```
3449

@@ -40,25 +55,21 @@ $\Delta x$ | [m] | Line segment length | $
4055

4156
Symbol | Units | Description | Note
4257
-----------------|--------|-----------------------|---------------------------------
43-
$\mathbf{i}$ | [A] | Series line current, directed bus 1 to bus 2 | $\mathbf{i} = [i_a, i_b, i_c]^T \in \mathbb{R}^3$
58+
$\mathbf{i}$ | [A] | Series conductor current, directed bus 1 to bus 2 | $\mathbf{i} \in \mathbb{R}^K$
4459

4560
#### Algebraic
4661

4762
None.
4863

4964
### External Variables
5065

51-
External variables enter component model equations but are owned by
52-
other components. The EMT bus at each port owns the voltage
53-
variable and provides the equation needed to have a balanced system
54-
of equations.
5566

5667
#### Differential
5768

5869
Symbol | Units | Description | Note
5970
-----------------|--------|--------------------------|------------------
60-
$\mathbf{v}_1$ | [V] | Port voltage at bus 1, owned by bus 1 | $\mathbf{v}_1 = [v_{1,a}, v_{1,b}, v_{1,c}]^T \in \mathbb{R}^3$
61-
$\mathbf{v}_2$ | [V] | Port voltage at bus 2, owned by bus 2 | $\mathbf{v}_2 = [v_{2,a}, v_{2,b}, v_{2,c}]^T \in \mathbb{R}^3$
71+
$\mathbf{v}_1$ | [V] | Port voltage at bus 1, owned by bus 1 | $\mathbf{v}_1 \in \mathbb{R}^N$
72+
$\mathbf{v}_2$ | [V] | Port voltage at bus 2, owned by bus 2 | $\mathbf{v}_2 \in \mathbb{R}^N$
6273

6374
#### Algebraic
6475

@@ -68,9 +79,9 @@ None.
6879

6980
### Differential Equations
7081

71-
82+
The series relation is written in convolution form as $0=\mathbf{z}*\mathbf{i}+ \mathbf{P}_\phi^T(\mathbf{v}_2 - \mathbf{v}_1)$. For constant parameters this can be expressed as:
7283
``` math
73-
0 = \mathbf{R}\,\mathbf{i} + \mathbf{L}\dot{\mathbf{i}} + \mathbf{v}_2 - \mathbf{v}_1
84+
0 = \mathbf{R}\,\mathbf{i} + \mathbf{L}\dot{\mathbf{i}} + \mathbf{P}_\phi^T(\mathbf{v}_2 - \mathbf{v}_1)
7485
```
7586

7687
### Algebraic Equations
@@ -81,22 +92,31 @@ None.
8192

8293
The lumped line contributes to the KCL residual at each port bus.
8394
Each expression is accumulated into the owning bus residual.
95+
More generally, the shunt conductor current is
96+
$\mathbf{y}*\mathbf{P}_\phi^T\mathbf{v}$; for constant parameters this becomes:
8497

8598
``` math
86-
\mathbf{i}^\text{inj}_1 := - \dfrac{\mathbf{G}}{2}\,\mathbf{v}_1 - \dfrac{\mathbf{C}}{2}\,\dot{\mathbf{v}}_1 - \mathbf{i}
87-
```
88-
89-
``` math
90-
\mathbf{i}^\text{inj}_2 := - \dfrac{\mathbf{G}}{2}\,\mathbf{v}_2 - \dfrac{\mathbf{C}}{2}\,\dot{\mathbf{v}}_2 + \mathbf{i}
99+
\begin{aligned}
100+
\mathbf{i}^\text{inj}_1
101+
&:= \mathbf{P}_\phi\left(
102+
- \mathbf{G}\,\mathbf{P}_\phi^T\mathbf{v}_1
103+
- \mathbf{C}\,\mathbf{P}_\phi^T\dot{\mathbf{v}}_1
104+
- \mathbf{i}
105+
\right) \\
106+
\mathbf{i}^\text{inj}_2
107+
&:= \mathbf{P}_\phi\left(
108+
- \mathbf{G}\,\mathbf{P}_\phi^T\mathbf{v}_2
109+
- \mathbf{C}\,\mathbf{P}_\phi^T\dot{\mathbf{v}}_2
110+
+ \mathbf{i}
111+
\right)
112+
\end{aligned}
91113
```
92114

93115
## Initialization
94116

95-
The initialization assumes a balanced three-phase system. Given bus
96-
voltages $\mathbf{v}_1(0)$, $\mathbf{v}_2(0)$ and their time
97-
derivatives $\dot{\mathbf{v}}_1(0)$, $\dot{\mathbf{v}}_2(0)$ from
98-
the EMT bus, and the power flow phasor series current
99-
$I = |I| \angle \theta$, the initial series current is:
117+
The model initializes from an initial series current vector $\mathbf{i}(0)$
118+
consistent with the selected conductor basis. For a three-conductor balanced phasor
119+
current $I = |I| \angle \theta$, one common choice is:
100120

101121
``` math
102122
\mathbf{i}(0) = \sqrt{2}\,|I|
@@ -111,13 +131,13 @@ The initial derivative is then given by the series line equation for
111131
DAE consistency:
112132

113133
``` math
114-
\dot{\mathbf{i}}(0) = \mathbf{L}^{-1}\left(\mathbf{v}_1(0) - \mathbf{v}_2(0) - \mathbf{R}\,\mathbf{i}(0)\right)
134+
\dot{\mathbf{i}}(0) = \mathbf{L}^{-1}\left(\mathbf{P}_\phi^T\left(\mathbf{v}_1(0) - \mathbf{v}_2(0)\right) - \mathbf{R}\,\mathbf{i}(0)\right)
115135
```
116136

117137
## Model Outputs
118138

119-
Candidate monitorable outputs include the series line current components
120-
$i_a$, $i_b$, and $i_c$.
139+
Candidate monitorable outputs include the components of the series line current
140+
$\mathbf{i}$.
121141

122142
Port current injection expressions are documented above as
123143
$\mathbf{i}^\text{inj}_1$ and $\mathbf{i}^\text{inj}_2$.

GridKit/Model/EMT/Component/Line/README.md

Lines changed: 65 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -21,18 +21,35 @@ frequency-dependent line parameters.
2121
The snippets below show model composition only. Final `.case.json` syntax may
2222
change when the EMT line models are implemented.
2323

24-
### Universal Line Model
24+
### Nominal Pi Model
2525

26-
The ULM is the general case where a `Rational` model defines the
27-
characteristic admittance $\mathbf{Y}_c$ and a `Propagation` model defines the
28-
propagation function $\mathbf{H}$.
26+
The nominal pi model is the constant-parameter lumped case.
2927

3028
```js
3129
{
32-
"class": "LineDistributed",
30+
"class": "LineLumped",
3331
"params": {
34-
"conductors": [...],
35-
"Yc": {
32+
"R": ...,
33+
"L": ...,
34+
"G": ...,
35+
"C": ...,
36+
"dx": ...
37+
}
38+
}
39+
```
40+
41+
### Frequency-Dependent Pi Model
42+
43+
The frequency-dependent pi model keeps the lumped topology and replaces the
44+
constant line matrices with rational parameter models.
45+
Note: using a `Rational` model with only $\mathbf{D}$ nonzero is an equivalent
46+
way to define the nominal pi model.
47+
48+
```js
49+
{
50+
"class": "LineLumped",
51+
"params": {
52+
"Z": {
3653
"class": "Rational",
3754
"params": {
3855
"D": ...,
@@ -41,16 +58,16 @@ propagation function $\mathbf{H}$.
4158
"residues": [...]
4259
}
4360
},
44-
"H": {
45-
"class": "Propagation",
61+
"Y": {
62+
"class": "Rational",
4663
"params": {
47-
"tau": [...],
48-
"dt_min": ...,
64+
"D": ...,
65+
"E": ...,
4966
"poles": [...],
50-
"C": ...,
51-
"B": ...
67+
"residues": [...]
5268
}
53-
}
69+
},
70+
"dx": ...
5471
}
5572
}
5673
```
@@ -82,3 +99,37 @@ delay $\mathbf{H}(s)=e^{-s\tau}$.
8299
}
83100
}
84101
```
102+
103+
### Universal Line Model
104+
105+
The ULM is the general case where a `Rational` model defines the
106+
characteristic admittance $\mathbf{Y}_c$ and a `Propagation` model defines the
107+
propagation function $\mathbf{H}$.
108+
109+
```js
110+
{
111+
"class": "LineDistributed",
112+
"params": {
113+
"conductors": [...],
114+
"Yc": {
115+
"class": "Rational",
116+
"params": {
117+
"D": ...,
118+
"E": ...,
119+
"poles": [...],
120+
"residues": [...]
121+
}
122+
},
123+
"H": {
124+
"class": "Propagation",
125+
"params": {
126+
"tau": [...],
127+
"dt_min": ...,
128+
"poles": [...],
129+
"C": ...,
130+
"B": ...
131+
}
132+
}
133+
}
134+
}
135+
```

0 commit comments

Comments
 (0)