Skip to content

Conversation

@xjjiang
Copy link
Contributor

@xjjiang xjjiang commented Sep 27, 2025

Summary

This PR implements the mass subsystem for BWB aircraft. The BWB components are:

  • BWBFurnishingsGroupMass (vs. TransportFurnishingsGroupMass)
  • BWBFuselageMass (vs. TransportFuselageMass)
  • BWBAftBodyMass (new for BWB)
  • BWBWingMiscMass (vs. WingMiscMass)
  • BWBDetailedWingBendingFact (vs. DetailedWingBendingFact)

Unit testings against these new components are added. All the results are compared to FLOPS Fortran code runs.

There are two features to know:

  1. In a previous PR (BWB components in Geometry/flops_based subsysterms #872) we created the fuselage layout algorithms (simple layout and detailed layout). Other scenarios can be added if needed.
  2. For BWB, there are always detailed wings. They are either given (BWBUpdateDetailedWingDist) or created (BWBComputeDetailedWingDist). This means that number of input wing stations is always positive. If input wing stations are not provided, FLOPS adds three points. We call this case the simple wing case. Otherwise, we say that we have a detailed wing case.

So, theoretically, we should have four test cases: simple layout + simple wing, simple layout + detailed wing, detailed layout + simple wing, and detailed layout + detailed wing. In this PR, however, we only have two test cases: simple layout + simple wing (see models/aircraft/blended_wing_body/bwb_simple_FLOPS_data.py), and detailed layout + detailed wing (see models/aircraft/blended_wing_body/bwb_detailed_FLOPS_data.py).

In anti_icing.py and starter.py, nacelle average diameter (Aircraft.Nacelle.AVG_DIAMETER) is scaled by thrust ratio defined by:

Aircraft.Engine.SCALED_SLS_THRUST / Aircraft.Engine.REFERENCE_SLS_THRUST

in order to match with FLOPS runs. In the current test cases, this ratio is always 1.

Related Issues

  • Resolves #

Backwards incompatibilities

None

New Dependencies

None

xjjiang and others added 30 commits September 23, 2025 12:04
…ASS, set 'WTIN.NPT' for FLOPS for Aircraft.CrewPayload.Design.NUM_TOURIST_CLASS. In this way, fortran_to_aviary can read in NPF and NPT.
@xjjiang xjjiang marked this pull request as ready for review November 18, 2025 22:31
@xjjiang xjjiang changed the title [Draft] BWB components in mass/flops_based subsysterms BWB components in mass/flops_based subsysterms Nov 19, 2025
@xjjiang
Copy link
Contributor Author

xjjiang commented Nov 19, 2025

By now, unit testing on FLOPS based mass for detailed layout and detailed wing is done.

@xjjiang
Copy link
Contributor Author

xjjiang commented Nov 20, 2025

Convert NETAW to Aircraft.Wing.NUM_INPUT_STATION_DIST. We don't need it in general but need it for BWB.

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