Re: [ng-spice-devel] convergence
---"Al" == Al Davis <aldavis@ieee.org> writes:
Al> 1. All node voltages are checked against the previous iteration,
Al> as per reltol, abstol, etc.
Al> tol = ckt->CKTreltol * (MAX(fabs(old),fabs(new))) +
Al> ckt->CKTvoltTol; if (fabs(new-old) >tol ) { // it fails }
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.
Ick. Hadn't thought about this in ten years.
Al> 2. If device limiting occurs, it fails.
Only if it occurs on junctions. For fets, using DEVfetlim or
DEVlimvds, no such flag is returned. So, if significant limiting is
done in fetlim or limvds, trouble is brewing.
Al> 3. That's all!!
Yes, that's how it appears to me also.
Al> ACS convergence checking is strictly at the device level.
<description snipped>
Sounds like ACS doesn't directly check KCL either. True?
--Steve
Partial thread listing:
- Re: [ng-spice-devel] convergence, (continued)