⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 inddefs.h

📁 spice中支持多层次元件模型仿真的可单独运行的插件源码
💻 H
字号:
/**********Copyright 1990 Regents of the University of California.  All rights reserved.Author: 1985 Thomas L. Quarles**********/#ifndef IND#define IND/* turn on mutual inductor code */#define MUTUAL#include "ifsim.h"#include "complex.h"#include "gendefs.h"#include "cktdefs.h"        /* structures used to descrive inductors *//* information needed for each instance */typedef struct sINDinstance {    struct sINDmodel *INDmodPtr;    /* backpointer to model */    struct sINDinstance *INDnextInstance;   /* pointer to next instance of                                              * current model*/    IFuid INDname;  /* pointer to character string naming this instance */    int INDowner;  /* number of owner process */    int INDstate;   /* pointer to beginning of state vector for inductor */    int INDposNode; /* number of positive node of inductor */    int INDnegNode; /* number of negative node of inductor */    int INDbrEq;    /* number of the branch equation added for current */    double INDinduct;    /* inductance */    double INDinitCond; /* initial inductor voltage if specified */    double *INDposIbrptr;    /* pointer to sparse matrix diagonal at                               * (positive,branch eq) */    double *INDnegIbrptr;    /* pointer to sparse matrix diagonal at                               * (negative,branch eq) */    double *INDibrNegptr;    /* pointer to sparse matrix offdiagonal at                               * (branch eq,negative) */    double *INDibrPosptr;    /* pointer to sparse matrix offdiagonal at                               * (branch eq,positive) */    double *INDibrIbrptr;    /* pointer to sparse matrix offdiagonal at                               * (branch eq,branch eq) */    unsigned INDindGiven : 1;   /* flag to indicate inductance was specified */    unsigned INDicGiven  : 1;   /* flag to indicate init. cond. was specified */    int  INDsenParmNo;   /* parameter # for sensitivity use;            set equal to  0 if not a design parameter*/} INDinstance ;#define INDflux INDstate    /* flux in the inductor */#define INDvolt INDstate+1  /* voltage - save an entry in table */#define INDsensxp INDstate+2 /* charge sensitivities and their derivatives.                                +3 for the derivatives - pointer to the                beginning of the array *//* per model data */typedef struct sINDmodel {       /* model structure for an inductor */    int INDmodType; /* type index of this device type */    struct sINDmodel *INDnextModel; /* pointer to next possible model in                                      * linked list */    INDinstance * INDinstances; /* pointer to list of instances that have this                                 * model */    IFuid INDmodName;       /* pointer to character string naming this model */} INDmodel;#ifdef MUTUAL        /* structures used to describe mutual inductors *//* information needed for each instance */typedef struct sMUTinstance {    struct sMUTmodel *MUTmodPtr;    /* backpointer to model */    struct sMUTinstance *MUTnextInstance;   /* pointer to next instance of                                              * current model*/    IFuid MUTname;  /* pointer to character string naming this instance */    int MUTowner;  /* number of owner process */    double MUTcoupling;     /* mutual inductance input by user */    double MUTfactor;       /* mutual inductance scaled for internal use */    IFuid MUTindName1;  /* name of coupled inductor 1 */    IFuid MUTindName2;  /* name of coupled inductor 2 */    INDinstance *MUTind1;   /* pointer to coupled inductor 1 */    INDinstance *MUTind2;   /* pointer to coupled inductor 2 */    double *MUTbr1br2;  /* pointers to off-diagonal intersections of */    double *MUTbr2br1;  /* current branch equations in matrix */    unsigned MUTindGiven : 1;   /* flag to indicate inductance was specified */    int  MUTsenParmNo;   /* parameter # for sensitivity use;            set equal to  0 if not a design parameter*/} MUTinstance ;/* per model data */typedef struct sMUTmodel {       /* model structure for a mutual inductor */    int MUTmodType; /* type index of this device type */    struct sMUTmodel *MUTnextModel; /* pointer to next possible model in                                      * linked list */    MUTinstance * MUTinstances; /* pointer to list of instances that have this                                 * model */    IFuid MUTmodName;       /* pointer to character string naming this model */} MUTmodel;#endif /*MUTUAL*//* device parameters */#define IND_IND 1#define IND_IC 2#define IND_FLUX 3#define IND_VOLT 4#define IND_IND_SENS 5#define IND_CURRENT 6#define IND_POWER 7/* model parameters *//* device questions */#define IND_QUEST_SENS_REAL      201#define IND_QUEST_SENS_IMAG      202#define IND_QUEST_SENS_MAG       203#define IND_QUEST_SENS_PH        204#define IND_QUEST_SENS_CPLX      205#define IND_QUEST_SENS_DC        206#ifdef MUTUAL/* device parameters */#define MUT_COEFF 401#define MUT_IND1 402#define MUT_IND2 403#define MUT_COEFF_SENS 404/* model parameters *//* device questions */#define MUT_QUEST_SENS_REAL      601#define MUT_QUEST_SENS_IMAG      602#define MUT_QUEST_SENS_MAG       603#define MUT_QUEST_SENS_PH        604#define MUT_QUEST_SENS_CPLX      605#define MUT_QUEST_SENS_DC        606#endif /*MUTUAL*/#include "indext.h"#endif /*IND*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -