02.04.2013 Views

Welcome to Adams/Solver Subroutines - Kxcad.net

Welcome to Adams/Solver Subroutines - Kxcad.net

Welcome to Adams/Solver Subroutines - Kxcad.net

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

178<br />

<strong>Adams</strong>/<strong>Solver</strong><br />

typedef void adams_c_GSEYX(const struct s<strong>Adams</strong>GSE* gse, double TIME,<br />

int IFLAG, int NSTATE, const double* STATES, int NINPUT, const double*<br />

INPUTS, int NOUTPUTS, double* DERIVS);<br />

typedef void STDCALL adams_f77_GSESUB(const int* ID, const double*<br />

TIME, const double* PAR, const int* NPAR, const int* DFLAG, const int*<br />

IFLAG, const int* NSTATE, const double* STATES, const int* NINPUT,<br />

const double* INPUTS, const int* NOUTPUT, double* STATED, double*<br />

OUTPUT);<br />

typedef void adams_c_GSEDERIV(const struct s<strong>Adams</strong>GSE* gse, double<br />

TIME, int DFLAG, int IFLAG, int, double*);<br />

typedef void adams_c_GSEOUTPUT(const struct s<strong>Adams</strong>GSE* gse, double<br />

TIME, int DFLAG, int IFLAG, int, double*);<br />

typedef void adams_c_GSEUPDATE(const struct s<strong>Adams</strong>GSE* gse, double<br />

TIME, int DFLAG, int IFLAG, int, double*);<br />

typedef void adams_c_GSESAMPLE(const struct s<strong>Adams</strong>GSE* gse, double<br />

TIME, int IFLAG, double* OUTPUT);<br />

typedef void adams_c_GSESETNS(int NS, int* ERR);<br />

typedef void adams_c_GSESETND(int ND, int* ERR);<br />

typedef void adams_c_GSESETIMPLICIT(int FLAG, int* ERR);<br />

typedef void adams_c_GSESETSTATICHOLD(int FLAG, int* ERR);<br />

typedef void adams_c_GSESETSAMPLEOFFSET(int UNTNUM, double* LOGERR);<br />

/*<br />

* GSE<br />

*/<br />

struct s<strong>Adams</strong>GSE<br />

{<br />

int ID;<br />

int NPAR;<br />

const double* PAR;<br />

int NI;<br />

int NO;<br />

int U;<br />

int Y;<br />

int NS;<br />

int X;<br />

int IC;<br />

int STATIC_HOLD;<br />

int IMPLICIT;<br />

int ND;<br />

int XD;<br />

int ICD;<br />

double SAMPLE_OFFSET;<br />

};<br />

MFOSUB<br />

MFOSUB is an evaluation subroutine that computes the modal force corresponding <strong>to</strong> an MFORCE<br />

statement (C++ or FORTRAN). MFOSUB is optional. You need it only if you don't want <strong>to</strong> use a function<br />

expression in the MFORCE statement, or if you need the added capabilities of the USER form of the<br />

MFORCE statement.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!