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.