|
|
|
@ -33,7 +33,7 @@ NIconvTest(CKTcircuit *ckt) |
|
|
|
for (i=1;i<=size;i++) { |
|
|
|
new = ckt->CKTrhs [i] ; |
|
|
|
old = ckt->CKTrhsOld [i] ; |
|
|
|
printf("chk for convergence: %s new: %g old: %g\n",CKTnodName(ckt,i),new,old); |
|
|
|
printf("chk for convergence: %s new: %g old: %g\n",CKTnodName(ckt,i),new,old); |
|
|
|
} |
|
|
|
#endif /* STEPDEBUG */ |
|
|
|
for (i=1;i<=size;i++) { |
|
|
|
@ -51,10 +51,10 @@ NIconvTest(CKTcircuit *ckt) |
|
|
|
if (fabs(new-old) >tol ) { |
|
|
|
#ifdef STEPDEBUG |
|
|
|
printf(" non-convergence at node (type=3) %s (fabs(new-old)>tol --> fabs(%g-%g)>%g)\n",CKTnodName(ckt,i),new,old,tol); |
|
|
|
printf(" reltol: %g voltTol: %g (tol=reltol*(MAX(fabs(old),fabs(new))) + voltTol)\n",ckt->CKTreltol,ckt->CKTvoltTol); |
|
|
|
printf(" reltol: %g voltTol: %g (tol=reltol*(MAX(fabs(old),fabs(new))) + voltTol)\n",ckt->CKTreltol,ckt->CKTvoltTol); |
|
|
|
#endif /* STEPDEBUG */ |
|
|
|
ckt->CKTtroubleNode = i; |
|
|
|
ckt->CKTtroubleElt = NULL; |
|
|
|
ckt->CKTtroubleNode = i; |
|
|
|
ckt->CKTtroubleElt = NULL; |
|
|
|
return(1); |
|
|
|
} |
|
|
|
} else { |
|
|
|
@ -63,10 +63,10 @@ NIconvTest(CKTcircuit *ckt) |
|
|
|
if (fabs(new-old) >tol ) { |
|
|
|
#ifdef STEPDEBUG |
|
|
|
printf(" non-convergence at node (type=%d) %s (fabs(new-old)>tol --> fabs(%g-%g)>%g)\n",node->type,CKTnodName(ckt,i),new,old,tol); |
|
|
|
printf(" reltol: %g abstol: %g (tol=reltol*(MAX(fabs(old),fabs(new))) + abstol)\n",ckt->CKTreltol,ckt->CKTabstol); |
|
|
|
printf(" reltol: %g abstol: %g (tol=reltol*(MAX(fabs(old),fabs(new))) + abstol)\n",ckt->CKTreltol,ckt->CKTabstol); |
|
|
|
#endif /* STEPDEBUG */ |
|
|
|
ckt->CKTtroubleNode = i; |
|
|
|
ckt->CKTtroubleElt = NULL; |
|
|
|
ckt->CKTtroubleNode = i; |
|
|
|
ckt->CKTtroubleElt = NULL; |
|
|
|
return(1); |
|
|
|
} |
|
|
|
} |
|
|
|
|