Jspice3
Main Page
Data Structures
Files
File List
Globals
sensdefs.h
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: UCB CAD Group
5
1993 Stephen R. Whiteley
6
****************************************************************************/
7
8
#ifndef SENS_DEFS
9
#define SENS_DEFS
10
11
#include "
analysis.h
"
12
13
/* structures used to describe an Adjoint Sensitivity analysis */
14
15
16
/* internal data */
17
struct
sSENSint
{
18
SMPmatrix
*
dY
;
19
double
*
dIr
, *
dIi
, *
dIdYr
, *
dIdYi
;
20
int
size
;
21
IFcomplex
*
o_cvalues
;
22
double
*
o_values
;
23
};
24
25
26
typedef
struct
st_output
Output
;
27
typedef
struct
st_nodes
Nodes
;
28
typedef
struct
st_paramsenlist
ParamSenList
;
29
typedef
struct
st_modsenlist
ModSenList
;
30
typedef
struct
st_devsenlist
DevSenList
;
31
32
typedef
struct
{
33
int
JOBtype
;
34
JOB
*
JOBnextJob
;
/* pointer to next thing to do */
35
char
*
JOBname
;
/* name of this job */
36
37
DevSenList
*
first
;
38
39
CKTnode
*
SENSoutPos
;
/* output positive node */
40
CKTnode
*
SENSoutNeg
;
/* output reference node */
41
IFuid
SENSoutSrc
;
/* output source UID */
42
GENERIC
*
SENSoutSrcDev
;
/* pointer to output device */
43
char
*
SENSoutName
;
/* name of output, e.g. v(1,2) */
44
double
SENSdefTol
;
/* default tolerance */
45
double
SENSdefPert
;
/* default perturbation */
46
unsigned
SENSpct :1;
/* flag to indicate pct change */
47
GENERIC
*
SENSplot
;
/* pointer to plot */
48
struct
sSENSint
ST;
/* internal variables, pass to subroutines */
49
struct
sACprms
AC;
/* AC parameter storage */
50
struct
sDCTprms
DC;
/* DC parameter storage */
51
52
}
SENSAN
;
53
54
struct
st_output
{
55
int
type
;
56
int
pos
, neg;
57
};
58
59
struct
st_nodes
{
60
int
pos
, neg;
61
};
62
63
struct
st_paramsenlist
{
64
ParamSenList
*
next
;
65
int
param_no
;
66
double
delta,
tol
;
67
};
68
69
struct
st_modsenlist
{
70
ModSenList
*
next
;
71
int
mod_no
;
72
ParamSenList
*
first
;
73
};
74
75
struct
st_devsenlist
{
76
DevSenList
*
next
;
77
int
dev_no
;
78
ModSenList
*
first
;
79
};
80
81
82
#define SENS_POS 2
83
#define SENS_NEG 3
84
#define SENS_SRC 4
85
#define SENS_NAME 5
86
#define SENS_DEFTOL 6
87
#define SENS_DEFPERT 7
88
#define SENS_DEFPERTURB 8
89
#define SENS_DEVDEFTOL 9
90
#define SENS_DEVDEFPERT 10
91
#define SENS_TYPE 11
92
#define SENS_DEVICE 12
93
#define SENS_PARAM 13
94
#define SENS_TOL 14
95
#define SENS_PERT 15
96
97
98
#ifdef __STDC__
99
extern
int
SENSan
(
GENERIC
*,
int
);
100
extern
int
SENSaskQuest
(
GENERIC
*,
GENERIC
*,
int
,
IFvalue
*);
101
extern
int
SENSparse
(
GENERIC
*,
GENERIC
*,
int
,
GENERIC
*,
char
**,
GENERIC
*,
GENERIC
*);
102
extern
int
SENSsetParm
(
GENERIC
*,
GENERIC
*,
int
,
IFvalue
*);
103
#else
104
extern
int
SENSan
();
105
extern
int
SENSaskQuest
();
106
extern
int
SENSparse
();
107
extern
int
SENSsetParm
();
108
#endif
109
110
111
#endif
/* DEFS */
112
st_devsenlist::first
ModSenList * first
Definition:
sensdefs.h:78
st_paramsenlist::next
ParamSenList * next
Definition:
sensdefs.h:64
st_devsenlist::dev_no
int dev_no
Definition:
sensdefs.h:77
sSENSint::dIdYr
double * dIdYr
Definition:
sensdefs.h:19
st_output::pos
int pos
Definition:
sensdefs.h:56
sSENSint::dY
SMPmatrix * dY
Definition:
sensdefs.h:18
SENSsetParm
int SENSsetParm()
sSENSint::size
int size
Definition:
sensdefs.h:20
sCKTnode
Definition:
cktdefs.h:30
SENSAN::SENSdefPert
double SENSdefPert
Definition:
sensdefs.h:45
sACprms
Definition:
analysis.h:59
st_output::type
int type
Definition:
sensdefs.h:55
SENSAN::SENSoutSrcDev
GENERIC * SENSoutSrcDev
Definition:
sensdefs.h:42
SENSAN::SENSoutName
char * SENSoutName
Definition:
sensdefs.h:43
sSENSint::o_values
double * o_values
Definition:
sensdefs.h:22
st_nodes
Definition:
sensdefs.h:59
sSENSint::dIdYi
double * dIdYi
Definition:
sensdefs.h:19
SENSAN
Definition:
sensdefs.h:32
SENSAN::JOBnextJob
JOB * JOBnextJob
Definition:
sensdefs.h:34
sJOB
Definition:
cktdefs.h:23
SENSaskQuest
int SENSaskQuest()
SENSan
int SENSan()
IFuid
GENERIC * IFuid
Definition:
ifsim.h:72
st_devsenlist::next
DevSenList * next
Definition:
sensdefs.h:76
analysis.h
sSENSint::dIi
double * dIi
Definition:
sensdefs.h:19
st_devsenlist
Definition:
sensdefs.h:75
st_paramsenlist::param_no
int param_no
Definition:
sensdefs.h:65
SENSAN::SENSoutPos
CKTnode * SENSoutPos
Definition:
sensdefs.h:39
sIFcomplex
Definition:
ifsim.h:225
SENSAN::first
DevSenList * first
Definition:
sensdefs.h:37
SENSAN::SENSplot
GENERIC * SENSplot
Definition:
sensdefs.h:47
st_modsenlist
Definition:
sensdefs.h:69
st_modsenlist::next
ModSenList * next
Definition:
sensdefs.h:70
st_nodes::pos
int pos
Definition:
sensdefs.h:60
st_output
Definition:
sensdefs.h:54
st_modsenlist::first
ParamSenList * first
Definition:
sensdefs.h:72
SENSparse
int SENSparse()
uIFvalue
Definition:
ifsim.h:231
sSENSint::o_cvalues
IFcomplex * o_cvalues
Definition:
sensdefs.h:21
st_paramsenlist::tol
double tol
Definition:
sensdefs.h:66
SENSAN::SENSoutNeg
CKTnode * SENSoutNeg
Definition:
sensdefs.h:40
st_modsenlist::mod_no
int mod_no
Definition:
sensdefs.h:71
SENSAN::JOBname
char * JOBname
Definition:
sensdefs.h:35
SENSAN::SENSoutSrc
IFuid SENSoutSrc
Definition:
sensdefs.h:41
sSENSint::dIr
double * dIr
Definition:
sensdefs.h:19
SENSAN::SENSdefTol
double SENSdefTol
Definition:
sensdefs.h:44
SENSAN::JOBtype
int JOBtype
Definition:
sensdefs.h:33
sSENSint
Definition:
sensdefs.h:17
SMPmatrix
#define SMPmatrix
Definition:
smpdefs.h:11
sDCTprms
Definition:
analysis.h:26
st_paramsenlist
Definition:
sensdefs.h:63
GENERIC
char GENERIC
Definition:
ifsim.h:27
src
include
sensdefs.h
Generated by
1.8.11