"dc" command


Performs a nonlinear DC steady state analysis, and sweeps the signal input, or a component value or (soon) a parameter value. Components must be of type “element”, such as voltage/current sources and resistors.


dc start stop stepsize {options ...}
dc label start stop stepsize {options ...}
dc param start stop stepsize {options ...}


The nodes to look at must have been previously selected by the print or plot command.

If there are numeric arguments, without a part label, they represent a ramp from the generator function. They are the start value, stop value and step size, in order. They are saved between commands, so no arguments will repeat the previous sweep.

A single argument represents a single input voltage. Two arguments instruct the computer to analyze for those two points only.

In some cases, you will get one more step outside the specified range of inputs due to internal rounding errors. The last input may be beyond the end point.

This command also sets up a movable operating point for subsequent AC analysis, which can be helpful in distortion analysis.

The program will sweep any simple component, including resistors, capacitors, and controlled sources. SPICE sweeps only fixed sources (types V and I).

This command will sweep up to 4 component values or parameters (soon), nested.

(Soon:) Sweeping parameters may be noticeably slower than an equivalent element sweep, as all parameters are re-evaluated before each step. Time used is added to the setup function timer (cf. status).

The original models of the sweep component(s) and parameter values will be restored after the simulation has been completed.


Sweep control

* multiplier Log sweep. Multiply the input by multiplier to get the next step. Do not pass zero volts!!
by stepsize Linear sweep. Add stepsize to get the next step.
decade steps Log sweep. Use steps steps per decade.
times multiplier Log sweep. Multiply the input by multiplier to get the next step. Do not pass zero volts!!
continue Use the last step of a OP, DC or Transient analysis as the first guess.
loop Repeat the sweep, backwards.
reverse Sweep in the opposite direction.

Input / Output

> file Send results of analysis to file.
» file Append results to file.
noplot Suppress plotting.
plot Graphic output, when plotting is normally off.
quiet Suppress console output.
trace off No extended trace information.
trace warnings Show extended warnings.
trace iterations Show every iteration.
trace verbose Show extended diagnostics.


dtemp degrees Temperature offset, degrees C. Add this number to the temperature from the options command.
temperature degrees Temperature, degrees C.


dc 1

Do a single point DC signal simulation, with `1 volt' input.

dc -10 15 1

Sweep the circuit input from -10 to +15 in steps of 1. (usually volts.) Do a DC transfer simulation at each step.


With no arguments, it uses the same ones as the last time. In this case, from -10 to 15 in 1 volt steps.

dc V13 -10 15 1

Sweep the “value” of the element “V13” from -10 to +15 in steps of 1. Do a DC transfer simulation at each step. (Soon:) If there is no element by this name, but a parameter, then sweep the parameter instead.

dc 20 0 -2

You can sweep downward, by asking for a negative increment. Sometimes, this will result in better convergence, or even different results! (For example, in the case of a bi-stable circuit.)

dc -2 2 .1 loop

After the sweep, do it again in the opposite direction. In this case, the sweep is -2 to +2 in steps of .1. After it gets to +2, it will go back, and sweep from +2 to -2 in steps of -.1. The plot will be superimposed on the up sweep. This way, you can see hysteresis in the circuit.

dc temperature=75

Simulate at 75 degrees, this time. Since we didn't specify new sweep parameters, do the same as last time. (Without the loop.)

gnucap/manual/commands/dc.txt · Last modified: 2023/01/31 08:51 by felixs
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Run by Debian Driven by DokuWiki