Download SIMetrix Simulator Reference Manual

Transcript
8.6. Singular Matrix Errors
same reason as source and GMIN stepping. So, SIMetrix automatically adds additional capacitance
to the circuit to prevent this situation from arising.
The end result is a convergence strategy that nearly always succeeds. However, it is generally the
slowest method so in SIMetrix it is, by default, attempted last.
Although pseudo transient analysis is very powerful it is not completely infallible. Its Achilles
Heel is oscillation. Because a transient analysis is being performed it is possible for the circuit
to oscillate. If this happens, pseudo transient analysis can end up going on forever without ever
finding a stable solution. In our experience, however, this is actually rare. A number of steps
are taken to damp oscillators so that even circuits that are designed to oscillate still succeed with
pseudo transient analysis.
SIMetrix provides a number of facilities to inhibit circuit oscillation during pseudo transient analysis. These are described in “Pseudo Transient Analysis” on page 264.
8.5.6
Controlling DC Method Sequence
You may have a circuit that only succeeds with - say - pseudo transient analysis and so attempting
the other methods just wastes time. In this situation, you can force the simulator to attempt this
method exclusively. To do this you need to set the two simulator options noOpiter and dcopSequence. noOpiter inhibits the first method (junction initialised iteration) while dcopSequence
controls which and what order the remaining methods are attempted. The value of dcopSequence
consists of any combination of SOURCE, GMIN, JUNCGMIN and PTA separated by the pipe symbol: ‘|’. SOURCE, GMIN, JUNCGMIN and PTA refer respectively to ‘source stepping’, ‘DIAG
GMIN stepping’, ‘Junction GMIN stepping’ and ‘pseudo transient analysis’. The order in which
these words appear in the value of dcopSequence, determines the order in which the corresponding
methods will be attempted. So for example:
.OPTIONS NOOPITER DCOPSEQUENCE=GMIN|PTA
will force GMIN stepping to be attempted first followed by pseudo-transient analysis. Junction
initialised iteration, junction GMIN stepping and source stepping won’t be attempted at all. Note
that PTA must always be the last entry.
8.6
Singular Matrix Errors
A singular matrix error occurs when the circuit does not have a unique and finite solution. For
example, a circuit containing a floating capacitor does not have a unique DC solution as the capacitor can be at any voltage. Also circuits with shorted inductors, voltage sources or a combination
of both will fail with this error.
If you get this error, you must first check your circuit. The simulator will tell you where the
problem is either as a node name or a device name.
If you think you circuit is OK then it is possible that the error is occurring because during the
course of iterating to a solution, some node voltages or device currents reached very high values
and the limited accuracy of the machine made it seem that the matrix was singular. This can
happen with junction initialised iteration. If this is the case, try setting the option:
.OPTIONS NOOPITER
This will inhibit this mode and the simulator will start with source stepping. This method, and
the others that follow, don’t generally suffer from this problem.
Note that the simulation will abort if a singular matrix is detected in junction initialised iteration.
It will not automatically attempt the other methods. This is because, by far the most common
reason for singular matrices is circuit error.
270
SIMetrix Simulator Reference Manual