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.

Input Arguments<br />

<strong>Welcome</strong> <strong>to</strong> <strong>Adams</strong>/<strong>Solver</strong> <strong>Subroutines</strong><br />

id An integer variable that provides the identifier of the REQUEST<br />

statement requesting information from REQSUB. From the identifier,<br />

<strong>Adams</strong>/<strong>Solver</strong> au<strong>to</strong>matically knows other information (such as the par<br />

argument) available in the corresponding statement.<br />

iflag A logical variable that <strong>Adams</strong>/<strong>Solver</strong> sets <strong>to</strong> true for the initial call <strong>to</strong><br />

REQSUB. In general, you do not need <strong>to</strong> test this flag in the subroutine.<br />

But if there are computations that need <strong>to</strong> be evaluated once at the<br />

beginning of the simulation, you can test the iflag argument. In this case,<br />

if the iflag argument is true, the subroutine should evaluate the<br />

computations.<br />

npar An integer variable that indicates the number of constants specified in<br />

the USER parenthetical list. The primary purpose of npar is <strong>to</strong> provide<br />

REQSUB with the number of values s<strong>to</strong>red in the par array.<br />

par A double-precision array of constants taken in order from the USER<br />

parenthetical list of the REQUEST statement.<br />

time A double-precision variable through which <strong>Adams</strong>/<strong>Solver</strong> conveys the<br />

current simulation time.<br />

Output Argument<br />

result A double-precision array of eight values that contains the values you<br />

calculate in the REQSUB. <strong>Adams</strong>/<strong>Solver</strong> sends all the values and the<br />

current time <strong>to</strong> the tabular output file.<br />

Extended Definition<br />

If the dataset contains an OUTPUT statement with the REQSAVE<br />

argument, <strong>Adams</strong>/<strong>Solver</strong> s<strong>to</strong>res values two through four, and six through<br />

eight in the request file for subsequent plotting in the postprocessor (see<br />

the C++ OUTPUT command or the FORTRAN OUTPUT command).<br />

<strong>Adams</strong>/<strong>Solver</strong> does not s<strong>to</strong>re columns one and five in the request file.<br />

These columns usually contain translational and rotational magnitude<br />

values for the request. If the dataset contains a RESULTS statement<br />

without the NODATASTRUCTURES argument, <strong>Adams</strong>/<strong>Solver</strong> s<strong>to</strong>res<br />

all eight values in the results file for subsequent postprocessing. If fewer<br />

than eight values are used in the result array, <strong>Adams</strong>/<strong>Solver</strong> sets the<br />

remaining values <strong>to</strong> zero.<br />

The REQUEST and MREQUEST statements are usually adequate for outputting displacement, velocity,<br />

acceleration, or force data between two markers in the system. But if you want <strong>to</strong> output other quantities,<br />

191

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

Saved successfully!

Ooh no, something went wrong!