This shows you the differences between two versions of the page.
gnucap:manual:commands:dc [2020/02/15 15:03] felixs [Comments] |
gnucap:manual:commands:dc [2023/01/31 08:51] (current) felixs add parameter sweeps, marked as "soon" |
||
---|---|---|---|
Line 3: | Line 3: | ||
===== Purpose ===== | ===== Purpose ===== | ||
- | Performs a nonlinear DC steady state analysis, and sweeps the signal input, or a component value. | + | 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. |
===== Syntax ===== | ===== Syntax ===== | ||
dc start stop stepsize {options ...} | dc start stop stepsize {options ...} | ||
- | dc label start stop stepsize {options ...} | + | dc label start stop stepsize {options ...} |
+ | dc param start stop stepsize {options ...} | ||
===== Comments ===== | ===== Comments ===== | ||
Line 16: | Line 17: | ||
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. | 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 parameter represents a single input voltage. Two parameters instruct the computer to analyze for those two points only. | + | 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. | 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. | ||
Line 24: | Line 25: | ||
The program will sweep any simple component, including resistors, capacitors, and controlled sources. SPICE sweeps only fixed sources (types V and I). | 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 components, nested. | + | This command will sweep up to 4 component values or parameters (soon), nested. |
- | The original models of the sweep component(s) will be restored after the simulation has been completed. | + | (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. [[gnucap:manual:commands:status|status]]). |
+ | |||
+ | The original models of the sweep component(s) and parameter values will be restored after the simulation has been completed. | ||
===== Options ===== | ===== Options ===== | ||
Line 62: | Line 65: | ||
Sweep the circuit input from -10 to +15 in steps of 1. (usually volts.) Do a DC transfer simulation at each step. | Sweep the circuit input from -10 to +15 in steps of 1. (usually volts.) Do a DC transfer simulation at each step. | ||
dc | dc | ||
- | With no parameters, it uses the same ones as the last time. In this case, from -10 to 15 in 1 volt steps. | + | 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 | dc V13 -10 15 1 | ||
- | Sweep the "value" of the component "V13" from -10 to +15 in steps of 1. Do a DC transfer simulation at each step. | + | 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 | 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.) | 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.) |