diff --git a/src/maths/ni/niconv.c b/src/maths/ni/niconv.c index 988fd30f2..9c70b8120 100644 --- a/src/maths/ni/niconv.c +++ b/src/maths/ni/niconv.c @@ -14,6 +14,8 @@ Author: 1985 Thomas L. Quarles #include "ngspice/cktdefs.h" #include "ngspice/smpdefs.h" +extern bool ft_ngdebug; + int NIconvTest(CKTcircuit *ckt) @@ -38,6 +40,11 @@ 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;