====== "pulse" Pulsed time dependent value ====== ===== Syntax ===== pulse args pulse iv pv delay rise fall width period ===== Purpose ===== The component value is a pulsed function of time. ===== Comments ===== 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. ===== Parameters ===== |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.) | ===== Step control ===== 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.