70 lines
2.4 KiB
C
70 lines
2.4 KiB
C
/**********
|
|
Copyright 1990 Regents of the University of California. All rights reserved.
|
|
**********/
|
|
/*
|
|
* SENdefs.h - structures for sensitivity package
|
|
*/
|
|
|
|
#ifndef SENSTRUCTS
|
|
#define SENSTRUCTS
|
|
|
|
|
|
#include "smpdefs.h"
|
|
#include "jobdefs.h"
|
|
|
|
typedef struct {
|
|
int JOBtype;
|
|
JOB *JOBnextJob; /* pointer to next thing to do */
|
|
char *JOBname; /* name of this job */
|
|
|
|
int SENnumVal; /* length of the next two arrays */
|
|
char **SENdevices; /* names of the devices to do sensetivity analysis of */
|
|
char **SENparmNames;/* parameters of the above devices to do analysis wrt */
|
|
|
|
unsigned int SENinitflag :1 ; /* indicates whether sensitivity structure*/
|
|
/* is to be initialized */
|
|
unsigned int SENicflag :1 ; /* indicates whether initial conditions
|
|
are specified for transient analysis */
|
|
|
|
unsigned int SENstatus :1; /* indicates whether perturbation
|
|
is in progress*/
|
|
unsigned int SENacpertflag :1; /* indictes whether the perturbation
|
|
is to be carried out in ac analysis
|
|
(is done only for first frequency )*/
|
|
int SENmode; /* indicates the type of sensitivity analysis
|
|
reqired: DC, Transient, or AC */
|
|
int SENparms; /* # of design parameters */
|
|
double SENpertfac; /* perturbation factor (for active
|
|
devices )*/
|
|
double **SEN_Sap; /* sensitivity matrix (DC and transient )*/
|
|
double **SEN_RHS; /* RHS matrix (real part)
|
|
contains the sensitivity values after SMPsolve*/
|
|
double **SEN_iRHS; /* RHS matrix (imag part )
|
|
contains the sensitivity values after SMPsolve*/
|
|
int SENsize; /* stores the number of rows of each of the above
|
|
three matrices */
|
|
SMPmatrix *SEN_Jacmat; /* sensitivity Jacobian matrix, */
|
|
double *SEN_parmVal; /* table containing values of design parameters */
|
|
char **SEN_parmName; /* table containing names of design parameters */
|
|
|
|
} SENstruct;
|
|
|
|
/* SENmode */
|
|
#define DCSEN 0x1
|
|
#define TRANSEN 0x2
|
|
#define ACSEN 0x4
|
|
|
|
#define NORMAL 0
|
|
#define PERTURBATION 1
|
|
#define OFF 0
|
|
#define ON 1
|
|
|
|
|
|
#define SEN_AC 1
|
|
#define SEN_DC 2
|
|
#define SEN_TRAN 3
|
|
#define SEN_DEV 4
|
|
#define SEN_PARM 5
|
|
|
|
#endif /* SENSTRUCTS */
|