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-12must 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*JtandJt = Jgvalues. 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.