*** spice3f4.1/src/lib/ckt/dctran.c Sat Mar 13 19:15:53 1993 --- spice3f4.2/src/lib/ckt/dctran.c Mon Jun 27 13:17:41 1994 *************** *** 32,37 **** --- 32,39 ---- int converged; int firsttime; int error; + double wantedtime; /* aep */ + #ifdef HAS_SENSE2 #ifdef SENSDEBUG FILE *outsen; *************** *** 64,69 **** --- 66,73 ---- else maxstepsize = ckt->CKTmaxStep; + wantedtime = 0; /* aep */ + ckt->CKTsizeIncr = 10; ckt->CKTtimeIndex = -1; /* before the DC soln has been stored */ ckt->CKTtimeListSize = ckt->CKTfinalTime / maxstepsize + 0.5; *************** *** 210,217 **** startsTime; return(error); } ! if(ckt->CKTtime >= ckt->CKTinitTime) CKTdump(ckt,ckt->CKTtime, (((TRANan*)ckt->CKTcurJob)->TRANplot)); ckt->CKTstat->STAToldIter = ckt->CKTstat->STATnumIter; if(FABS(ckt->CKTtime - ckt->CKTfinalTime) < ckt->CKTminBreak) { /*printf(" done: time is %g, final time is %g, and tol is %g\n",*/ --- 214,233 ---- startsTime; return(error); } ! ! #ifndef NOT_AEP ! if ( ckt->CKTtime > (wantedtime - 2* ckt->CKTmaxStep)) { ! if ( ckt->CKTtime > (wantedtime + ckt->CKTmaxStep) ) ! wantedtime += ckt->CKTstep; /* aep */ ! #endif ! if(ckt->CKTtime >= ckt->CKTinitTime) CKTdump(ckt,ckt->CKTtime, (((TRANan*)ckt->CKTcurJob)->TRANplot)); + #ifndef NOT_AEP + } + /* + ckt->CKTdelta = MIN(ckt->CKTdelta,wantedtime - ckt->CKTtime); /* aep */ + #endif + ckt->CKTstat->STAToldIter = ckt->CKTstat->STATnumIter; if(FABS(ckt->CKTtime - ckt->CKTfinalTime) < ckt->CKTminBreak) { /*printf(" done: time is %g, final time is %g, and tol is %g\n",*/