PulseTest
IconPulseTest
Usage
PulseTest()
Behavior
\[ \begin{align} \mathtt{signal.y}\left( t \right) &= \mathtt{integrator.u}\left( t \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{signal.y}\left( t \right) &= ifelse\left( t > \mathtt{signal.start\_time}, ifelse\left( t \leq \mathtt{signal.start\_time} + \mathtt{signal.duty\_cycle} \mathtt{signal.period}, \mathtt{signal.amplitude}, \mathtt{signal.offset} \right), \mathtt{signal.offset} \right) \end{align} \]
Source
component PulseTest
integrator = Integrator()
signal = Pulse(amplitude=1.5, duty_cycle=0.5, offset=0.75, period=0.75, start_time=0.5)
relations
connect(signal.y, integrator.u)
metadata {
"JuliaSim": {
"tests": {
"case1": {
"stop": 3,
"expect": {
"initial": {"signal.y": 0.75},
"signals": ["signal.y", "integrator.x"],
"final": {"signal.y": 0.75, "integrator.x": 2.24999999}
}
}
}
}
}
end
Flattened Source
component PulseTest integrator = Integrator() signal = Pulse(amplitude=1.5, duty_cycle=0.5, offset=0.75, period=0.75, start_time=0.5) relations connect(signal.y, integrator.u) metadata { "JuliaSim": { "tests": { "case1": { "stop": 3, "expect": { "initial": {"signal.y": 0.75}, "signals": ["signal.y", "integrator.x"], "final": {"signal.y": 0.75, "integrator.x": 2.24999999} } } } } } end