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

  1. /****************************************************************************/
  2. /*        Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991                  */
  3. /*          By MicroSim Corporation, All Rights Reserved                    */
  4. /****************************************************************************/
  5. /* l.h
  6.  *   $Revision:   1.5  $
  7.  *   $Author:   pwt  $
  8.  *   $Date:   09 Oct 1990 10:25:54  $ */
  9.  
  10. /******************* USERS OF DEVICE EQUATIONS OPTION ***********************/
  11. /********                Do not change this file                   **********/
  12.  
  13. /* Inductor definitions */
  14.  
  15. /* state-vector access */
  16.  
  17. #define    L_F(vect)    (sv[vect]->lsv_fv.qi_q)
  18. #define    L_V(vect)    (sv[vect]->lsv_fv.qi_i)
  19. #define    L_FV(vect)    (sv[vect]->lsv_fv)
  20.  
  21. struct lsv_def {    /* state vector */
  22.   struct qi_def lsv_fv;    /* inductor flux and voltage */
  23.   };
  24.  
  25. struct l_ {
  26.   struct l_    *l_next;
  27.   char        *l_name;
  28.   struct L_    *l_model;
  29.  
  30.   CKT_IDX        /* circuit matrix indexes */
  31.     l_n1,
  32.     l_n2;
  33.  
  34.   /* device parameters and expressions */
  35.   /* MUST FOLLOW l_n2 */
  36.   DXPR( l_l, lx_l);
  37.   DXPR( l_i0, lx_i0);    /* IC= (must follow l_l) */
  38.  
  39.   CKT_IDX
  40.     l_ibr;
  41.  
  42.   double
  43.     l_phi,
  44.     l_v;
  45.  
  46.   MTX_IDX        /* Pointers into conductance matrix */
  47.     l_n1ibr,
  48.     l_n2ibr,
  49.     l_ibrn1,
  50.     l_ibrn2,
  51.     l_ibribr;
  52.  
  53.   MTX_IDX        /* Pointers into current vector */
  54.     l_vibr;
  55.  
  56.   double        /* Current (last iteration) values */
  57.     lcv_l;        /* inductance */
  58.  
  59.   struct lsv_def l_sv[MSTVCT];
  60.  
  61.   struct k_ *l_k;    /* "k" device (may be NULL) */
  62.   };
  63.  
  64. struct L_ {
  65.   struct L_    *L_next;
  66.   char        *L_name;
  67.   struct L_    *L_nom;
  68.   struct L_    *L_ako;
  69.  
  70.   /* model parameters and expressions */
  71.  
  72.     MXPR( L_l,   Lx_l);
  73.     MXPR( L_il1, Lx_il1);
  74.     MXPR( L_il2, Lx_il2);
  75.     MXPR( L_tc1, Lx_tc1);
  76.     MXPR( L_tc2, Lx_tc2);
  77.   };
  78.  
  79. #ifdef    L_DEVICE
  80.  
  81. struct    L_    L_default;
  82.  
  83. #define    BASE    L_default
  84.  
  85. struct    Assoc    L_Assoc[] = {            /*IGNORE*/ /* for Pre-C */
  86.     ASSOCIATE (L_l,        1.,    "*L"    ),
  87.     ASSOCIATE (L_il1,    0.,    "IL1"    ),
  88.     ASSOCIATE (L_il2,    0.,    "IL2"    ),
  89.     ASSOCIATE (L_tc1,    0.,    "TC1"    ),
  90.     ASSOCIATE (L_tc2,    0.,    "TC2"    ),
  91.     END_PARMS                /*ENDIGNORE*/
  92. } ;
  93.  
  94. #undef    BASE
  95. #undef    L_DEVICE
  96. #endif
  97.