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.

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

GSEMAP_X, GSEMAP_XDOT, and GSEMAP_U register dependencies with respect <strong>to</strong> state, the time<br />

derivative of state (implicit GSE only) and input, respectively.<br />

If <strong>Adams</strong>/<strong>Solver</strong> (C++) detects calls <strong>to</strong> the GSEMAP utility subroutines during calls <strong>to</strong> GSE_DERIV or<br />

GSE_OUTPUT, when IFLAG is set, then the corresponding partial derivative is taken <strong>to</strong> be sparse.<br />

GSEMAP utility subroutine calls may be made for one or more of the families of partial derivaties. For<br />

example, if GSEMAP_X is called from GSE_DERIV, this particular partial derivative is taken <strong>to</strong> be<br />

sparse while the other families of partial derivatives, for example the partial derivative of GSE_DERIV<br />

with respect <strong>to</strong> U, is taken <strong>to</strong> be full.<br />

Multiple calls are made <strong>to</strong> GSEPAR utility subroutines, one per dependency. For example, a call<br />

GSEMAP_X(1,1) from GSE_OUTPUT indicates <strong>to</strong> <strong>Adams</strong>/<strong>Solver</strong> (C++) that the first output depends<br />

on the first state. The order of the calls <strong>to</strong> GSEMAP utility subroutines is significant because entries in<br />

the array subsequently passed <strong>to</strong> the corresponding GSEPAR utility subroutines is assumed <strong>to</strong> be in this<br />

order.<br />

Called By<br />

GSE_DERIV and GSE_OUTPUT<br />

Prerequisite<br />

None<br />

Calling Sequence<br />

CALL GSEMAP_X(I,J)<br />

CALL GSEMAP_XDOT(I,J)<br />

CALL GSEMAP_U(I,J)<br />

Input Arguments<br />

I Integer - the row index (the index of the state derivative or the output which<br />

has a functional dependency)<br />

J Integer - the column index (the index of the state or the input with respect <strong>to</strong><br />

which the functional dependency is being registered)<br />

Caution: Calls <strong>to</strong> GSEMAP_XDOT are only appropriate for GSE elements defined with the<br />

IMPLICIT attribute and should only be made from the GSE_DERIV user subroutine, not<br />

from GSE_OUTPUT.<br />

GSE_SET_IMPLICIT<br />

This subroutine is used <strong>to</strong> specify the implicit/explicit character of the equations governing the GSE.<br />

45

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

Saved successfully!

Ooh no, something went wrong!