BODY_MASS_PROPERTY

The BODY_MASS_PROPERTY utility subroutine accepts specifiers for either a single part or the entire Adams model and returns to the caller the mass properties (mass, center of mass and inertia tensor) for that part or model.

Use

Called By

Any of a REQSUB, SENSUB, SEVSUB or CONSUB.

Prerequisite

None

Calling Sequence

CALL BODY_MASS_PROPERTY (type, id, cm, mass, ip)

Input Arguments

 
type
A character variable that specifies the type of modeling element for which the mass properties are requested. The valid options are one of "Part", "Point_Mass", "Flex_Body" or "Model". The input is case-insensitive but abbreviations are not permitted.
id
An integer variable that specifies the ID of the element of the type specified for which the mass properties are requested. If the type is "Model" then this input is ignored. For all other types this is required.

Output Arguments

 
cm
A double-precision array of length 3 containing the center of mass of the requested modeling element expressed in GCS.
mass
A double-precision variable containing the mass of the requested modeling element.
ip
A double-precision array of length 6 containing the 6 independent components of in the inertia tensor for requested modeling element. (Ixx, Iyy, Izz, Ixy, Ixz, Iyz) These inertia terms are expressed about the elements center of mass and are oriented in GCS.
 
Caution:  
The BODY_MASS_PROPERTY utility subroutine provides access to state-dependent information to the user-written subroutines. However, since this information is expected to be used only for monitoring and control purposes and not to affect the dynamics, no functional dependencies are registered. Consequently, this utility subroutine can only be called from the user-written subroutines that cannot add functional dependencies - REQSUB, SENSUB, SEVSUB and CONSUB.