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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

184<br />

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

C<br />

LOADVEC(I+6) = -TWO * DSQRT(GSTF * GMAS) * QDOT(I)<br />

END DO<br />

RETURN<br />

END<br />

C Style - Pro<strong>to</strong>type<br />

typedef void adams_c_MFOSUB(const struct s<strong>Adams</strong>Mforce* mforce, double<br />

TIME, int DFLAG, int IFLAG, const double* MODLOADS, int NMODES, int<br />

NCASES, double* SCALE, int* CASE, double* LOADVEC);<br />

/*<br />

* MFORCE<br />

*/<br />

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

{<br />

struct s<strong>Adams</strong>FlexBody FlexBody;<br />

int ID;<br />

int NPAR;<br />

const double* PAR;<br />

int JFLOAT;<br />

};<br />

MOTSUB<br />

The MOTSUB evaluation subroutine computes the joint displacement, velocity, or acceleration for a<br />

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

use a function expression in the MOTION statement.<br />

Use<br />

Corresponding Statement<br />

Calling Sequence<br />

SUBROUTINE MOTSUB(id, time, par, npar, iord, iflag,value)

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

Saved successfully!

Ooh no, something went wrong!