diff --git a/src/spicelib/analysis/traninit.c b/src/spicelib/analysis/traninit.c index b25aa6cf4..135ed12dc 100644 --- a/src/spicelib/analysis/traninit.c +++ b/src/spicelib/analysis/traninit.c @@ -7,6 +7,7 @@ Modified: 2000 AlansFixes #include "ngspice/cktdefs.h" #include "ngspice/trandefs.h" #include "ngspice/iferrmsg.h" +#include "ngspice/cpextern.h" /* * this used to be in setup, but we need it here now @@ -25,7 +26,7 @@ int TRANinit(CKTcircuit *ckt, JOB *anal) /* The following code has been taken from macspice 3f4 (A. Wilson) in the file traninit.new.c - Seems interesting */ if(ckt->CKTmaxStep == 0) { - if (ckt->CKTstep < ( ckt->CKTfinalTime - ckt->CKTinitTime )/50.0) + if ((ckt->CKTstep < ( ckt->CKTfinalTime - ckt->CKTinitTime )/50.0) && cp_getvar("stepsizelimit", CP_BOOL, NULL, 0)) ckt->CKTmaxStep = ckt->CKTstep; else ckt->CKTmaxStep = ( ckt->CKTfinalTime - ckt->CKTinitTime )/50.0; diff --git a/src/spinit.in b/src/spinit.in index 305e7dfea..1a2dbfcbc 100644 --- a/src/spinit.in +++ b/src/spinit.in @@ -13,6 +13,8 @@ set x11lineararcs ** default (if compiled with --enable-openmp) is: 2 *set num_threads=4 set interactive +* step size is limited to TSTEP in tansient simulation +set stepsizelimit strcmp __flag $program "ngspice" if $__flag = 0 diff --git a/visualc/spinit_all b/visualc/spinit_all index f7b3a8de8..d9678dc22 100644 --- a/visualc/spinit_all +++ b/visualc/spinit_all @@ -13,6 +13,7 @@ set filetype=ascii ** default (if compiled with --enable-openmp) is: 2 set num_threads=4 set interactive +set stepsizelimit strcmp __flag $program "ngspice" if $__flag = 0 diff --git a/visualc/spinitd b/visualc/spinitd index 18e34ecef..58a0767e3 100644 --- a/visualc/spinitd +++ b/visualc/spinitd @@ -13,6 +13,7 @@ set filetype=ascii ** default (if compiled with --enable-openmp) is: 2 set num_threads=4 set interactive +set stepsizelimit strcmp __flag $program "ngspice" if $__flag = 0 diff --git a/visualc/spinitd64 b/visualc/spinitd64 index 24454aa92..64ba2bbff 100644 --- a/visualc/spinitd64 +++ b/visualc/spinitd64 @@ -13,6 +13,7 @@ set filetype=ascii ** default (if compiled with --enable-openmp) is: 2 set num_threads=4 set interactive +set stepsizelimit strcmp __flag $program "ngspice" if $__flag = 0 diff --git a/visualc/spinitr b/visualc/spinitr index 302dd2d77..ebb06bc9a 100644 --- a/visualc/spinitr +++ b/visualc/spinitr @@ -13,6 +13,7 @@ set filetype=ascii ** default (if compiled with --enable-openmp) is: 2 set num_threads=4 set interactive +set stepsizelimit strcmp __flag $program "ngspice" if $__flag = 0 diff --git a/visualc/spinitr64 b/visualc/spinitr64 index 9eec6811e..56ce63aad 100644 --- a/visualc/spinitr64 +++ b/visualc/spinitr64 @@ -13,6 +13,7 @@ set filetype=ascii ** default (if compiled with --enable-openmp) is: 2 set num_threads=4 set interactive +set stepsizelimit strcmp __flag $program "ngspice" if $__flag = 0