1 /*************************************************************************** 2 JSPICE3 adaptation of Spice3e2 - Copyright (c) Stephen R. Whiteley 1992 3 Copyright 1990 Regents of the University of California. All rights reserved. 4 Authors: 1985 Thomas L. Quarles 5 1992 Stephen R. Whiteley 6 ****************************************************************************/ 7 8 #ifndef OPT 9 #define OPT 10 11 /* structure used to describe the statistics to be collected */ 12 13 typedef struct { 14 15 int STATnumIter; /* number of total iterations performed */ 16 int STATtranIter; /* number of iterations for transient analysis */ 17 int STAToldIter; /* number of iterations at the end of the last point */ 18 /* used to compute iterations per point */ 19 20 int STATtimePts; /* total number of timepoints */ 21 int STATaccepted; /* number of timepoints accepted */ 22 int STATrejected; /* number of timepoints rejected */ 23 int STATmatSize; /* matrix size */ 24 int STATnonZero; /* number of nonzero entries */ 25 int STATfillIn; /* number of fill-in terms added in reorder */ 26 27 double STATtotAnalTime; /* total time for analysis */ 28 double STATtranTime; /* transient analysis time */ 29 double STATloadTime; /* time spent in device loading */ 30 double STATdecompTime; /* total time spent in LU decomposition */ 31 double STATsolveTime; /* total time spent in F-B subst. */ 32 double STATreorderTime; /* total time spent reordering */ 33 double STATtranDecompTime; /* time spent in transient LU decomposition */ 34 double STATtranSolveTime; /* time spent in transient F-B Subst. */ 35 36 } STATistics; 37 38 #define OPT_GMIN 1 39 #define OPT_RELTOL 2 40 #define OPT_ABSTOL 3 41 #define OPT_VNTOL 4 42 #define OPT_TRTOL 5 43 #define OPT_CHGTOL 6 44 #define OPT_PIVTOL 7 45 #define OPT_PIVREL 8 46 #define OPT_TNOM 9 47 #define OPT_ITL1 10 48 49 #define OPT_ITL2 11 50 #define OPT_ITL3 12 51 #define OPT_ITL4 13 52 #define OPT_ITL5 14 53 #define OPT_DEFL 15 54 #define OPT_DEFW 16 55 #define OPT_DEFAD 17 56 #define OPT_DEFAS 18 57 #define OPT_BYPASS 19 58 #define OPT_MAXORD 20 59 60 #define OPT_ITERS 21 61 #define OPT_TRANIT 22 62 #define OPT_TRANPTS 23 63 #define OPT_TRANACCPT 24 64 #define OPT_TRANRJCT 25 65 #define OPT_TOTANALTIME 26 66 #define OPT_TRANTIME 27 67 #define OPT_LOADTIME 28 68 #define OPT_DECOMP 29 69 #define OPT_SOLVE 30 70 71 #define OPT_TRANDECOMP 31 72 #define OPT_TRANSOLVE 32 73 #define OPT_TEMP 33 74 #define OPT_OLDLIMIT 34 75 #define OPT_TRANCURITER 35 76 #define OPT_SRCSTEPS 36 77 #define OPT_GMINSTEPS 37 78 #define OPT_MINBREAK 38 79 #define OPT_NOOPITER 39 80 #define OPT_EQNS 40 81 82 #define OPT_REORDTIME 41 83 #define OPT_METHOD 42 84 #define OPT_TRYTOCOMPACT 43 85 #define OPT_MATSIZ 44 86 #define OPT_NONZ 45 87 #define OPT_FILLIN 46 88 89 90 #ifdef __STDC__ 91 extern int OPTaskQuest(GENERIC*,GENERIC*,int,IFvalue*); 92 extern int OPTparse(GENERIC*,GENERIC*,int,GENERIC*,char**,GENERIC*,GENERIC*); 93 extern int OPTsetParm(GENERIC*,GENERIC*,int,IFvalue*); 94 #else 95 extern int OPTaskQuest(); 96 extern int OPTparse(); 97 extern int OPTsetParm(); 98 #endif 99 100 101 #endif /* OPT */ 102