FGMassBalance

class jsbsim.FGMassBalance

Models weight, balance and moment of inertia information.

Maintains a vector of point masses. Sums the contribution of all, and provides this to FGPropagate. Loads the <mass_balance> section of the aircraft configuration file. There can be any number of <pointmasses>. Each can also have a shape which - if present - causes an associated moment of inertia to be calculated based on the shape. Note that a cylinder is solid, a tube is hollow, a ball is solid and a sphere is hollow.

The inertia tensor must be specified in the structural frame (x axis positive aft, y axis positive out of the right wing and z axis upward). The sign of the inertia cross products are optional by JSBSim. if negated_crossproduct_inertia == “true”, then define: ixy = -integral( x * y * dm ), ixz = -integral( x * z * dm ), iyz = -integral( y * z * dm ). else if negated_crossproduct_inertia == “false”, then define: ixy = integral( x * y * dm ), ixz = integral( x * z * dm ), iyz = integral( y * z * dm ). default is negated_crossproduct_inertia = “true”. We strongly recommend defining negated_crossproduct_inertia = “false”, which is consistent with the specifications in the field of flight dynamics.

Configuration File Format for <mass_balance> Section:

<mass_balance negated_crossproduct_inertia="true|false">
    <ixx unit="{SLUG*FT2 | KG*M2}"> {number} </ixx>
    <iyy unit="{SLUG*FT2 | KG*M2}"> {number} </iyy>
    <izz unit="{SLUG*FT2 | KG*M2}"> {number} </izz>
    <ixy unit="{SLUG*FT2 | KG*M2}"> {number} </ixy>
    <ixz unit="{SLUG*FT2 | KG*M2}"> {number} </ixz>
    <iyz unit="{SLUG*FT2 | KG*M2}"> {number} </iyz>
    <emptywt unit="{LBS | KG"> {number} </emptywt>
    <location name="CG" unit="{IN | FT | M}">
        <x> {number} </x>
        <y> {number} </y>
        <z> {number} </z>
    </location>
    [<pointmass name="{string}">
        <form shape="{tube | cylinder | sphere | ball}">
           <radius unit="{IN | FT | M}"> {number} </radius>
           <length unit="{IN | FT | M}"> {number} </length>
        </form> 
        <weight unit="{LBS | KG}"> {number} </weight>
        <location name="{string}" unit="{IN | FT | M}">
            <x> {number} </x>
            <y> {number} </y>
            <z> {number} </z>
        </location>
    </pointmass>
    ... other point masses ...]
</mass_balance>
get_J() ndarray

Returns the inertia matrix expressed in the body frame.

get_Jinv() ndarray

Returns the inverse of the inertia matrix expressed in the body frame.

get_xyz_cg() ndarray

Note

This feature is not yet documented.