From d15ce5a5110abd151134e18484cf056101c14bad Mon Sep 17 00:00:00 2001 From: Holger Vogt Date: Sat, 16 Dec 2023 16:48:14 +0100 Subject: [PATCH] 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. --- src/spicelib/analysis/dctrcurv.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/spicelib/analysis/dctrcurv.c b/src/spicelib/analysis/dctrcurv.c index 2f53734c9..eb6861d43 100644 --- a/src/spicelib/analysis/dctrcurv.c +++ b/src/spicelib/analysis/dctrcurv.c @@ -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 {