OpenMDAO / Aviary

NASA's aircraft analysis, design, and optimization tool
https://openmdao.github.io/Aviary/
Other
134 stars 59 forks source link

Inconsistent scaling of masses in GASP calculations #390

Open jkirk5 opened 3 months ago

jkirk5 commented 3 months ago

Desired capability or behavior.

from @erikdolsonva: Summary of Issue GASP-based mass calculations are inconsistent in how the user modifies the calculation. Sometimes one inputs the coefficient to use in the equation, and sometimes both the coefficient and a scaling factor are used at the same time. Not all existing scaling factors are used.

Description Most GASP-based mass calculations are set up to accept mass equation coefficients as input. Some of them are also set up to accept scaling factors on the calculated masses. In many cases the coefficients and scaling factors are both applied to the calculation at the same time.

Some GASP mass calculations only use the input coefficient and don't use the existing mass scaler at all (e.g. fuselage mass); the fuselage mass scaler is only used for the FLOPS-based mass calculations. This will surely cause confusion. Sometimes the mass coefficients are accepted as input but then are overridden internally, so they don't even affect the calculation.

It seems like the control mass coefficients should be constants within the component, and the mass scaler should be the input that modifies the calculation. This would be simplify the user input without taking away the user's ability to modify the calculation, and would be consistent with how the FLOPS-based mass calculations are done. Barring that, all of the scaling factors should be added to the GASP calculations in cases where they are not currently being used.

Example For example, cockpit control mass is calculated as: cockpit_control_mass = ( inputs[Aircraft.Controls.COCKPIT_CONTROL_MASS_SCALER] * inputs[Aircraft.Design.COCKPIT_CONTROL_MASS_COEFFICIENT] * (gross_mass_initial / 1000.0) ** 0.41 ) So both inputs control the calculation.

Is your feature request related to a problem? Please describe.

No response

Associated Bug Report

No response