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.

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

xmatrx A double-precision thirty-by-thirty array that returns <strong>to</strong> <strong>Adams</strong>/<strong>Solver</strong> the<br />

second derivatives of the constraint expression with respect <strong>to</strong> the<br />

principal axes variables. The second derivatives UCOSUB returns the<br />

value of idrsel(3):<br />

Extended Definition<br />

If idresel (3) is:<br />

xmatrx is:<br />

0<br />

No evaluation<br />

1<br />

xmatrx(m,n) =<br />

The letter q represents the variables, t stands for time, and F refers <strong>to</strong> the<br />

constraint equation. If any of the elements of xmatrx are symbolically<br />

zero, they need not be defined.<br />

The standard constraint statements are usually adequate for defining commonly occurring displacement<br />

constraints between marker pairs. For displacement constraint combinations not available through these<br />

statements or for constraints involving velocity variables, you should use the FUNCTION=USER()<br />

argument in the UCON statement, and write a UCOSUB <strong>to</strong> define the constraint. The constraints defined<br />

in the subroutine can incorporate velocity variables. You can select as many as thirty displacements<br />

and/or velocities of part principal axes <strong>to</strong> be the variables in the constraint relationship for a UCON<br />

statement. Each UCON statement removes one degree of freedom from the system.<br />

At every evaluation step, <strong>Adams</strong>/<strong>Solver</strong> evaluates UCOSUB <strong>to</strong> determine the value of the constraints.<br />

During the initialization of UCOSUB, the utility subroutine UCOVAR should be called <strong>to</strong> declare the<br />

variables used in the relationship. PART statement identifiers and type codes identify the variables. To<br />

preserve the generality of UCOSUB, the identifiers and the type codes can be passed through the<br />

parameter list of the UCON statement.<br />

For the formulation of constraints, you cannot access information with SYSARY or SYSFNC. You can,<br />

however, access information with AKISPL or CUBSPL (see AKISPL, CUBSPL, and UCOVAR). You<br />

must set up UCOSUB system dependencies using UCOVAR, and use system information from the q<br />

parameter only.<br />

For each system constraint, <strong>Adams</strong>/<strong>Solver</strong> formulates a governing constraint equation. For standard<br />

<strong>Adams</strong>/<strong>Solver</strong> constraint statements, symbolic partial derivatives of the constraint equation with respect<br />

221

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

Saved successfully!

Ooh no, something went wrong!