WRspice has a swept analysis feature. This allows ac, noise, transfer function, sensitivity, and transient analyses to have an additional one or two dimensional sweep specification, resulting in the analysis being performed at each parameter value, producing a multidimensional output plot.
The syntax is
analysis dc| sweep pstr1 start1 [stop1 [incr1]] [pstr2 start2 [stop2 [incr2]]]
The initiating keyword can be ``dc'' or ``sweep'', and is followed by one or two parameter specifiers and ranges. This is the same syntax as accepted in the WRspice .dc line, which is an extension of the traditional DC source sweep. In WRspice, any circuit parameter can be swept. This is far more powerful than the original SPICE dc sweep, which only allowed sweeping of source outputs.
For example, a regular SPICE dc sweep would have a form like:
This will perform an ac analysis with the dc sources v1 and v2 stepped through the respective ranges. The resulting output vectors will have dimensions [5,21,61], as can be seen with the display command interactively. This represents 61 points of frequency data at 21 v1 values at 5 v2 values. Typing ``plot v(1)'' (for example) would plot all 21*5 analyses on the same scale (you probably don't want to do this). One can also type (as examples) ``plot v(1)[1]'' to plot the results for v2 = 4.75, or ``plot v(1)[0][1]'' for v2 = 4.5, v1 = .1, etc. Range specifications also work, for example ``plot v(1)[2][0,2]'' plots the values for v2 = 5.0, v1 = 0.0, 0.1, 0.2.
WRspice also allows forms like
Warning: The memory space required to hold the plot data can grow quite large, so be reasonable.
Multi-threading (see 1.4) will be used for chained analysis if the loopthrds variable is set to a positive value. This can parallelize the runs on computers with multiple cores or CPUs, speeding evaluation.