use a macro to update ckt->CKTstat->STAT..
This commit is contained in:
parent
fd9dec37a3
commit
87d9383971
|
|
@ -1,3 +1,9 @@
|
|||
2011-12-11 Robert Larice
|
||||
* src/spicelib/analysis/acan.c ,
|
||||
* src/spicelib/analysis/dcpss.c ,
|
||||
* src/spicelib/analysis/dctran.c :
|
||||
use a macro to update ckt->CKTstat->STAT..
|
||||
|
||||
2011-12-11 Robert Larice
|
||||
* src/spicelib/**/*.c :
|
||||
auxiliary define `job' --> local variable `job'
|
||||
|
|
|
|||
|
|
@ -22,6 +22,29 @@ Modified 2001: AlansFixes
|
|||
void SetAnalyse( char * Analyse, int Percent);
|
||||
#endif
|
||||
|
||||
|
||||
#define INIT_STATS() \
|
||||
do { \
|
||||
startTime = SPfrontEnd->IFseconds(); \
|
||||
startdTime = ckt->CKTstat->STATdecompTime; \
|
||||
startsTime = ckt->CKTstat->STATsolveTime; \
|
||||
startlTime = ckt->CKTstat->STATloadTime; \
|
||||
startcTime = ckt->CKTstat->STATcombineTime; \
|
||||
startkTime = ckt->CKTstat->STATsyncTime; \
|
||||
} while(0)
|
||||
|
||||
#define UPDATE_STATS(analysis) \
|
||||
do { \
|
||||
ckt->CKTcurrentAnalysis = analysis; \
|
||||
ckt->CKTstat->STATacTime += SPfrontEnd->IFseconds() - startTime; \
|
||||
ckt->CKTstat->STATacDecompTime += ckt->CKTstat->STATdecompTime - startdTime; \
|
||||
ckt->CKTstat->STATacSolveTime += ckt->CKTstat->STATsolveTime - startsTime; \
|
||||
ckt->CKTstat->STATacLoadTime += ckt->CKTstat->STATloadTime - startlTime; \
|
||||
ckt->CKTstat->STATacCombTime += ckt->CKTstat->STATcombineTime - startcTime; \
|
||||
ckt->CKTstat->STATacSyncTime += ckt->CKTstat->STATsyncTime - startkTime; \
|
||||
} while(0)
|
||||
|
||||
|
||||
int
|
||||
ACan(CKTcircuit *ckt, int restart)
|
||||
{
|
||||
|
|
@ -211,13 +234,7 @@ ACan(CKTcircuit *ckt, int restart)
|
|||
/* gtri - end - wbk */
|
||||
#endif
|
||||
|
||||
|
||||
startTime = SPfrontEnd->IFseconds();
|
||||
startdTime = ckt->CKTstat->STATdecompTime;
|
||||
startsTime = ckt->CKTstat->STATsolveTime;
|
||||
startlTime = ckt->CKTstat->STATloadTime;
|
||||
startcTime = ckt->CKTstat->STATcombineTime;
|
||||
startkTime = ckt->CKTstat->STATsyncTime;
|
||||
INIT_STATS();
|
||||
|
||||
/* main loop through all scheduled frequencies */
|
||||
while (freq <= job->ACstopFreq + freqTol) {
|
||||
|
|
@ -263,18 +280,7 @@ ACan(CKTcircuit *ckt, int restart)
|
|||
ckt->CKTmode = (ckt->CKTmode&MODEUIC) | MODEAC;
|
||||
error = NIacIter(ckt);
|
||||
if (error) {
|
||||
ckt->CKTcurrentAnalysis = DOING_AC;
|
||||
ckt->CKTstat->STATacTime += SPfrontEnd->IFseconds() - startTime;
|
||||
ckt->CKTstat->STATacDecompTime += ckt->CKTstat->STATdecompTime -
|
||||
startdTime;
|
||||
ckt->CKTstat->STATacSolveTime += ckt->CKTstat->STATsolveTime -
|
||||
startsTime;
|
||||
ckt->CKTstat->STATacLoadTime += ckt->CKTstat->STATloadTime -
|
||||
startlTime;
|
||||
ckt->CKTstat->STATacCombTime += ckt->CKTstat->STATcombineTime -
|
||||
startcTime;
|
||||
ckt->CKTstat->STATacSyncTime += ckt->CKTstat->STATsyncTime -
|
||||
startkTime;
|
||||
UPDATE_STATS(DOING_AC);
|
||||
return(error);
|
||||
}
|
||||
|
||||
|
|
@ -313,18 +319,7 @@ ACan(CKTcircuit *ckt, int restart)
|
|||
error = CKTacDump(ckt,freq,acPlot);
|
||||
#endif
|
||||
if (error) {
|
||||
ckt->CKTcurrentAnalysis = DOING_AC;
|
||||
ckt->CKTstat->STATacTime += SPfrontEnd->IFseconds() - startTime;
|
||||
ckt->CKTstat->STATacDecompTime += ckt->CKTstat->STATdecompTime -
|
||||
startdTime;
|
||||
ckt->CKTstat->STATacSolveTime += ckt->CKTstat->STATsolveTime -
|
||||
startsTime;
|
||||
ckt->CKTstat->STATacLoadTime += ckt->CKTstat->STATloadTime -
|
||||
startlTime;
|
||||
ckt->CKTstat->STATacCombTime += ckt->CKTstat->STATcombineTime -
|
||||
startcTime;
|
||||
ckt->CKTstat->STATacSyncTime += ckt->CKTstat->STATsyncTime -
|
||||
startkTime;
|
||||
UPDATE_STATS(DOING_AC);
|
||||
return(error);
|
||||
}
|
||||
|
||||
|
|
@ -374,18 +369,7 @@ ACan(CKTcircuit *ckt, int restart)
|
|||
endsweep:
|
||||
SPfrontEnd->OUTendPlot (acPlot);
|
||||
acPlot = NULL;
|
||||
ckt->CKTcurrentAnalysis = 0;
|
||||
ckt->CKTstat->STATacTime += SPfrontEnd->IFseconds() - startTime;
|
||||
ckt->CKTstat->STATacDecompTime += ckt->CKTstat->STATdecompTime -
|
||||
startdTime;
|
||||
ckt->CKTstat->STATacSolveTime += ckt->CKTstat->STATsolveTime -
|
||||
startsTime;
|
||||
ckt->CKTstat->STATacLoadTime += ckt->CKTstat->STATloadTime -
|
||||
startlTime;
|
||||
ckt->CKTstat->STATacCombTime += ckt->CKTstat->STATcombineTime -
|
||||
startcTime;
|
||||
ckt->CKTstat->STATacSyncTime += ckt->CKTstat->STATsyncTime -
|
||||
startkTime;
|
||||
UPDATE_STATS(0);
|
||||
return(0);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -45,6 +45,30 @@ void SetAnalyse( char * Analyse, int Percent);
|
|||
#endif
|
||||
|
||||
|
||||
#define INIT_STATS() \
|
||||
do { \
|
||||
startTime = SPfrontEnd->IFseconds(); \
|
||||
startIters = ckt->CKTstat->STATnumIter; \
|
||||
startdTime = ckt->CKTstat->STATdecompTime; \
|
||||
startsTime = ckt->CKTstat->STATsolveTime; \
|
||||
startlTime = ckt->CKTstat->STATloadTime; \
|
||||
startcTime = ckt->CKTstat->STATcombineTime; \
|
||||
startkTime = ckt->CKTstat->STATsyncTime; \
|
||||
} while(0)
|
||||
|
||||
#define UPDATE_STATS(analysis) \
|
||||
do { \
|
||||
ckt->CKTcurrentAnalysis = analysis; \
|
||||
ckt->CKTstat->STATtranTime += SPfrontEnd->IFseconds() - startTime; \
|
||||
ckt->CKTstat->STATtranIter += ckt->CKTstat->STATnumIter - startIters; \
|
||||
ckt->CKTstat->STATtranDecompTime += ckt->CKTstat->STATdecompTime - startdTime; \
|
||||
ckt->CKTstat->STATtranSolveTime += ckt->CKTstat->STATsolveTime - startsTime; \
|
||||
ckt->CKTstat->STATtranLoadTime += ckt->CKTstat->STATloadTime - startlTime; \
|
||||
ckt->CKTstat->STATtranCombTime += ckt->CKTstat->STATcombineTime - startcTime; \
|
||||
ckt->CKTstat->STATtranSyncTime += ckt->CKTstat->STATsyncTime - startkTime; \
|
||||
} while(0)
|
||||
|
||||
|
||||
int
|
||||
CKTfour(int, int, double *, double *, double *, double, double *, double *, double *, double *,double *);
|
||||
|
||||
|
|
@ -317,13 +341,7 @@ DCpss(CKTcircuit *ckt, int restart)
|
|||
}
|
||||
#endif
|
||||
|
||||
startTime = SPfrontEnd->IFseconds();
|
||||
startIters = ckt->CKTstat->STATnumIter;
|
||||
startdTime = ckt->CKTstat->STATdecompTime;
|
||||
startsTime = ckt->CKTstat->STATsolveTime;
|
||||
startlTime = ckt->CKTstat->STATloadTime;
|
||||
startcTime = ckt->CKTstat->STATcombineTime;
|
||||
startkTime = ckt->CKTstat->STATsyncTime;
|
||||
INIT_STATS();
|
||||
#ifdef CLUSTER
|
||||
CLUsetup(ckt);
|
||||
#endif
|
||||
|
|
@ -331,13 +349,7 @@ DCpss(CKTcircuit *ckt, int restart)
|
|||
/*saj As traninit resets CKTmode */
|
||||
ckt->CKTmode = (ckt->CKTmode&MODEUIC)|MODETRAN | MODEINITPRED;
|
||||
/* saj */
|
||||
startTime = SPfrontEnd->IFseconds();
|
||||
startIters = ckt->CKTstat->STATnumIter;
|
||||
startdTime = ckt->CKTstat->STATdecompTime;
|
||||
startsTime = ckt->CKTstat->STATsolveTime;
|
||||
startlTime = ckt->CKTstat->STATloadTime;
|
||||
startcTime = ckt->CKTstat->STATcombineTime;
|
||||
startkTime = ckt->CKTstat->STATsyncTime;
|
||||
INIT_STATS();
|
||||
if(ckt->CKTminBreak==0) ckt->CKTminBreak=ckt->CKTmaxStep*5e-5;
|
||||
firsttime=0;
|
||||
/* To get rawfile working saj*/
|
||||
|
|
@ -406,19 +418,7 @@ nextTime:
|
|||
ckt->CKTbreak=0;
|
||||
/* XXX Error will cause single process to bail. */
|
||||
if(error) {
|
||||
ckt->CKTcurrentAnalysis = DOING_TRAN;
|
||||
ckt->CKTstat->STATtranTime += SPfrontEnd->IFseconds() - startTime;
|
||||
ckt->CKTstat->STATtranIter += ckt->CKTstat->STATnumIter - startIters;
|
||||
ckt->CKTstat->STATtranDecompTime += ckt->CKTstat->STATdecompTime -
|
||||
startdTime;
|
||||
ckt->CKTstat->STATtranSolveTime += ckt->CKTstat->STATsolveTime -
|
||||
startsTime;
|
||||
ckt->CKTstat->STATtranLoadTime += ckt->CKTstat->STATloadTime -
|
||||
startlTime;
|
||||
ckt->CKTstat->STATtranCombTime += ckt->CKTstat->STATcombineTime -
|
||||
startcTime;
|
||||
ckt->CKTstat->STATtranSyncTime += ckt->CKTstat->STATsyncTime -
|
||||
startkTime;
|
||||
UPDATE_STATS(DOING_TRAN);
|
||||
return(error);
|
||||
}
|
||||
#ifdef XSPICE
|
||||
|
|
@ -833,19 +833,7 @@ nextTime:
|
|||
|
||||
if( SPfrontEnd->IFpauseTest() ) {
|
||||
/* user requested pause... */
|
||||
ckt->CKTcurrentAnalysis = DOING_TRAN;
|
||||
ckt->CKTstat->STATtranTime += SPfrontEnd->IFseconds() - startTime;
|
||||
ckt->CKTstat->STATtranIter += ckt->CKTstat->STATnumIter - startIters;
|
||||
ckt->CKTstat->STATtranDecompTime += ckt->CKTstat->STATdecompTime -
|
||||
startdTime;
|
||||
ckt->CKTstat->STATtranSolveTime += ckt->CKTstat->STATsolveTime -
|
||||
startsTime;
|
||||
ckt->CKTstat->STATtranLoadTime += ckt->CKTstat->STATloadTime -
|
||||
startlTime;
|
||||
ckt->CKTstat->STATtranCombTime += ckt->CKTstat->STATcombineTime -
|
||||
startcTime;
|
||||
ckt->CKTstat->STATtranSyncTime += ckt->CKTstat->STATsyncTime -
|
||||
startkTime;
|
||||
UPDATE_STATS(DOING_TRAN);
|
||||
return(E_PAUSE);
|
||||
}
|
||||
|
||||
|
|
@ -1213,21 +1201,7 @@ resume:
|
|||
newdelta = ckt->CKTdelta;
|
||||
error = CKTtrunc(ckt,&newdelta);
|
||||
if(error) {
|
||||
ckt->CKTcurrentAnalysis = DOING_TRAN;
|
||||
ckt->CKTstat->STATtranTime +=
|
||||
SPfrontEnd->IFseconds() - startTime;
|
||||
ckt->CKTstat->STATtranIter +=
|
||||
ckt->CKTstat->STATnumIter - startIters;
|
||||
ckt->CKTstat->STATtranDecompTime += ckt->CKTstat->STATdecompTime
|
||||
- startdTime;
|
||||
ckt->CKTstat->STATtranSolveTime += ckt->CKTstat->STATsolveTime
|
||||
- startsTime;
|
||||
ckt->CKTstat->STATtranLoadTime += ckt->CKTstat->STATloadTime
|
||||
- startlTime;
|
||||
ckt->CKTstat->STATtranCombTime += ckt->CKTstat->STATcombineTime
|
||||
- startcTime;
|
||||
ckt->CKTstat->STATtranSyncTime += ckt->CKTstat->STATsyncTime
|
||||
- startkTime;
|
||||
UPDATE_STATS(DOING_TRAN);
|
||||
return(error);
|
||||
}
|
||||
if(newdelta>.9 * ckt->CKTdelta) {
|
||||
|
|
@ -1236,21 +1210,7 @@ resume:
|
|||
ckt->CKTorder = 2;
|
||||
error = CKTtrunc(ckt,&newdelta);
|
||||
if(error) {
|
||||
ckt->CKTcurrentAnalysis = DOING_TRAN;
|
||||
ckt->CKTstat->STATtranTime +=
|
||||
SPfrontEnd->IFseconds() - startTime;
|
||||
ckt->CKTstat->STATtranIter +=
|
||||
ckt->CKTstat->STATnumIter - startIters;
|
||||
ckt->CKTstat->STATtranDecompTime +=
|
||||
ckt->CKTstat->STATdecompTime - startdTime;
|
||||
ckt->CKTstat->STATtranSolveTime +=
|
||||
ckt->CKTstat->STATsolveTime - startsTime;
|
||||
ckt->CKTstat->STATtranLoadTime +=
|
||||
ckt->CKTstat->STATloadTime - startlTime;
|
||||
ckt->CKTstat->STATtranCombTime +=
|
||||
ckt->CKTstat->STATcombineTime - startcTime;
|
||||
ckt->CKTstat->STATtranSyncTime +=
|
||||
ckt->CKTstat->STATsyncTime - startkTime;
|
||||
UPDATE_STATS(DOING_TRAN);
|
||||
return(error);
|
||||
}
|
||||
if(newdelta <= 1.05 * ckt->CKTdelta) {
|
||||
|
|
@ -1319,21 +1279,7 @@ resume:
|
|||
(void)printf("delta at delmin\n");
|
||||
/*#endif*/
|
||||
} else {
|
||||
ckt->CKTcurrentAnalysis = DOING_TRAN;
|
||||
ckt->CKTstat->STATtranTime +=
|
||||
SPfrontEnd->IFseconds() - startTime;
|
||||
ckt->CKTstat->STATtranIter +=
|
||||
ckt->CKTstat->STATnumIter - startIters;
|
||||
ckt->CKTstat->STATtranDecompTime +=
|
||||
ckt->CKTstat->STATdecompTime - startdTime;
|
||||
ckt->CKTstat->STATtranSolveTime +=
|
||||
ckt->CKTstat->STATsolveTime - startsTime;
|
||||
ckt->CKTstat->STATtranLoadTime +=
|
||||
ckt->CKTstat->STATloadTime - startlTime;
|
||||
ckt->CKTstat->STATtranCombTime +=
|
||||
ckt->CKTstat->STATcombineTime - startcTime;
|
||||
ckt->CKTstat->STATtranSyncTime +=
|
||||
ckt->CKTstat->STATsyncTime - startkTime;
|
||||
UPDATE_STATS(DOING_TRAN);
|
||||
errMsg = CKTtrouble(ckt, "Timestep too small");
|
||||
return(E_TIMESTEP);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -43,6 +43,31 @@ extern struct dbcomm *dbs;
|
|||
void SetAnalyse(char * Analyse, int Percent);
|
||||
#endif
|
||||
|
||||
|
||||
#define INIT_STATS() \
|
||||
do { \
|
||||
startTime = SPfrontEnd->IFseconds(); \
|
||||
startIters = ckt->CKTstat->STATnumIter; \
|
||||
startdTime = ckt->CKTstat->STATdecompTime; \
|
||||
startsTime = ckt->CKTstat->STATsolveTime; \
|
||||
startlTime = ckt->CKTstat->STATloadTime; \
|
||||
startcTime = ckt->CKTstat->STATcombineTime; \
|
||||
startkTime = ckt->CKTstat->STATsyncTime; \
|
||||
} while(0)
|
||||
|
||||
#define UPDATE_STATS(analysis) \
|
||||
do { \
|
||||
ckt->CKTcurrentAnalysis = analysis; \
|
||||
ckt->CKTstat->STATtranTime += SPfrontEnd->IFseconds() - startTime; \
|
||||
ckt->CKTstat->STATtranIter += ckt->CKTstat->STATnumIter - startIters; \
|
||||
ckt->CKTstat->STATtranDecompTime += ckt->CKTstat->STATdecompTime - startdTime; \
|
||||
ckt->CKTstat->STATtranSolveTime += ckt->CKTstat->STATsolveTime - startsTime; \
|
||||
ckt->CKTstat->STATtranLoadTime += ckt->CKTstat->STATloadTime - startlTime; \
|
||||
ckt->CKTstat->STATtranCombTime += ckt->CKTstat->STATcombineTime - startcTime; \
|
||||
ckt->CKTstat->STATtranSyncTime += ckt->CKTstat->STATsyncTime - startkTime; \
|
||||
} while(0)
|
||||
|
||||
|
||||
int
|
||||
DCtran(CKTcircuit *ckt,
|
||||
int restart) /* forced restart flag */
|
||||
|
|
@ -325,13 +350,7 @@ DCtran(CKTcircuit *ckt,
|
|||
}
|
||||
#endif
|
||||
|
||||
startTime = SPfrontEnd->IFseconds();
|
||||
startIters = ckt->CKTstat->STATnumIter;
|
||||
startdTime = ckt->CKTstat->STATdecompTime;
|
||||
startsTime = ckt->CKTstat->STATsolveTime;
|
||||
startlTime = ckt->CKTstat->STATloadTime;
|
||||
startcTime = ckt->CKTstat->STATcombineTime;
|
||||
startkTime = ckt->CKTstat->STATsyncTime;
|
||||
INIT_STATS();
|
||||
#ifdef CLUSTER
|
||||
CLUsetup(ckt);
|
||||
#endif
|
||||
|
|
@ -339,13 +358,7 @@ DCtran(CKTcircuit *ckt,
|
|||
/* saj As traninit resets CKTmode */
|
||||
ckt->CKTmode = (ckt->CKTmode&MODEUIC) | MODETRAN | MODEINITPRED;
|
||||
/* saj */
|
||||
startTime = SPfrontEnd->IFseconds();
|
||||
startIters = ckt->CKTstat->STATnumIter;
|
||||
startdTime = ckt->CKTstat->STATdecompTime;
|
||||
startsTime = ckt->CKTstat->STATsolveTime;
|
||||
startlTime = ckt->CKTstat->STATloadTime;
|
||||
startcTime = ckt->CKTstat->STATcombineTime;
|
||||
startkTime = ckt->CKTstat->STATsyncTime;
|
||||
INIT_STATS();
|
||||
if(ckt->CKTminBreak==0) ckt->CKTminBreak=ckt->CKTmaxStep*5e-5;
|
||||
firsttime=0;
|
||||
/* To get rawfile working saj*/
|
||||
|
|
@ -404,19 +417,7 @@ DCtran(CKTcircuit *ckt,
|
|||
ckt->CKTbreak = 0;
|
||||
/* XXX Error will cause single process to bail. */
|
||||
if(error) {
|
||||
ckt->CKTcurrentAnalysis = DOING_TRAN;
|
||||
ckt->CKTstat->STATtranTime += SPfrontEnd->IFseconds() - startTime;
|
||||
ckt->CKTstat->STATtranIter += ckt->CKTstat->STATnumIter - startIters;
|
||||
ckt->CKTstat->STATtranDecompTime += ckt->CKTstat->STATdecompTime -
|
||||
startdTime;
|
||||
ckt->CKTstat->STATtranSolveTime += ckt->CKTstat->STATsolveTime -
|
||||
startsTime;
|
||||
ckt->CKTstat->STATtranLoadTime += ckt->CKTstat->STATloadTime -
|
||||
startlTime;
|
||||
ckt->CKTstat->STATtranCombTime += ckt->CKTstat->STATcombineTime -
|
||||
startcTime;
|
||||
ckt->CKTstat->STATtranSyncTime += ckt->CKTstat->STATsyncTime -
|
||||
startkTime;
|
||||
UPDATE_STATS(DOING_TRAN);
|
||||
return(error);
|
||||
}
|
||||
#ifdef XSPICE
|
||||
|
|
@ -486,19 +487,7 @@ DCtran(CKTcircuit *ckt,
|
|||
ckt->CKTtime, ckt->CKTfinalTime, ckt->CKTminBreak);
|
||||
#endif
|
||||
SPfrontEnd->OUTendPlot (job->TRANplot);
|
||||
ckt->CKTcurrentAnalysis = 0;
|
||||
ckt->CKTstat->STATtranTime += SPfrontEnd->IFseconds() - startTime;
|
||||
ckt->CKTstat->STATtranIter += ckt->CKTstat->STATnumIter - startIters;
|
||||
ckt->CKTstat->STATtranDecompTime += ckt->CKTstat->STATdecompTime -
|
||||
startdTime;
|
||||
ckt->CKTstat->STATtranSolveTime += ckt->CKTstat->STATsolveTime -
|
||||
startsTime;
|
||||
ckt->CKTstat->STATtranLoadTime += ckt->CKTstat->STATloadTime -
|
||||
startlTime;
|
||||
ckt->CKTstat->STATtranCombTime += ckt->CKTstat->STATcombineTime -
|
||||
startcTime;
|
||||
ckt->CKTstat->STATtranSyncTime += ckt->CKTstat->STATsyncTime -
|
||||
startkTime;
|
||||
UPDATE_STATS(0);
|
||||
#ifdef WANT_SENSE2
|
||||
if(ckt->CKTsenInfo && (ckt->CKTsenInfo->SENmode & TRANSEN)){
|
||||
ckt->CKTsenInfo->SENmode = save;
|
||||
|
|
@ -511,19 +500,7 @@ DCtran(CKTcircuit *ckt,
|
|||
}
|
||||
if(SPfrontEnd->IFpauseTest()) {
|
||||
/* user requested pause... */
|
||||
ckt->CKTcurrentAnalysis = DOING_TRAN;
|
||||
ckt->CKTstat->STATtranTime += SPfrontEnd->IFseconds() - startTime;
|
||||
ckt->CKTstat->STATtranIter += ckt->CKTstat->STATnumIter - startIters;
|
||||
ckt->CKTstat->STATtranDecompTime += ckt->CKTstat->STATdecompTime -
|
||||
startdTime;
|
||||
ckt->CKTstat->STATtranSolveTime += ckt->CKTstat->STATsolveTime -
|
||||
startsTime;
|
||||
ckt->CKTstat->STATtranLoadTime += ckt->CKTstat->STATloadTime -
|
||||
startlTime;
|
||||
ckt->CKTstat->STATtranCombTime += ckt->CKTstat->STATcombineTime -
|
||||
startcTime;
|
||||
ckt->CKTstat->STATtranSyncTime += ckt->CKTstat->STATsyncTime -
|
||||
startkTime;
|
||||
UPDATE_STATS(DOING_TRAN);
|
||||
return(E_PAUSE);
|
||||
}
|
||||
resume:
|
||||
|
|
@ -848,21 +825,7 @@ resume:
|
|||
newdelta = ckt->CKTdelta;
|
||||
error = CKTtrunc(ckt,&newdelta);
|
||||
if(error) {
|
||||
ckt->CKTcurrentAnalysis = DOING_TRAN;
|
||||
ckt->CKTstat->STATtranTime +=
|
||||
SPfrontEnd->IFseconds() - startTime;
|
||||
ckt->CKTstat->STATtranIter +=
|
||||
ckt->CKTstat->STATnumIter - startIters;
|
||||
ckt->CKTstat->STATtranDecompTime += ckt->CKTstat->STATdecompTime
|
||||
- startdTime;
|
||||
ckt->CKTstat->STATtranSolveTime += ckt->CKTstat->STATsolveTime
|
||||
- startsTime;
|
||||
ckt->CKTstat->STATtranLoadTime += ckt->CKTstat->STATloadTime
|
||||
- startlTime;
|
||||
ckt->CKTstat->STATtranCombTime += ckt->CKTstat->STATcombineTime
|
||||
- startcTime;
|
||||
ckt->CKTstat->STATtranSyncTime += ckt->CKTstat->STATsyncTime
|
||||
- startkTime;
|
||||
UPDATE_STATS(DOING_TRAN);
|
||||
return(error);
|
||||
}
|
||||
if(newdelta > .9 * ckt->CKTdelta) {
|
||||
|
|
@ -871,21 +834,7 @@ resume:
|
|||
ckt->CKTorder = 2;
|
||||
error = CKTtrunc(ckt,&newdelta);
|
||||
if(error) {
|
||||
ckt->CKTcurrentAnalysis = DOING_TRAN;
|
||||
ckt->CKTstat->STATtranTime +=
|
||||
SPfrontEnd->IFseconds() - startTime;
|
||||
ckt->CKTstat->STATtranIter +=
|
||||
ckt->CKTstat->STATnumIter - startIters;
|
||||
ckt->CKTstat->STATtranDecompTime +=
|
||||
ckt->CKTstat->STATdecompTime - startdTime;
|
||||
ckt->CKTstat->STATtranSolveTime +=
|
||||
ckt->CKTstat->STATsolveTime - startsTime;
|
||||
ckt->CKTstat->STATtranLoadTime +=
|
||||
ckt->CKTstat->STATloadTime - startlTime;
|
||||
ckt->CKTstat->STATtranCombTime +=
|
||||
ckt->CKTstat->STATcombineTime - startcTime;
|
||||
ckt->CKTstat->STATtranSyncTime +=
|
||||
ckt->CKTstat->STATsyncTime - startkTime;
|
||||
UPDATE_STATS(DOING_TRAN);
|
||||
return(error);
|
||||
}
|
||||
if(newdelta <= 1.05 * ckt->CKTdelta) {
|
||||
|
|
@ -954,21 +903,7 @@ resume:
|
|||
(void)printf("delta at delmin\n");
|
||||
#endif
|
||||
} else {
|
||||
ckt->CKTcurrentAnalysis = DOING_TRAN;
|
||||
ckt->CKTstat->STATtranTime +=
|
||||
SPfrontEnd->IFseconds() - startTime;
|
||||
ckt->CKTstat->STATtranIter +=
|
||||
ckt->CKTstat->STATnumIter - startIters;
|
||||
ckt->CKTstat->STATtranDecompTime +=
|
||||
ckt->CKTstat->STATdecompTime - startdTime;
|
||||
ckt->CKTstat->STATtranSolveTime +=
|
||||
ckt->CKTstat->STATsolveTime - startsTime;
|
||||
ckt->CKTstat->STATtranLoadTime +=
|
||||
ckt->CKTstat->STATloadTime - startlTime;
|
||||
ckt->CKTstat->STATtranCombTime +=
|
||||
ckt->CKTstat->STATcombineTime - startcTime;
|
||||
ckt->CKTstat->STATtranSyncTime +=
|
||||
ckt->CKTstat->STATsyncTime - startkTime;
|
||||
UPDATE_STATS(DOING_TRAN);
|
||||
errMsg = CKTtrouble(ckt, "Timestep too small");
|
||||
return(E_TIMESTEP);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue