Internally, the transmission line models store a table of past values of the currents and voltages at the terminals, which become excitations after the delay time. As excitations, these signals can cause errors or nonconvergence if their rate of change is too large. These errors are reduced or eliminated by two mechanisms: time step truncation and breakpoint setting. Time step truncation occurs if the excitation derivative exceeds a certain threshold. A breakpoint which occurs at this time will also be rescheduled to one delay-time later. Breakpoints are set by the independent voltage and current sources at times where a slope change occurs, in piecewise linear outputs. At a breakpoint, the internal time step is cut and integration order reduced to accommodate the change in input accurately.
Time step cutting can be turned off by setting the truncdontcut flag. The default setting, which has a redundant flag truncsl, uses a slope test to limit the next time step, in conjunction with the parameter slopetol. The algorithm computes the difference between the quadratic extrapolation from the last three and the linear extrapolation from the last two time points, and uses this difference formula to determine the time when this error is equal to slopetol multiplied by the the maximum absolute value of the signal at the three time points. The slopetol parameter defaults to 0.1.
When using level = 1, there are two alternative timestep control options. If the trunclte flag is given, the timestep is reduced by one half if the computed local truncation error is larger than an error tolerance, which is given by
NOTE: The trunclte and truncnr algorithms do not appear to work in the RLC case, except by limiting the time step to a tiny value.
The breakpoint setting is controlled by the three flags nobreaks, allbreaks, and testbreaks. Only one should be given, and the default is testbreaks. If nobreaks is set, breakpoints will not be rescheduled. If allbreaks is set, all breakpoints will be rescheduled to the break time plus the delay time. The default testbreaks will reschedule a breakpoint if a slope test is passed. This slope test makes use of the rel and abs parameters. The slopes at the last two time points are computed. The breakpoint is rescheduled if
In most cases, the defaults for the timestep and breakpoint controls are sufficient. Excessive setting of breakpoints and timestep truncation increases execution time, while insufficient control can produce errors. An alternative approach is to limit the maximum internal timestep used with the .tran line, which can provide highly accurate results for comparison when experimenting with the control parameters.
See the description of the transmission line model (2.17.5) for more information.