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

/**********
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