Skip to content

Conversation

@jkirk5
Copy link
Contributor

@jkirk5 jkirk5 commented Dec 19, 2025

Summary

Updates mass reporting for FLOPS-based mass to conform to SAWE RP-8 standard.
Some mass variables have been renamed to comply with the standard, and the FLOPS-based mass summation component was reworked to group masses appropriately.

Generative AI was used to write a new test that checks matching between hierarchy variable names and string representation (test_var_structure.py). The Cursor IDE was used, which does not expose which specific models it uses. Manual review and minor tweaks were done by hand.

Related Issues

Backwards incompatibilities

Renamed variables:
Aircraft.CrewPayload.NON_FLIGHT_CREW_MASS -> Aircraft.CrewPayload.CABIN_CREW_MASS
Aircraft.CrewPayload.NON_FLIGHT_CREW_MASS_SCALER -> Aircraft.CrewPayload.CABIN_CREW_MASS_SCALER
Aircraft.CrewPayload.PASSENGER_MASS -> Aircraft.CrewPayload.PASSENGER_MASS_TOTAL
Aircraft.CrewPayload.PASSENGER_MASS_WITH_BAGS -> Aircraft.CrewPayload.MASS_PER_PASSENGER_WITH_BAGS
Aircraft.Controls.TOTAL_MASS -> Aircraft.Controls.MASS
Aircraft.Design.SYSTEMS_EQUIP_MASS -> Aircraft.Design.SYSTEMS_AND_EQUIPMENT_MASS
Aircraft.Design.SYSTEMS_EQUIP_MASS_BASE -> Aircraft.Design.SYSTEMS_AND_EQUIPMENT_MASS_BASE
Aircraft.Wing.ASPECT_RATIO_REF -> Aircraft.Wing.ASPECT_RATIO_REFERENCE
Aircraft.Wing.THICKNESS_TO_CHORD_REF -> Aircraft.Wing.THICKNESS_TO_CHORD_REFERENCE

New Dependencies

None


outputs.set_val(Aircraft.LandingGear.MAIN_GEAR_MASS, 0.85 * 5778.0, 'lbm')
outputs.set_val(Aircraft.LandingGear.NOSE_GEAR_MASS, 0.15 * 5778.0, 'lbm')
outputs.set_val(Aircraft.LandingGear.TOTAL_MASS, 4911.3 + 866.7, 'lbm')
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's just make this the 5778.0 from the above 2 lines....

Aircraft.Design.TOUCHDOWN_MASS,
],
)
self.declare_partials(
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is a problem here if we override one of the gear masses, but let Aviary compute the other (I know, an odd corner case, but it is possible). In that case, the total will be wrong. To overcome this, best to implement the total as a separate component.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants