SaturatingInductorTest
IconSaturatingInductorTest
Usage
SaturatingInductorTest()
Behavior
\[ \begin{equation} \left[ \begin{array}{c} \mathrm{connect}\left( signal_{+}y(t), source_{+}V(t) \right) \\ \mathrm{connect}\left( source_{+}n, ground_{+}g, sat_{inductor_{+}n}, inductor_{+}n \right) \\ \mathrm{connect}\left( sat_{inductor_{+}p}, source_{+}p, inductor_{+}p \right) \\ \mathtt{sat\_inductor.v}\left( t \right) = \mathtt{sat\_inductor.p.v}\left( t \right) - \mathtt{sat\_inductor.n.v}\left( t \right) \\ \mathtt{sat\_inductor.i}\left( t \right) = \mathtt{sat\_inductor.p.i}\left( t \right) \\ \mathtt{sat\_inductor.p.i}\left( t \right) + \mathtt{sat\_inductor.n.i}\left( t \right) = 0 \\ \mathtt{sat\_inductor.L\_actual}\left( t \right) = \mathtt{sat\_inductor.L\_inf} + \frac{\mathtt{sat\_inductor.I\_par} \left( - \mathtt{sat\_inductor.L\_inf} + \mathtt{sat\_inductor.L\_zero} \right) \arctan\left( \frac{\mathtt{sat\_inductor.i}\left( t \right)}{\mathtt{sat\_inductor.I\_par}} \right)}{\mathtt{sat\_inductor.i}\left( t \right)} \\ \mathtt{sat\_inductor.psi}\left( t \right) = \mathtt{sat\_inductor.L\_inf} \mathtt{sat\_inductor.i}\left( t \right) + \mathtt{sat\_inductor.I\_par} \left( - \mathtt{sat\_inductor.L\_inf} + \mathtt{sat\_inductor.L\_zero} \right) \arctan\left( \frac{\mathtt{sat\_inductor.i}\left( t \right)}{\mathtt{sat\_inductor.I\_par}} \right) \\ \mathtt{sat\_inductor.v}\left( t \right) = \frac{\mathrm{d} \mathtt{sat\_inductor.psi}\left( t \right)}{\mathrm{d}t} \\ \mathtt{signal.y}\left( t \right) = \mathtt{signal.k} \\ \mathtt{source.v}\left( t \right) = - \mathtt{source.n.v}\left( t \right) + \mathtt{source.p.v}\left( t \right) \\ \mathtt{source.i}\left( t \right) = \mathtt{source.p.i}\left( t \right) \\ \mathtt{source.p.i}\left( t \right) + \mathtt{source.n.i}\left( t \right) = 0 \\ \mathtt{source.v}\left( t \right) = \mathtt{source.uV} \mathtt{source.V}\left( t \right) \\ \mathtt{ground.g.v}\left( t \right) = 0 \\ \mathtt{inductor.v}\left( t \right) = - \mathtt{inductor.n.v}\left( t \right) + \mathtt{inductor.p.v}\left( t \right) \\ \mathtt{inductor.i}\left( t \right) = \mathtt{inductor.p.i}\left( t \right) \\ \mathtt{inductor.p.i}\left( t \right) + \mathtt{inductor.n.i}\left( t \right) = 0 \\ \mathtt{inductor.L} \frac{\mathrm{d} \mathtt{inductor.i}\left( t \right)}{\mathrm{d}t} = \mathtt{inductor.v}\left( t \right) \\ \end{array} \right] \end{equation} \]
Source
test component SaturatingInductorTest
sat_inductor = SaturatingInductor(L_zero=2, L_inf=0.5, L_nominal=1)
signal = BlockComponents.Constant(k=40)
source = VoltageSource()
ground = Ground()
inductor = Inductor(L=1)
relations
initial sat_inductor.i = 1e-10
connect(signal.y, source.V)
connect(source.n, ground.g, sat_inductor.n, inductor.n)
connect(sat_inductor.p, source.p, inductor.p)
metadata {
"JuliaSim": {
"tests": {
"case1": {
"stop": 10,
"expect": {
"initial": {"sat_inductor.L_actual": 2},
"final": {"sat_inductor.L_actual": 0.50863266}
}
}
}
}
}
end
Flattened Source
test component SaturatingInductorTest sat_inductor = SaturatingInductor(L_zero=2, L_inf=0.5, L_nominal=1) signal = BlockComponents.Constant(k=40) source = VoltageSource() ground = Ground() inductor = Inductor(L=1) relations initial sat_inductor.i = 1e-10 connect(signal.y, source.V) connect(source.n, ground.g, sat_inductor.n, inductor.n) connect(sat_inductor.p, source.p, inductor.p) metadata { "JuliaSim": { "tests": { "case1": { "stop": 10, "expect": { "initial": {"sat_inductor.L_actual": 2}, "final": {"sat_inductor.L_actual": 0.50863266} } } } } } end
Test Cases
Test Case case1
Related
- Examples
- Experiments
- Analyses
- Tests