Useful load update#1122
Conversation
…b example test of total mass summation
…ponents for clarity
| outputs[Aircraft.CrewPayload.CARGO_MASS] = wing_cargo + misc_cargo | ||
|
|
||
|
|
||
| class PaxPayloadMass(om.ExplicitComponent): |
There was a problem hiding this comment.
It looks like the PaxPayloadMass component is missing derivatives.
There was a problem hiding this comment.
Do I need derivatives if the component only uses 'options' which can't change and it doesn't have any 'inputs'? Do I need to declare that all the derivatives are '0'? Not sure on the best practice here...
jkirk5
left a comment
There was a problem hiding this comment.
I'm trying to think of a better name than operating items - I feel like "items" is a little awkward but I haven't come up with a satisfactory name yet
| outputs[Mission.ZERO_FUEL_MASS] = operating_mass + payload_mass | ||
|
|
||
|
|
||
| class UsefulLoadMass(om.ExplicitComponent): |
There was a problem hiding this comment.
I would prefer a mass build-up of the UsefulLoadMass components (summing masses up) rather than a diff of different masses. It makes it easier to identify what components actually make up the category, and we've been burned by doing these mass diff style computations before so they make me nervous it could get messed up in unexpected ways
There was a problem hiding this comment.
Ok - most of the definitions I've found online actually define it like this - it's the difference in mass between your max gross and what it rolls off the production line as (empty mass). If we would rather build it up then it'll be:
operating_items + payload (for design mission) + fuel (for design mission). Assuming your design mission will be at max gross weight.
There was a problem hiding this comment.
Oh interesting, that's an official definition! We could keep it as-is then, hopefully we don't encounter any problems with the formulation like we did for fuel mass calcs
| historical_name={'GASP': None, 'FLOPS': None}, | ||
| units='lbm', | ||
| desc='Useful load of the aircraft calculated as ' | ||
| 'Aircraft.Design.GROSS_MASS - Aircraft.Design.EMPTY_MASS', |
There was a problem hiding this comment.
I think this description would be more useful to explain what is in the mass category rather than the diff equation
There was a problem hiding this comment.
As a pilot you think of it less as a combination of things that add up, and more as an available 'capacity' that the aircraft has to carry mass. I guess it's a bit like having a fuel tank capacity separately from how much fuel you actually put in the tank. The useful_load could be any combination of operating_items, payload and fuel that results in the aircraft at max gross mass.
Summary
This PR corrects the naming of Mission.USEFUL_LOAD to Mission.OPERATING_ITEMS_MASS, and adds a new component to calculate the correct value of Aircraft.Design.USEFUL_LOAD as Aircraft.Design.GROSS_MASS - Aircraft.Design.EMPTY_MASS.
A flops based test and gasp based test have been modified to ensure that this calculation is checked. It is a very simple calculation so is not added to every possible test.
Whilst looking through the mass calculations I also split the passenger payload mass calculations out of the flops based cargomass() component into their own component for clarity. There is no change in functionality here.
Related Issues
Backwards incompatibilities
None
New Dependencies
None