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.

200<br />

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

C<br />

C === Type and dimension statements ===================<br />

C<br />

C<br />

C --- External variable definitions -------------------<br />

C<br />

INTEGER ID<br />

DOUBLE PRECISION TIME<br />

DOUBLE PRECISION PAR( * )<br />

INTEGER NPAR<br />

LOGICAL IFLAG<br />

DOUBLE PRECISION RESULT<br />

C<br />

C ID Identifier of calling SENSOR statement<br />

C TIME Current time<br />

C PAR Array of passed statement parameters<br />

C NPAR Number of passed parameters<br />

C IFLAG Initialization pass flag<br />

C RESULT Scalar value returned <strong>to</strong> ADAMS<br />

C<br />

C --- Local variable definitions ----------------------<br />

C<br />

...<br />

C<br />

C === Executable code =================================<br />

C<br />

C --- Assign parameter values <strong>to</strong> readable variable names<br />

C<br />

...<br />

C IF( IFLAG ) THEN<br />

C<br />

C --- Subroutine initialization -----------<br />

C<br />

...<br />

C<br />

ENDIF<br />

C<br />

C --- Compute the result<br />

C<br />

C Your algorithm<br />

C<br />

...<br />

C<br />

C --- Assign the return value<br />

C<br />

RESULT = ...<br />

C<br />

RETURN<br />

END<br />

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

typedef void adams_c_SEVSUB(const struct s<strong>Adams</strong>Sensor* sensor, double<br />

TIME, int IFLAG, double* OUTPUT);

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

Saved successfully!

Ooh no, something went wrong!