Remove the first iteration (call to NIiter) from DCtrCurv()

in dctrcurv.c, thus go directly to CKTop. Within CKTop the
first step is again the first iteration (call to NIiter).
This unifies results which differed between op and dc due to
different settings of the mode flags.
This commit is contained in:
Holger Vogt 2023-12-16 16:48:14 +01:00
parent 1565695df0
commit d15ce5a511
1 changed files with 3 additions and 3 deletions

View File

@ -297,15 +297,15 @@ DCtrCurv(CKTcircuit *ckt, int restart)
if (ckt->evt->counts.num_insts == 0) {
/* If no event-driven instances, do what SPICE normally does */
#endif
converged = NIiter(ckt, ckt->CKTdcTrcvMaxIter);
if (converged != 0) {
// converged = NIiter(ckt, ckt->CKTdcTrcvMaxIter);
// if (converged != 0) {
converged = CKTop(ckt,
(ckt->CKTmode & MODEUIC) | MODEDCTRANCURVE | MODEINITJCT,
(ckt->CKTmode & MODEUIC) | MODEDCTRANCURVE | MODEINITFLOAT,
ckt->CKTdcMaxIter);
if (converged != 0)
return(converged);
}
// }
#ifdef XSPICE
}
else {