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

📄 numd2def.h

📁 spice中支持多层次元件模型仿真的可单独运行的插件源码
💻 H
字号:
/**********Copyright 1991 Regents of the University of California. All rights reserved.Authors: 1987 Karti Mayaram, 1991 David Gates**********/#ifndef NUMD2_H#define NUMD2_H "NUMD2defs.h $Revision: 1.0 $  on $Date: 87/10/05 17:08:00 $ "/* data structures used to describe 2D numerical diodes *//* circuit level includes */#include "ifsim.h"#include "cktdefs.h"#include "gendefs.h"/* device level includes */#include "twomesh.h"#include "twodev.h"#include "profile.h"#include "numglobs.h"#include "carddefs.h"/* information needed per instance */typedef struct sNUMD2instance {  struct sNUMD2model *NUMD2modPtr;	/* back pointer to model */  struct sNUMD2instance *NUMD2nextInstance;	/* pointer to next instance						 * of current model */  IFuid NUMD2name;		/* pointer to character string naming this				 * instance */  int NUMD2owner;		/* number of owner process */  int NUMD2state;		/* pointer to start of state vector for diode */#define NUMD2voltage NUMD2state#define NUMD2id NUMD2state+1#define NUMD2conduct NUMD2state+2#define NUMD2numStates 3  int NUMD2posNode;		/* number of positive node of diode */  int NUMD2negNode;		/* number of negative node of diode */  TWOdevice *NUMD2pDevice;  GLOBvalues NUMD2globals;	/* Temp.-Dep. Global Parameters */  int NUMD2type;		/* device type pn or np */  double NUMD2width;		/* width factor for the diode */  double NUMD2area;		/* area factor for the diode */  double NUMD2temp;		/* instance temperature */  double NUMD2c11;		/* small-signal capacitance */  double NUMD2y11r;		/* small-signal admittance, real part */  double NUMD2y11i;		/* small-signal admittance, imag part */  int NUMD2print;		/* number of timesteps after which print				 * internal */  char *NUMD2icFile;            /* Name of initial condition file */  double *NUMD2negPosPtr;	/* pointer to sparse matrix at				 * (negative,positive) */  double *NUMD2posNegPtr;	/* pointer to sparse matrix at				 * (positive,negative) */  double *NUMD2posPosPtr;	/* pointer to sparse matrix at				 * (positive,positive) */  double *NUMD2negNegPtr;	/* pointer to sparse matrix at				 * (negative,negative) */  int NUMD2off;			/* 'off' flag for diode */  unsigned NUMD2smSigAvail:1;	/* flag to indicate small-signal done */  unsigned NUMD2widthGiven:1;	/* flag to indicate width was specified */  unsigned NUMD2areaGiven:1;	/* flag to indicate area was specified */  unsigned NUMD2icFileGiven:1;	/* flag to indicate init. cond. file given */  unsigned NUMD2tempGiven:1;	/* flag to indicate temp was specified */  unsigned NUMD2printGiven:1;	/* flag to indicate if print was specified */} NUMD2instance;/* per model data */typedef struct sNUMD2model {	/* model structure for a diode */  int NUMD2modType;		/* type index of this device type */  struct sNUMD2model *NUMD2nextModel;	/* pointer to next possible model in					 * linked list */  NUMD2instance *NUMD2instances;/* pointer to list of instances that have				 * this model */  IFuid NUMD2modName;		/* pointer to character string naming this				 * model */  /* Everything below here is numerical-device-specific */  MESHcard *NUMD2xMeshes;	/* list of xmesh cards */  MESHcard *NUMD2yMeshes;	/* list of ymesh cards */  DOMNcard *NUMD2domains;	/* list of domain cards */  BDRYcard *NUMD2boundaries;	/* list of boundary cards */  DOPcard *NUMD2dopings;	/* list of doping cards */  ELCTcard *NUMD2electrodes;	/* list of electrode cards */  CONTcard *NUMD2contacts;	/* list of contact cards */  MODLcard *NUMD2models;	/* list of model cards */  MATLcard *NUMD2materials;	/* list of material cards */  MOBcard *NUMD2mobility;	/* list of mobility cards */  METHcard *NUMD2methods;	/* list of method cards */  OPTNcard *NUMD2options;	/* list of option cards */  OUTPcard *NUMD2outputs;	/* list of output cards */  TWOtranInfo *NUMD2pInfo;	/* transient analysis information */  DOPprofile *NUMD2profiles;	/* expanded list of doping profiles */  DOPtable *NUMD2dopTables;	/* list of tables used by profiles */  TWOmaterial *NUMD2matlInfo;	/* list of material info structures */} NUMD2model;/* type of 2D diode */#define PN  1#define NP -1/* device parameters */#define NUMD2_WIDTH 1#define NUMD2_AREA 2#define NUMD2_IC_FILE 3#define NUMD2_OFF 4#define NUMD2_PRINT 5#define NUMD2_TEMP 6#define NUMD2_VD 7#define NUMD2_ID 8#define NUMD2_G11 9#define NUMD2_C11 10#define NUMD2_Y11 11#define NUMD2_G12 12#define NUMD2_C12 13#define NUMD2_Y12 14#define NUMD2_G21 15#define NUMD2_C21 16#define NUMD2_Y21 17#define NUMD2_G22 18#define NUMD2_C22 19#define NUMD2_Y22 20/* model parameters *//* NOTE: all true model parameters have been moved to IFcardInfo structures */#define NUMD2_MOD_NUMD 101/* device questions *//* model questions */#include "numd2ext.h"#endif				/* NUMD2_H */

⌨️ 快捷键说明

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