diff --git a/src/maths/ni/niiter.c b/src/maths/ni/niiter.c index 923766dd7..1a45b823b 100644 --- a/src/maths/ni/niiter.c +++ b/src/maths/ni/niiter.c @@ -31,6 +31,7 @@ NIiter(CKTcircuit *ckt, int maxIter) int iterno = 0; int ipass = 0; + printf("\n\n-------------------------------------------------\n"); /* some convergence issues that get resolved by increasing max iter */ if (maxIter < 100) maxIter = 100; @@ -160,6 +161,7 @@ NIiter(CKTcircuit *ckt, int maxIter) startTime = SPfrontEnd->IFseconds(); SMPsolve(ckt->CKTmatrix, ckt->CKTrhs, ckt->CKTrhsSpare); + printf("niiter[%d], solving\n", iterno); ckt->CKTstat->STATsolveTime += SPfrontEnd->IFseconds() - startTime; #ifdef STEPDEBUG @@ -189,10 +191,13 @@ NIiter(CKTcircuit *ckt, int maxIter) return(E_ITERLIM); } - if ((ckt->CKTnoncon == 0) && (iterno != 1)) + if ((ckt->CKTnoncon == 0) && (iterno != 1)) { ckt->CKTnoncon = NIconvTest(ckt); - else + printf("niiter[%d], NIconvTest->%d\n", iterno, ckt->CKTnoncon); + } else { + printf("niiter[%d], skipping NIconvTest\n", iterno); ckt->CKTnoncon = 1; + } #ifdef STEPDEBUG printf("noncon is %d\n", ckt->CKTnoncon); @@ -205,6 +210,7 @@ NIiter(CKTcircuit *ckt, int maxIter) { CKTnode *node; double diff, maxdiff = 0; + printf("niiter[%d], nodedamping\n", iterno); for (node = ckt->CKTnodes->next; node; node = node->next) if (node->type == SP_VOLTAGE) { diff = ckt->CKTrhs[node->number] - ckt->CKTrhsOld[node->number]; @@ -237,6 +243,7 @@ NIiter(CKTcircuit *ckt, int maxIter) if (ckt->CKTnoncon == 0) { ckt->CKTstat->STATnumIter += iterno; FREE(OldCKTstate0); + printf("niiter[%d], accepted and return\n", iterno); return(OK); } } else if (ckt->CKTmode & MODEINITJCT) { diff --git a/src/spicelib/analysis/cktload.c b/src/spicelib/analysis/cktload.c index b56f7e255..16f2d7ccd 100644 --- a/src/spicelib/analysis/cktload.c +++ b/src/spicelib/analysis/cktload.c @@ -39,6 +39,7 @@ CKTload(CKTcircuit *ckt) int noncon; #endif /* STEPDEBUG */ + printf("\n-----------------\nCKTload\n"); #ifdef XSPICE /* gtri - begin - Put resistors to ground at all nodes */ /* SMPmatrix *matrix; maschmann : deleted , because unused */ diff --git a/src/xspice/mif/mifload.c b/src/xspice/mif/mifload.c index 3ceebe0d9..209d64f2f 100644 --- a/src/xspice/mif/mifload.c +++ b/src/xspice/mif/mifload.c @@ -359,6 +359,7 @@ MIFload( fast->input.rvalue = last_input + conv_limit; else fast->input.rvalue = last_input - conv_limit; + printf("MIFload: not yet valid, setting CKTnoncon\n"); (ckt->CKTnoncon)++; /* report convergence problem if last call */ if(ckt->enh->conv_debug.report_conv_probs) {