pulse args pulse iv pv delay rise fall width period
The component value is a pulsed function of time.
For voltage and current sources, this is the same as the Spice “pulse” function, with some extensions.
The shape of a single pulse is described by the following algorithm:
if (time > _delay+_rise+_width+_fall){ // past pulse ev = _iv; }else if (time > _delay+_rise+_width){ // falling interp=(time-(_delay+_rise+_width))/_fall; ev = _pv + interp * (_iv - _pv); }else if (time > _delay+_rise){ // pulsed value ev = _pv; }else if (time > _delay){ // rising interp = (time - _delay) / _rise; ev = _iv + interp * (_pv - _iv); }else{ // initial value ev = _iv; }
For other components, it gives a time dependent value.
As an extension beyond Spice, you may specify the parameters as name=value pairs in any order.
iv | Initial value. (required) |
pv | Pulsed value. (required) |
delay | Rise time delay, seconds. (Default = 0.) |
rise | Rise time, seconds. (Default = 0.) |
fall | Fall time, seconds. (Default = 0.) |
width | Pulse width, seconds. (Default = 0.) |
period | Repeat period, seconds. (Default = infinity.) |
The corners in a pulse waveform are considered to be analog events. The transient analysis will attempt to control timing accuracy of these analog events. If it is reasonable, a time step should be scheduled at these times exactly. In any case, there should be a time step within option::dtmin of these times.