Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

sdynpy.signal_processing.sdynpy_massprops.rigid_body_shape_scaling

Signature

def sdynpy.signal_processing.sdynpy_massprops.rigid_body_shape_scaling(rbm_modes, trans_shapes, rot_shapes, center_of_rotation=None, return_mass_properties=False, rcond=None, symmetrize=True, check_rank=True)

Recover scaled/mass-normalized rigid-body shapes and optionally mass properties from a set of mass-normalized rigid-body modes and user-supplied pure rigid-body translation/rotation shapes.

Parameters

Returns

Notes

Let Phi = rbm_modes and B = [trans_shapes rot_shapes]. Since both span the rigid-body subspace, B = Phi A for some A. Using mass normalization Phi.T M Phi = I, the rigid-body generalized mass matrix is

G = B.T M B = A.T A

The mass properties are extracted from:

G = [[ m I,      -m [c]_x ],
     [ m [c]_x,   J_ref   ]]

where c is COM relative to the reference point used to define the rotation shapes, and J_ref is the inertia tensor about that same reference point.

Sign convention for c assumes the rotation shapes follow: u = omega x (x - O)