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

📄 cktntask.c

📁 ngspice又一个电子CAD仿真软件代码.功能更全
💻 C
字号:
/**********Copyright 1990 Regents of the University of California.  All rights reserved.Author: 1985 Thomas L. QuarlesModified: 2000 AlansFixes**********//* */#include "ngspice.h"#include "tskdefs.h"#include "ifsim.h"#include "cktdefs.h"#include "iferrmsg.h"/* ARGSUSED *//*intCKTnewTask(void *ckt, void **taskPtr, IFuid taskName) */intCKTnewTask(void *ckt, void **taskPtr, IFuid taskName, void **defPtr)/*CDHW See notes in spiceif.c for an explanation of these fixes CDHW*/{    TSKtask *tsk, *def=NULL;    *taskPtr = (void *)tmalloc(sizeof(TSKtask));    if(*taskPtr==NULL) return(E_NOMEM);    tsk = *(TSKtask **)taskPtr;    tsk->TSKname = taskName;#if (1) /*CDHW*/    if(defPtr)        def = *(TSKtask **)defPtr;    if ((strcmp(taskName,"special")==0) && def )  {    /* create options by copying the circuit's defaults */          tsk->TSKtemp = def->TSKtemp;    	tsk->TSKnomTemp = def->TSKnomTemp;	tsk->TSKmaxOrder = def->TSKmaxOrder;	tsk->TSKintegrateMethod = def->TSKintegrateMethod;	tsk->TSKbypass = def->TSKbypass;	tsk->TSKdcMaxIter = def->TSKdcMaxIter;	tsk->TSKdcTrcvMaxIter = def->TSKdcTrcvMaxIter;	tsk->TSKtranMaxIter = def->TSKtranMaxIter;	tsk->TSKnumSrcSteps = def->TSKnumSrcSteps;	tsk->TSKnumGminSteps = def->TSKnumGminSteps;	tsk->TSKgminFactor   = def->TSKgminFactor;	/* minBreak */	tsk->TSKabstol = def->TSKabstol;	tsk->TSKpivotAbsTol = def->TSKpivotAbsTol;        tsk->TSKpivotRelTol = def->TSKpivotRelTol;	tsk->TSKreltol = def->TSKreltol;        tsk->TSKchgtol = def->TSKchgtol;	tsk->TSKvoltTol = def->TSKvoltTol;        tsk->TSKgmin = def->TSKgmin;	tsk->TSKgshunt = def->TSKgshunt;        /* delmin */        tsk->TSKtrtol = def->TSKtrtol;	tsk->TSKdefaultMosM = def->TSKdefaultMosM;        tsk->TSKdefaultMosL = def->TSKdefaultMosL;        tsk->TSKdefaultMosW = def->TSKdefaultMosW;        tsk->TSKdefaultMosAD = def->TSKdefaultMosAD;        tsk->TSKdefaultMosAS = def->TSKdefaultMosAS;	/* fixLimit */	tsk->TSKnoOpIter= def->TSKnoOpIter;	tsk->TSKtryToCompact = def->TSKtryToCompact;	tsk->TSKbadMos3 = def->TSKbadMos3;        tsk->TSKkeepOpInfo = def->TSKkeepOpInfo;	tsk->TSKcopyNodesets = def->TSKcopyNodesets;	tsk->TSKnodeDamping = def->TSKnodeDamping;	tsk->TSKabsDv = def->TSKabsDv;        tsk->TSKrelDv = def->TSKrelDv;#ifdef NEWTRUNC        tsk->TSKlteReltol = def->TSKlteReltol;        tsk->TSKlteAbstol = def->TSKlteAbstol;#endif /* NEWTRUNC */               } else {     /* use the application defaults */#endif /*CDHW*/	        tsk->TSKgmin = 1e-12;        tsk->TSKgshunt = 0;        tsk->TSKabstol = 1e-12;        tsk->TSKreltol = 1e-3;        tsk->TSKchgtol = 1e-14;        tsk->TSKvoltTol = 1e-6;#ifdef NEWTRUNC        tsk->TSKlteReltol = 1e-3;        tsk->TSKlteAbstol = 1e-6;#endif /* NEWTRUNC *//* gtri - modify - 4/17/91 - wbk - Change trtol default */#ifdef XSPICE/* Lower default value of trtol to give more accuracy *//*    tsk->TSKtrtol = 7;  */    tsk->TSKtrtol = 1;/* gtri - modify - 4/17/91 - wbk - Change trtol default */#else        tsk->TSKtrtol = 7;#endif /* XSPICE */        tsk->TSKbypass = 0;        tsk->TSKtranMaxIter = 10;        tsk->TSKdcMaxIter = 100;        tsk->TSKdcTrcvMaxIter = 50;        tsk->TSKintegrateMethod = TRAPEZOIDAL;        tsk->TSKmaxOrder = 2;        tsk->TSKnumSrcSteps = 1;         tsk->TSKnumGminSteps = 1;         tsk->TSKgminFactor = 10;          tsk->TSKpivotAbsTol = 1e-13;        tsk->TSKpivotRelTol = 1e-3;        tsk->TSKtemp = 300.15;        tsk->TSKnomTemp = 300.15;        tsk->TSKdefaultMosM = 1;         tsk->TSKdefaultMosL = 1e-4;        tsk->TSKdefaultMosW = 1e-4;        tsk->TSKdefaultMosAD = 0;        tsk->TSKdefaultMosAS = 0;        tsk->TSKnoOpIter=0;        tsk->TSKtryToCompact=0;        tsk->TSKbadMos3=0;        tsk->TSKkeepOpInfo=0;        tsk->TSKcopyNodesets=0;         tsk->TSKnodeDamping=0;          tsk->TSKabsDv=0.5;              tsk->TSKrelDv=2.0;#if (1) /*CDHW*/        }#endif	         return(OK);}

⌨️ 快捷键说明

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