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

📄 transetp.c

📁 ngspice又一个电子CAD仿真软件代码.功能更全
💻 C
字号:
/**********Copyright 1990 Regents of the University of California.  All rights reserved.Author: 1985 Thomas L. Quarles**********/#include "ngspice.h"#include "ifsim.h"#include "iferrmsg.h"#include "trandefs.h"#include "cktdefs.h"#include "analysis.h"/* ARGSUSED */int TRANsetParm(CKTcircuit *ckt, void *anal, int which, IFvalue *value){    switch(which) {    case TRAN_TSTOP:        if (value->rValue <= 0.0) {	        errMsg = copy("TST0P is invalid, must be greater than zero.");                ((TRANan *)anal)->TRANfinalTime = 1.0;	        return(E_PARMVAL);	    }        ((TRANan *)anal)->TRANfinalTime = value->rValue;        break;    case TRAN_TSTEP:          if (value->rValue <= 0.0) {           errMsg = copy( "TSTEP is invalid, must be greater than zero." );           ((TRANan *)anal)->TRANstep = 1.0;	       return(E_PARMVAL);	    }        ((TRANan *)anal)->TRANstep = value->rValue;        break;    case TRAN_TSTART:        if (value->rValue >= ((TRANan *)anal)->TRANfinalTime ) {	        errMsg = copy("TSTART is invalid, must be less than TSTOP.");                ((TRANan *)anal)->TRANinitTime = 0.0;	        return(E_PARMVAL);	    }        ((TRANan *)anal)->TRANinitTime = value->rValue;        break;    case TRAN_TMAX:        ((TRANan *)anal)->TRANmaxStep = value->rValue;        break;    case TRAN_UIC:        if(value->iValue) {            ((TRANan *)anal)->TRANmode |= MODEUIC;        }        break;    default:        return(E_BADPARM);    }    return(OK);}static IFparm TRANparms[] = {    { "tstart",     TRAN_TSTART,    IF_SET|IF_REAL, "starting time" },    { "tstop",      TRAN_TSTOP,     IF_SET|IF_REAL, "ending time" },    { "tstep",      TRAN_TSTEP,     IF_SET|IF_REAL, "time step" },    { "tmax",       TRAN_TMAX,      IF_SET|IF_REAL, "maximum time step" },    { "uic",        TRAN_UIC,       IF_SET|IF_FLAG, "use initial conditions" },};SPICEanalysis TRANinfo  = {    {         "TRAN",        "Transient analysis",        sizeof(TRANparms)/sizeof(IFparm),        TRANparms    },    sizeof(TRANan),    TIMEDOMAIN,    1,    TRANsetParm,    TRANaskQuest,    TRANinit,    DCtran};

⌨️ 快捷键说明

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