home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 13 / 13.iso / p / p064 / 3.ddi / C.H < prev    next >
Encoding:
C/C++ Source or Header  |  1991-07-01  |  2.3 KB  |  86 lines

  1. /****************************************************************************/
  2. /*        Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991                  */
  3. /*          By MicroSim Corporation, All Rights Reserved                    */
  4. /****************************************************************************/
  5. /* c.h
  6.  *   $Revision:   1.6  $
  7.  *   $Author:   pwt  $
  8.  *   $Date:   09 Oct 1990 10:21:14  $ */
  9.  
  10. /******************* USERS OF DEVICE EQUATIONS OPTION ***********************/
  11. /********                Do not change this file                   **********/
  12.  
  13. /* Capacitor definitions */
  14.  
  15. /* state-vector access */
  16.  
  17. #define C_Q(vect)       (sv[vect]->csv_cj.qi_q)
  18. #define C_I(vect)       (sv[vect]->csv_cj.qi_i)
  19. #define C_QI(vect)      (sv[vect]->csv_cj)
  20.  
  21. struct csv_def {        /* state vector */
  22.   struct qi_def csv_cj; /* capacitor charge & current */
  23.   };
  24.  
  25. struct c_ {
  26.   struct c_ *c_next;
  27.   char      *c_name;
  28.   struct C_ *c_model;
  29.  
  30.   CKT_IDX               /* circuit matrix indices */
  31.         c_n1,
  32.         c_n2;
  33.  
  34.   /* device parameters and expression pointers */
  35.   DXPR( c_c, cx_c);   /* must follow c_n2 */
  36.   DXPR( c_v0, cx_v0); /* must follow c_v0 */
  37.  
  38.   MTX_IDX               /* MatPrm conductance terms */
  39.         c_n1n2,
  40.         c_n2n1,
  41.         c_n1n1,
  42.         c_n2n2;
  43.  
  44.   MTX_IDX               /* MatPrm indices: branch currents */
  45.         c_in1,
  46.         c_in2;
  47.  
  48.   double                /* Last iteration values */
  49.         ccv_c;
  50.  
  51.   struct csv_def c_sv[MSTVCT];
  52.   };
  53.  
  54. struct C_ {
  55.   struct C_ *C_next;
  56.   char      *C_name;
  57.   struct C_ *C_nom;
  58.   struct C_ *C_ako;
  59.  
  60.   /* model parameters and their expression pointers */
  61.  
  62.       MXPR(C_c, Cx_c);
  63.     MXPR(C_vc1, Cx_vc1);
  64.     MXPR(C_vc2, Cx_vc2);
  65.     MXPR(C_tc1, Cx_tc1);
  66.     MXPR(C_tc2, Cx_tc2);
  67.    } ;
  68.  
  69. #ifdef  C_DEVICE
  70.  
  71. struct  C_      C_default;
  72.  
  73. #define BASE    C_default
  74.  
  75. struct  Assoc   C_Assoc[] = {                   /*IGNORE*/ /* for Pre-C */
  76.         ASSOCIATE (C_c,         1.,     "*C"    ),
  77.         ASSOCIATE (C_vc1,       0.,     "VC1"   ),
  78.         ASSOCIATE (C_vc2,       0.,     "VC2"   ),
  79.         ASSOCIATE (C_tc1,       0.,     "TC1"   ),
  80.         ASSOCIATE (C_tc2,       0.,     "TC2"   ),
  81.         END_PARMS                               /*ENDIGNORE*/
  82. } ;
  83.  
  84. #undef  BASE
  85. #endif
  86.