Repository navigation
Conversation
…rep_geom to avoid feedback loops
…ns as inputs as well as outputs
… nacelle variables that are calculated by both FLOPS and GASP pre mission geometry subsystems
…LE_FACTOR, this variable is now an input to the Nacelle calculations replacing the scaled and reference SLS thrust variables
…bles, and add useful geometry outputs to the geometry report
|
One request, can you add a new function to the preprocessor? Something like "deprecations" called right at the start of Example: warnings.warn(
"Aircraft.Nacelle.AVG_DIAMETER has been changed to Aircraft.Nacelle.REFERENCE_AVG_DIAMETER. To avoid overriding scaled nacelle dimensions update your input file to the new variable name.",
category=DeprecationWarning,
) # Added v1.0.2The comment is so we can easily check how old the warning is and if it is ready to remove. |
…to scale nacelle independently from calculating characteristic lengths
I have added this function, and in testing it I realized that all old files would outright fail as fineness rato and characteristic lengths would calculate to 0 even though the user is overriding the nacelle values. To fix this i created a new nacelle prelim component that just scales the nacelle dimensions, and simplified the characteristic lengths to just use the scaled geometry. |
…les are scaling correctly
|
2 tests were failing in the merge queue: Traceback (most recent call last): ..../aviary/validation_cases/benchmark_tests/test_bench_throttle_allocation.py:ThrottleAllocationTestcase.test_multiengine_static [cruise_allocation] ... FAIL (00:00:31.79, 965 MB) I have manually run and checked these problems. The Throttle allocation tests have 4 engines, and use the nacelle mass component. As a result of the changes to correct nacelle scaling the nacelle mass is now estimated to be 300lbs lighter than previously. This results in a roughly 1200lb difference in structural mass for the aircraft: Nacelle mass in premission - these are essentially directly proportional to engine scale factor now: Structural mass totals: These mass totals significantly affect the overall gross mass of the aircraft so the tests have been updated with new throttle allocation values. See attached for prob.model.list_vars() for main and issue1281 branch for the two failing tests showing why the tests yield different values. |



Summary
Aviary does not currently calculate or output scaled Nacelle dimensions (which would be different to the user specified inputs when Engine.SCALE_FACTOR != 1.0)
Aerodynamic predictions remain unchanged as wetted area and characteristic length account for engine scaling already. Fineness ratio is unaffected as both numerator and denominator are scaled by same factor.
Mass subsystem will now give different (but correct) results - Nacelle geometry impacts:
Other subsystems affected by nacelle geometry already had engine scale factor as an input - this input has now been removed since it is handled in the geometry subsystem:
Any FLOPS based models using the propulsion/propeller models will be affected - previously an unscaled diameter was used for calculating the installation losses.
2 new variables are created:
Aircraft.Nacelle.REFERENCE_AVG_DIAMETER
Aircraft.Nacelle.REFERENCE_AVG_LENGTH
The existing variables are converted to outputs from the flops based premission geometry subsystem.
Aircraft.Nacelle.AVG_DIAMETER
Aircraft.Nacelle.AVG_LENGTH
GASP-based modelling is unaffected by these changes.
Related Issues
Backwards incompatibilities
All FLOPS based Aviary models will need to be updated to use the new 'reference' nacelle dimensions as inputs.
Answers will change if Engine.SCALE_FACTOR != 1.0 and Landing gear lengths are calculated by Aviary. In these cases the overall mass of the landing gear, and therefore the aircraft will be corrected.
All tests are passing so apparently we have no examples in the repo where we scale the engine and don't overwrite the landing gear calculations.
AI Usage
Disclose any AI usage in this PR, including models used and files affected.