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.

108<br />

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

Output Arguments<br />

Extended Definition<br />

Note: <strong>Adams</strong>/<strong>Solver</strong> (FORTRAN) - The NFORCE function is<br />

available only with SYSFNC from the REQSUB and SENSUB<br />

user written subroutines is not accessible from other user written<br />

subroutines.<br />

<strong>Adams</strong>/<strong>Solver</strong> (C++) - does not have support for the NFORCE<br />

measure from the SYSFNC utility subroutine. Instead, you<br />

should use the FX, FY, and FZ, measures. These can either be<br />

used <strong>to</strong> measure the sum of forces on a single marker, or the sum<br />

of forces transmitted by all connec<strong>to</strong>rs connecting a pair of<br />

markers.<br />

Unfortunately, these measures can not directly compute the force<br />

transmitted between two I markers on an NFORCE and<br />

something similar <strong>to</strong> FX(I1,J)-FX(I2,J) may be required.<br />

ipar An integer array containing the parameter list for fncnam. It consists of any<br />

valid list of parameters used in the associated <strong>Adams</strong>/<strong>Solver</strong> function, just<br />

as they would appear in a dataset FUNCTION = expression.<br />

nsize An integer variable specifying the number of values in ipar.<br />

errflg A logical variable that returns true if an error has occurred during your call<br />

<strong>to</strong> SYSFNC.<br />

state A double-precision variable returned by SYSFNC. State is zero when the<br />

iflag argument is set <strong>to</strong> true in the user-written subroutine, or when input<br />

errors are found.<br />

The SYSFNC subroutine provides system-state values (such as displacement and velocity) <strong>to</strong> user<br />

subroutines, and defines and s<strong>to</strong>res the <strong>Adams</strong>/<strong>Solver</strong> state variables on which the system state is<br />

dependent.<br />

SYSFNC returns one system state or s<strong>to</strong>res the dependency of the user value on the system state. You use<br />

the system state values <strong>to</strong> compute the instantaneous value of a user-defined function: <strong>Adams</strong>/<strong>Solver</strong> uses<br />

the dependency on state variables <strong>to</strong> create the matrix of partial derivatives (Jacobian) of the system state<br />

with respect <strong>to</strong> the <strong>Adams</strong>/<strong>Solver</strong> state variables. <strong>Adams</strong>/<strong>Solver</strong> uses the Jacobian matrix in several<br />

analysis computations.<br />

If you need <strong>to</strong> access several system states corresponding <strong>to</strong> one modeling element, you should use<br />

SYSARY (see SYSARY).<br />

SYSFNC requires that you specify system-state information as requested from <strong>Adams</strong>/<strong>Solver</strong> as a series<br />

of function call specifications. This is almost as if you were using the function expression capabilities <strong>to</strong>

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

Saved successfully!

Ooh no, something went wrong!