Re: [ng-spice-devel] convergence


To ng-spice-devel@ieee.ing.uniroma1.it
From Al Davis <aldavis@ieee.org>
Date Thu, 26 Apr 2001 16:27:10 -0700
Delivered-To mailing list ng-spice-devel@ieee.ing.uniroma1.it
In-Reply-To <15080.28846.753313.245097@pearls >
Mailing-List contact ng-spice-devel-help@ieee.ing.uniroma1.it; run by ezmlm
References <CF654D964573D311A1CA0090278A36FF4CBE4C@EDIN_EXM1 > <01042610530002.10628@hobbes > <15080.28846.753313.245097@pearls >
Reply-To ng-spice-devel@ieee.ing.uniroma1.it

On Thu, 26 Apr 2001, Steve Hamm wrote:
> Yup. This was Quarles' "improvement" over spice2 -- he removed
> Nagel's old linearization check and just checks delta-solution, in
> ni/niconv.c, except he changes the absolute tolerance depending on
> whether its a KCL equation or a voltage source/inductor/etc.
> constraint equation.

Now I know why it seemed different than I remember.  Didn't early 
versions of Spice3 (3c??) have that check and it disappeared later?  
Anyway, last time I spent any time on that, Spice2 was all that was 
available.


> Sounds like ACS doesn't directly check KCL either. True?

True.

When the device level checks are adequate, does the KCL check really 
do anything?

Also, unless I am missing something obvious, it is an expensive 
operation.  It means another pass with full model evaluations.  Doing 
it from the matrix will only show round-off errors in solving the 
matrix, which are rarely a problem.  Even if the matrix is 
ill-conditioned, the dominant error is usually in building the 
matrix, not solving it.

Actually, KCL almost always passes, even if it is not converged.  The 
iterative process generates a linearized equivalent circuit at an 
operating point.  If the linearization is wrong, a KCL check for the 
incorrect circuit will still pass.


Partial thread listing: