LimiterTest
IconLimiterTest
Usage
LimiterTest()
Behavior
\[ \begin{align} \mathtt{in.y}\left( t \right) &= \mathtt{integrator.u}\left( t \right) \\ \mathtt{integrator.y}\left( t \right) &= \mathtt{limiter.u}\left( t \right) \\ \mathtt{limiter.y}\left( t \right) &= max\left( min\left( \mathtt{limiter.u}\left( t \right), \mathtt{limiter.u\_max} \right), \mathtt{limiter.u\_min} \right) \\ \frac{\mathrm{d} \mathtt{integrator.x}\left( t \right)}{\mathrm{d}t} &= \mathtt{integrator.k} \mathtt{integrator.u}\left( t \right) \\ \mathtt{integrator.y}\left( t \right) &= \mathtt{integrator.x}\left( t \right) \\ \mathtt{in.y}\left( t \right) &= ifelse\left( \mathtt{in.start\_time} < t, \mathtt{in.offset} + \mathtt{in.amplitude} \sin\left( \mathtt{in.phase} + 6.2832 \mathtt{in.frequency} \left( - \mathtt{in.start\_time} + t \right) \right), \mathtt{in.offset} \right) \end{align} \]
Source
component LimiterTest
limiter = Limiter(u_max=3, u_min=-3)
integrator = Integrator()
in = Sine(amplitude=4*pi, frequency=1)
relations
connect(in.y, integrator.u)
connect(integrator.y, limiter.u)
metadata {
"JuliaSim": {
"tests": {
"case1": {
"stop": 1,
"expect": {"signals": ["limiter.y"], "final": {"limiter.y": 0.000086636022}}
}
}
}
}
end
Flattened Source
component LimiterTest limiter = Limiter(u_max=3, u_min=-3) integrator = Integrator() in = Sine(amplitude=4*pi, frequency=1) relations connect(in.y, integrator.u) connect(integrator.y, limiter.u) metadata { "JuliaSim": { "tests": { "case1": { "stop": 1, "expect": {"signals": ["limiter.y"], "final": {"limiter.y": 0.000086636022}} } } } } end