You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
144 lines
3.8 KiB
144 lines
3.8 KiB
/**********
|
|
Copyright 1990 Regents of the University of California. All rights reserved.
|
|
Author: 1985 Thomas L. Quarles
|
|
Modified: 2000 AlansFixes
|
|
**********/
|
|
|
|
#ifndef ngspice_OPTDEFS_H
|
|
#define ngspice_OPTDEFS_H
|
|
|
|
/* structure used to describe the statistics to be collected */
|
|
|
|
typedef struct sSTATdevList {
|
|
struct sSTATdevList *STATnextDev;
|
|
int modNum;
|
|
int instNum;
|
|
} STATdevList;
|
|
|
|
typedef struct {
|
|
|
|
int STATnumIter; /* number of total iterations performed */
|
|
int STATtranIter; /* number of iterations for transient analysis */
|
|
int STAToldIter; /* number of iterations at the end of the last point */
|
|
/* used to compute iterations per point */
|
|
|
|
int STATtimePts; /* total number of timepoints */
|
|
int STATaccepted; /* number of timepoints accepted */
|
|
int STATrejected; /* number of timepoints rejected */
|
|
|
|
int STATtotalDev; /* PN: number of total devices in the netlist */
|
|
|
|
double STATtotAnalTime; /* total time for all analysis */
|
|
double STATloadTime; /* total time spent in device loading */
|
|
double STATdecompTime; /* total time spent in LU decomposition */
|
|
double STATsolveTime; /* total time spent in F-B subst. */
|
|
double STATreorderTime; /* total time spent reordering */
|
|
double STATsyncTime; /* total time spent sync'ing after load */
|
|
double STATtranTime; /* transient analysis time */
|
|
double STATtranDecompTime; /* time spent in transient LU decomposition */
|
|
double STATtranSolveTime; /* time spent in transient F-B subst. */
|
|
double STATtranLoadTime; /* time spent in transient device loading */
|
|
double STATtranTruncTime; /* time spent calculating LTE and new step */
|
|
double STATtranSyncTime; /* time spent in transient sync'ing */
|
|
double STATacTime; /* AC analysis time */
|
|
double STATacDecompTime; /* time spent in AC LU decomposition */
|
|
double STATacSolveTime; /* time spent in AC F-B subst. */
|
|
double STATacLoadTime; /* time spent in AC device loading */
|
|
double STATacSyncTime; /* time spent in transient sync'ing */
|
|
STATdevList *STATdevNum; /* PN: Number of instances and models for each device */
|
|
} STATistics;
|
|
|
|
enum {
|
|
OPT_GMIN = 1,
|
|
OPT_RELTOL,
|
|
OPT_ABSTOL,
|
|
OPT_VNTOL,
|
|
OPT_TRTOL,
|
|
OPT_CHGTOL,
|
|
OPT_PIVTOL,
|
|
OPT_PIVREL,
|
|
OPT_TNOM,
|
|
OPT_ITL1,
|
|
OPT_ITL2,
|
|
OPT_ITL3,
|
|
OPT_ITL4,
|
|
OPT_ITL5,
|
|
OPT_DEFL,
|
|
OPT_DEFW,
|
|
OPT_DEFAD,
|
|
OPT_DEFAS,
|
|
OPT_BYPASS,
|
|
OPT_MAXORD,
|
|
OPT_ITERS,
|
|
OPT_TRANIT,
|
|
OPT_TRANPTS,
|
|
OPT_TRANACCPT,
|
|
OPT_TRANRJCT,
|
|
OPT_TOTANALTIME,
|
|
OPT_TRANTIME,
|
|
OPT_LOADTIME,
|
|
OPT_DECOMP,
|
|
OPT_SOLVE,
|
|
OPT_TRANDECOMP,
|
|
OPT_TRANSOLVE,
|
|
OPT_TEMP,
|
|
OPT_OLDLIMIT,
|
|
OPT_TRANCURITER,
|
|
OPT_SRCSTEPS,
|
|
OPT_GMINSTEPS,
|
|
OPT_MINBREAK,
|
|
OPT_NOOPITER,
|
|
OPT_EQNS,
|
|
OPT_REORDTIME,
|
|
OPT_METHOD,
|
|
OPT_TRYTOCOMPACT,
|
|
OPT_BADMOS3,
|
|
OPT_KEEPOPINFO,
|
|
OPT_TRANLOAD,
|
|
OPT_TRANTRUNC,
|
|
OPT_ACTIME,
|
|
OPT_ACLOAD,
|
|
OPT_ACDECOMP,
|
|
OPT_ACSOLVE,
|
|
OPT_ORIGNZ,
|
|
OPT_FILLNZ,
|
|
OPT_TOTALNZ,
|
|
};
|
|
|
|
enum {
|
|
OPT_SYNCTIME = 58,
|
|
OPT_TRANSYNC,
|
|
OPT_ACSYNC,
|
|
OPT_GSHUNT,
|
|
OPT_DEFM,
|
|
OPT_GMINFACT,
|
|
OPT_COPYNODESETS,
|
|
OPT_NODEDAMPING,
|
|
OPT_ABSDV,
|
|
OPT_RELDV,
|
|
OPT_NOOPAC,
|
|
OPT_XMU,
|
|
OPT_INDVERBOSITY,
|
|
OPT_EPSMIN,
|
|
};
|
|
|
|
#ifdef XSPICE
|
|
/* gtri - begin - wbk - add new options */
|
|
enum {
|
|
OPT_ENH_NOOPALTER = 100,
|
|
OPT_ENH_RAMPTIME,
|
|
OPT_EVT_MAX_EVT_PASSES,
|
|
OPT_EVT_MAX_OP_ALTER,
|
|
OPT_ENH_CONV_LIMIT,
|
|
OPT_ENH_CONV_ABS_STEP,
|
|
OPT_ENH_CONV_STEP,
|
|
OPT_MIF_AUTO_PARTIAL,
|
|
OPT_ENH_RSHUNT,
|
|
};
|
|
|
|
/* gtri - end - wbk - add new options */
|
|
#endif
|
|
|
|
#define OPT_TOTALDEV 200 /* Total devices in the netlist */
|
|
|
|
#endif
|