test_reactionWheelMassProperties

Validate optional wheel mass accounting against fully coupled and lumped-hub models.

test_reactionWheelMassProperties.test_all_models_require_valid_spin_inertia(model, spin_inertia)[source]

Spin inertia is consumed by every model even when constant wheel mass properties are in the hub.

test_reactionWheelMassProperties.test_automatic_mass_properties_inertia_tolerance(field, relative_offset, accepted, transverse_inertia, model, validation_path)[source]

Exercise the documented relative inertia tolerance at two scales and through both validation paths.

The exact thin-disk boundary and deviations within the relative tolerance of 1e-12 must pass. Larger spin-inertia excesses and transverse-inertia mismatches of either sign must raise an error.

test_reactionWheelMassProperties.test_automatic_mass_properties_validate_configuration(field, value, expected_error, validation_path)[source]

Reject invalid opt-in geometry during state registration even without task scheduling.

test_reactionWheelMassProperties.test_default_mass_accounting_is_preserved(model)[source]

Verify the unset option matches explicit false and fully coupled accounting is unconditional.

test_reactionWheelMassProperties.test_factory_wheels_support_automatic_mass_properties(wheel_type, max_momentum, model)[source]

Accept built-in wheels at the thin-disk boundary and include their nominal mass and inertia.

Both state registration and reset must accept the factory’s exact Js = 2*Jt and Jt = Jg values. A wheel at the body origin with its spin axis along body x has a diagonal nominal inertia.

test_reactionWheelMassProperties.test_fully_coupled_dynamic_imbalance_conserves_energy_and_momentum()[source]

Verify free-motion conservation with equal transverse moments and a nonzero product of inertia.

test_reactionWheelMassProperties.test_fully_coupled_mass_properties_validate_configuration(field, value, expected_error, validation_path)[source]

Validate coupled wheel inputs before division or inertia use, with the new option left disabled.

test_reactionWheelMassProperties.test_legacy_simplified_models_do_not_require_unused_mass_properties(model)[source]

Legacy wheel configurations can omit the constant mass and transverse inertia kept in the hub.

test_reactionWheelMassProperties.test_mass_properties_match_fully_coupled(models, driven)[source]

Compare mass properties and trajectories to zero-imbalance fully coupled and lumped-hub systems.

Offset wheel locations and a nonzero hub center exercise parallel-axis and first-moment terms. Free motion must conserve energy and momentum; internal motor torque must conserve momentum. The mixed case verifies that the option never double-counts fully coupled wheel properties.