Jspice3
Main Page
Data Structures
Files
File List
Globals
tra.c
Go to the documentation of this file.
1
/***************************************************************************
2
JSPICE3 adaptation of Spice3f2 - Copyright (c) Stephen R. Whiteley 1992
3
Copyright 1990 Regents of the University of California. All rights reserved.
4
Authors: 1985 Thomas L. Quarles
5
1993 Stephen R. Whiteley
6
****************************************************************************/
7
8
#include "
spice.h
"
9
#include <stdio.h>
10
#include "
tradefs.h
"
11
#include "
uflags.h
"
12
13
static
IFparm
TRApTable
[] = {
/* parameters */
14
IOPU
(
"z0"
,
TRA_Z0
,
IF_REAL
,
"Characteristic impedance"
),
15
IOPR
(
"zo"
,
TRA_Z0
,
IF_REAL
,
"Characteristic impedance"
),
16
IOPAU
(
"f"
,
TRA_FREQ
,
IF_REAL
,
"Frequency"
),
17
IOPAU
(
"td"
,
TRA_TD
,
IF_REAL
,
"Transmission delay"
),
18
IOPAU
(
"nl"
,
TRA_NL
,
IF_REAL
,
"Normalized length at frequency given"
),
19
IOPAU
(
"v1"
,
TRA_V1
,
IF_REAL
,
"Initial voltage at end 1"
),
20
IOPAU
(
"v2"
,
TRA_V2
,
IF_REAL
,
"Initial voltage at end 2"
),
21
IOPAU
(
"i1"
,
TRA_I1
,
IF_REAL
,
"Initial current at end 1"
),
22
IOPAU
(
"i2"
,
TRA_I2
,
IF_REAL
,
"Initial current at end 2"
),
23
IP
(
"ic"
,
TRA_IC
,
IF_REALVEC
,
"Initial condition vector:v1,i1,v2,i2"
),
24
OP
(
"rel"
,
TRA_RELTOL
,
IF_REAL
,
"Rel. rate of change of deriv. for bkpt"
),
25
OP
(
"abs"
,
TRA_ABSTOL
,
IF_REAL
,
"Abs. rate of change of deriv. for bkpt"
),
26
27
OPU
(
"pos_node1"
,
TRA_POS_NODE1
,
IF_INTEGER
,
28
"Positive node of end 1 of t. line"
),
29
OPU
(
"neg_node1"
,
TRA_NEG_NODE1
,
IF_INTEGER
,
30
"Negative node of end 1 of t. line"
),
31
OPU
(
"pos_node2"
,
TRA_POS_NODE2
,
IF_INTEGER
,
32
"Positive node of end 2 of t. line"
),
33
OPU
(
"neg_node2"
,
TRA_NEG_NODE2
,
IF_INTEGER
,
34
"Negative node of end 2 of t. line"
),
35
OPU
(
"delays"
,
TRA_DELAY
,
IF_REALVEC
,
"Delayed values of excitation"
)
36
};
37
38
/* model parameters */
39
/* static IFparm TRAmPTable[] = { }; */
40
41
static
char
*
TRAnames
[] = {
42
"P1+"
,
43
"P1-"
,
44
"P2+"
,
45
"P2-"
46
};
47
48
static
IFkeys
TRAkeys
[] = {
49
{
't'
,
NUMELEMS
(
TRAnames
),
TRAnames
, 0, 0 },
50
};
51
52
53
static
int
TRAkSize
=
NUMELEMS
(TRAkeys);
54
static
int
TRApTSize
=
NUMELEMS
(TRApTable);
55
static
int
TRAmPTSize
= 0;
56
static
int
TRAiSize
=
sizeof
(
TRAinstance
);
57
static
int
TRAmSize
=
sizeof
(
TRAmodel
);
58
59
60
SPICEdev
TRAinfo
= {
61
{
62
"Tranline"
,
63
"Lossless transmission line"
,
64
65
&
TRAkSize
,
66
TRAkeys
,
67
1,
68
NULL
,
69
TRAparse
,
70
71
&
TRApTSize
,
72
TRApTable
,
73
74
0,
/*&TRAmPTSize*/
75
NULL
/*TRAmPTable*/
76
},
77
78
TRAparam
,
79
NULL
,
80
TRAload
,
81
TRAsetup
,
82
TRAsetup
,
83
TRAtemp
,
84
TRAtrunc
,
85
NULL
,
86
TRAacLoad
,
87
TRAaccept
,
88
GENdestroy
,
89
GENmDelete
,
90
GENdelete
,
91
NULL
,
92
TRAask
,
93
NULL
,
94
NULL
,
95
NULL
,
96
NULL
,
/* DISTO */
97
NULL
,
/* NOISE */
98
99
&
TRAiSize
,
100
&
TRAmSize
101
};
TRA_Z0
#define TRA_Z0
Definition:
tradefs.h:95
TRAsetup
int TRAsetup()
TRA_ABSTOL
#define TRA_ABSTOL
Definition:
tradefs.h:105
TRA_POS_NODE1
#define TRA_POS_NODE1
Definition:
tradefs.h:106
TRA_I1
#define TRA_I1
Definition:
tradefs.h:100
OPU
#define OPU(a, b, c, d)
Definition:
uflags.h:65
NUMELEMS
#define NUMELEMS(ARRAY)
Definition:
spice.h:157
TRAinfo
SPICEdev TRAinfo
Definition:
tra.c:60
TRA_I2
#define TRA_I2
Definition:
tradefs.h:102
IOPR
#define IOPR(a, b, c, d)
Definition:
uflags.h:57
GENdestroy
void GENdestroy()
TRAparse
void TRAparse()
tradefs.h
TRA_V1
#define TRA_V1
Definition:
tradefs.h:99
TRA_RELTOL
#define TRA_RELTOL
Definition:
tradefs.h:104
TRApTable
static IFparm TRApTable[]
Definition:
tra.c:13
TRAacLoad
int TRAacLoad()
TRAtemp
int TRAtemp()
TRA_V2
#define TRA_V2
Definition:
tradefs.h:101
TRAmodel
struct sTRAmodel TRAmodel
NULL
#define NULL
Definition:
spdefs.h:121
TRAkeys
static IFkeys TRAkeys[]
Definition:
tra.c:48
TRAkSize
static int TRAkSize
Definition:
tra.c:53
IF_INTEGER
#define IF_INTEGER
Definition:
ifsim.h:107
TRA_IC
#define TRA_IC
Definition:
tradefs.h:103
uflags.h
spice.h
sIFparm
Definition:
ifsim.h:54
sIFkeys
Definition:
ifsim.h:267
IF_REAL
#define IF_REAL
Definition:
ifsim.h:108
TRAparam
int TRAparam()
IP
#define IP(a, b, c, d)
Definition:
devdefs.h:118
SPICEdev
Definition:
devdefs.h:43
TRAnames
static char * TRAnames[]
Definition:
tra.c:41
GENmDelete
int GENmDelete()
IF_REALVEC
#define IF_REALVEC
Definition:
ifsim.h:125
GENdelete
int GENdelete()
TRAaccept
int TRAaccept()
TRA_FREQ
#define TRA_FREQ
Definition:
tradefs.h:98
TRAtrunc
int TRAtrunc()
TRA_POS_NODE2
#define TRA_POS_NODE2
Definition:
tradefs.h:108
IOPAU
#define IOPAU(a, b, c, d)
Definition:
uflags.h:51
TRA_NEG_NODE2
#define TRA_NEG_NODE2
Definition:
tradefs.h:109
TRA_TD
#define TRA_TD
Definition:
tradefs.h:96
TRAmSize
static int TRAmSize
Definition:
tra.c:57
OP
#define OP(a, b, c, d)
Definition:
devdefs.h:119
TRAinstance
struct sTRAinstance TRAinstance
IOPU
#define IOPU(a, b, c, d)
Definition:
uflags.h:48
TRAiSize
static int TRAiSize
Definition:
tra.c:56
TRAmPTSize
static int TRAmPTSize
Definition:
tra.c:55
TRA_NL
#define TRA_NL
Definition:
tradefs.h:97
TRAload
int TRAload()
TRA_NEG_NODE1
#define TRA_NEG_NODE1
Definition:
tradefs.h:107
TRApTSize
static int TRApTSize
Definition:
tra.c:54
TRA_DELAY
#define TRA_DELAY
Definition:
tradefs.h:112
TRAask
int TRAask()
src
lib
dev
tra
tra.c
Generated by
1.8.11