onedev.h

来自「ngspice又一个电子CAD仿真软件代码.功能更全」· C头文件 代码 · 共 73 行

H
73
字号
/**********Copyright 1991 Regents of the University of California. All rights reserved.Authors: 1987 Karti Mayaram, 1991 David Gates**********//* Member of CIDER device simulator * Version: 1b1 *//* * One Dimensional Numerical Device Data Structures */ #ifndef ONEDEV_H#define ONEDEV_H#include "gendev.h"typedef struct sONEdevice{    double *dcSolution;                /* solution vector for device */    double *dcDeltaSolution;           /* delta solution vector */    double *copiedSolution;            /* copy of the solution vector */    double *rhs;                       /* rhs vector */    double *rhsImag;                   /* imaginary part of rhs vector */    char *matrix;                      /* matrix for device equations */    int solverType;                    /* type of equations matrix can solve */    int dimEquil;                      /* dimension in equilibrium */    int numOrigEquil;                  /* orig number of nz's in equilibrium */    int numFillEquil;                  /* fill number of nz's in equilibrium */    int dimBias;                       /* dimension under bias */    int numOrigBias;                   /* orig number of nz's under bias */    int numFillBias;                   /* fill number of nz's under bias */    int numEqns;                       /* number of equations */    int poissonOnly;                   /* flag for Poisson eqn solution */    struct sONEelem **elemArray;       /* array of elements */    double **devStates;                /* device states */    int numNodes;                      /* total number of nodes */    struct sONEcontact *pFirstContact; /* first contact */    struct sONEcontact *pLastContact;  /* last contact */    struct sMaterialInfo *pMaterials;  /* temp-dep material information */    struct sStatInfo *pStats;          /* run-time statistics */    int converged;                     /* flag for device convergence */    int iterationNumber;               /* device iteration counter */    int baseIndex;                     /* index for base contact in BJTs */    double baseLength;		         /* length of base contact in BJTs */    double area;                       /* area of device in CM^2 */    double rhsNorm;                    /* norm of rhs vector */    double abstol;                     /* absolute tolerance for device */    double reltol;                     /* relative tolerance for device */    char *name;                        /* name of device */} ONEdevice;#define devState0 devStates[0]#define devState1 devStates[1]#define devState2 devStates[2]#define devState3 devStates[3]#define devState4 devStates[4]#define devState5 devStates[5]#define devState6 devStates[6]#define devState7 devStates[7]typedef struct sONEcontact{    struct sONEcontact *next;       /* pointer to next contact */    struct sONEnode **pNodes;	   /* pointer to the contact nodes */    int numNodes;                   /* number of nodes in contact */    int id;                         /* unique contact identifier */    double workf;                   /* metal work function */} ONEcontact;#endif /* ONEDEV_H */

⌨️ 快捷键说明

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