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

📄 ltra.c

📁 linux平台下类似著名的电路板作图软件 Spice的源代码
💻 C
字号:
/**********Copyright 1990 Regents of the University of California.  All rightsreserved.Author: 1990 Jaijeet S. Roychowdhury**********//* * This file defines the LTRA data structures that are available to the * next level(s) up the calling hierarchy */#include "spice.h"#include <stdio.h>#include "devdefs.h"#include "ifsim.h"#include "ltradefs.h"#include "suffix.h"IFparm LTRApTable[] = { /* parameters */  IOPAU( "v1", LTRA_V1,   IF_REAL   , "Initial voltage at end 1"), IOPAU( "v2", LTRA_V2,   IF_REAL   , "Initial voltage at end 2"), IOPAU( "i1", LTRA_I1,   IF_REAL   , "Initial current at end 1"), IOPAU( "i2", LTRA_I2,   IF_REAL   , "Initial current at end 2"), IP("ic", LTRA_IC,   IF_REALVEC,"Initial condition vector:v1,i1,v2,i2"), OPU("pos_node1", LTRA_POS_NODE1,IF_INTEGER,"Positive node of end 1 of t-line"), OPU("neg_node1", LTRA_NEG_NODE1,IF_INTEGER,"Negative node of end 1 of t.line"), OPU("pos_node2", LTRA_POS_NODE2,IF_INTEGER,"Positive node of end 2 of t-line"), OPU("neg_node2", LTRA_NEG_NODE2,IF_INTEGER,"Negative node of end 2 of t-line")};IFparm LTRAmPTable[] = { /* model parameters */ IOP( "ltra",	LTRA_MOD_LTRA,	IF_FLAG,	"LTRA model"), IOPU( "r", LTRA_MOD_R,   IF_REAL   , "Resistance per metre"), IOPAU( "l", LTRA_MOD_L,   IF_REAL   , "Inductance per metre"), IOPR( "g", LTRA_MOD_G,   IF_REAL   , "Conductance per metre"), IOPAU( "c", LTRA_MOD_C,   IF_REAL   , "Capacitance per metre"), IOPU( "len", LTRA_MOD_LEN,   IF_REAL   , "length of line"), OP( "rel", LTRA_MOD_RELTOL, IF_REAL, "Rel. rate of change of deriv. for bkpt"), OP( "abs", LTRA_MOD_ABSTOL, IF_REAL, "Abs. rate of change of deriv. for bkpt"), IOPU("nocontrol", LTRA_MOD_NOCONTROL, IF_FLAG,	"No timestep control"), IOPU( "steplimit", LTRA_MOD_STEPLIMIT, IF_FLAG,	 "always limit timestep to 0.8*(delay of line)"), IOPU( "nosteplimit", LTRA_MOD_NOSTEPLIMIT, IF_FLAG,	 "don't always limit timestep to 0.8*(delay of line)"), IOPU( "lininterp", LTRA_MOD_LININTERP, IF_FLAG, "use linear interpolation"), IOPU("quadinterp", LTRA_MOD_QUADINTERP, IF_FLAG, "use quadratic interpolation"), IOPU("mixedinterp", LTRA_MOD_MIXEDINTERP, IF_FLAG,	 "use linear interpolation if quadratic results look unacceptable"), IOPU("truncnr", LTRA_MOD_TRUNCNR, IF_FLAG,	 "use N-R iterations for step calculation in LTRAtrunc"), IOPU( "truncdontcut", LTRA_MOD_TRUNCDONTCUT, IF_FLAG,    "don't limit timestep to keep impulse response calculation errors low"), IOPAU( "compactrel", LTRA_MOD_STLINEREL, IF_REAL,	 "special reltol for straight line checking"), IOPAU( "compactabs", LTRA_MOD_STLINEABS, IF_REAL,	 "special abstol for straight line checking")#ifdef notdef IOP( "f",  LTRA_MOD_FREQ, IF_REAL   , "Frequency"), IOP( "nl", LTRA_MOD_NL,   IF_REAL   , "Normalized length at frequency given"), IOP("fullcontrol", LTRA_MOD_FULLCONTROL, IF_FLAG, "rigorous timestep control"), IOP("halfcontrol", LTRA_MOD_HALFCONTROL, IF_FLAG,	 "only the current step is considered for timestep control"), IOP( "print", LTRA_MOD_PRINT, IF_FLAG, "printing of debugging info on"), IOP( "noprint", LTRA_MOD_NOPRINT, IF_FLAG, "printing of debugging info off"), IOP( "ronly", LTRA_MOD_RONLY, IF_FLAG, "use special load routines for G=0"), IOP( "choprel", LTRA_MOD_CHOPREL, IF_REAL,	 "special reltol for truncation of impulse responses"), IOP( "chopabs", LTRA_MOD_CHOPABS, IF_REAL,	 "special abstol for truncation of impulse responses "),#endif};char *LTRAnames[] = {    "P1+",    "P1-",    "P2+",    "P2-"};int	LTRAnSize = NUMELEMS(LTRAnames);int	LTRApTSize = NUMELEMS(LTRApTable);int	LTRAmPTSize = NUMELEMS(LTRAmPTable);int	LTRAiSize = sizeof(LTRAinstance);int	LTRAmSize = sizeof(LTRAmodel);

⌨️ 快捷键说明

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