The SUBTRACT_MASS_PROPERTY utility subroutine accepts the mass properties for two parts or sets of parts and returns the mass properties of the second set minus the mass properties of the first.
Use
Called By
Any user-written subroutine
Prerequisite
None
Calling Sequence
CALL SUBTRACT_MASS_PROPERTY (cm1, mass1, ip1, cm2, mass2, ip2)
Input Arguments
cm1 | A double-precision array of length 3 containing the center of mass of the first part or set of parts expressed in the GCS (Ground/Global Coordinate System). |
mass1 | A double-precision variable containing the mass of the first part or set of parts. |
ip1 | A double-precision array of length 6 giving the 6 independent terms in the inertia tensor for the first part or set of parts. (Ixx, Iyy, Izz, Ixy, Ixz, Iyz) These inertia terms much be computed about the center of mass of the part and oriented in GCS. |
cm2 | A double-precision array of length 3 containing the center of mass of the second part or set of parts expressed in the GCS. |
mass2 | A double-precision variable containing the mass of the second set. |
ip2 | A double-precision array of length 6 giving the 6 independent terms in the inertia tensor for the second part or set of parts. (Ixx, Iyy, Izz, Ixy, Ixz, Iyz) These inertia terms much be computed about the center of mass of the part and oriented in GCS. |
Output Arguments
cm2 | A double-precision array of length 3 containing the center of mass of the second system minus the first expressed in GCS. |
mass2 | A double-precision variable containing the mass of the second system minus the first. |
Ip2 | A double-precision array of length 6 containing the 6 independent components of in the inertia tensor for the second system minus the first. (Ixx, Iyy, Izz, Ixy, Ixz, Iyz) These inertia terms are expressed about the combined center of mass and are oriented in GCS. |
Extended Definition
Although not required, the SUBTRACT_MASS_PROPERTY utility subroutine is intended to be used with the BODY_MASS_PROPERTY utility subroutine.
If, for example, the aggregate mass properties of all of the elements of a large model were required, with the exception of just a few parts, the BODY_MASS_PROPERTY ("Model", … ) utility subroutine could be used to find the aggregate mass of the entire model and then BODY_MASS_PROPERTY and SUBTRACT_MASS_PROPERTY could be used to remove the contributions from the unwanted parts from the aggregate set.
Specifically, if the mass properties of both the sprung and the unsprung mass of a vehicle were required, the properties of the unsprung mass (assuming there are fewer unsprung parts than sprung parts) could be computed as described in the ADD_MASS_PROPERTY documentation, the mass properties of the entire system could be computed with a single call to BODY_MASS_PROPERTY using the 'Model' part specifier, and the sprung mass could then be obtained with a single call to SUBTRACT_MASS_PROPERTY where the unsprung mass properties would be subtracted from the model mass properties.
The SUBTRACT_MASS_PROPERTY utility subroutine simply calls the ADD_MASS_PROPERTY utility subroutine with the negative of the mass and inertia values.
The SUBTRACT_MASS_PROPERTY utility subroutine is very similar to ADD_MASS_PROPERTY utility subroutine and the documentation for ADD_MASS_PROPERTY should be referenced for examples.