diff --git a/src/maths/ni/niconv.c b/src/maths/ni/niconv.c index 988fd30f2..b2e27e03e 100644 --- a/src/maths/ni/niconv.c +++ b/src/maths/ni/niconv.c @@ -13,7 +13,7 @@ Author: 1985 Thomas L. Quarles #include "ngspice/ngspice.h" #include "ngspice/cktdefs.h" #include "ngspice/smpdefs.h" - +extern bool ft_ngdebug; int NIconvTest(CKTcircuit *ckt) @@ -38,6 +38,12 @@ NIconvTest(CKTcircuit *ckt) node = node->next; new = ckt->CKTrhs [i] ; old = ckt->CKTrhsOld [i] ; + if (isnan(new)) { + if (ft_ngdebug) { + fprintf(stderr, "Warning: non-convergence, node %s is nan\n", CKTnodName(ckt, i)); + } + return 1; + } if(node->type == SP_VOLTAGE) { tol = ckt->CKTreltol * (MAX(fabs(old),fabs(new))) + ckt->CKTvoltTol;