fast-aircraft-design / FAST-OAD

FAST-OAD: An open source framework for rapid Overall Aircraft Design
GNU General Public License v3.0
47 stars 25 forks source link

Payload range component #471

Closed christophe-david closed 1 year ago

christophe-david commented 1 year ago

This PR adds a component for Payload-Range computation.

From a given mission definition, computes the following variables:

To be noted: range and duration variables are based on the first "route" defined in the mission.

The component has following options: Option Default Acceptable Values Acceptable Types Description
MFW_variable data:weight:aircraft:MFW N/A ['str'] Variable name for Maximum Fuel Weight.
MTOW_variable data:weight:aircraft:MTOW N/A ['str'] Variable name for Maximum TakeOff Weight.
OWE_variable data:weight:aircraft:OWE N/A ['str'] Variable name for Operating Weight - Empty.
assembled_jac_type csc ['csc', 'dense'] N/A Linear solver(s) in this group or implicit component, if using an assembled jacobian, will use this type.
grid_lhs_criterion center N/A ['str'] Criterion for the Latin Hypercube Sampling algorithm, as asked by pyDOE2.lhs.
grid_random_seed N/A N/A ['int'] Used as random state for initializing the Latin Hypercube Sampling algorithm for generating the inner grid.
min_block_fuel_ratio 0.3 N/A N/A Sets the minimum block fuel for inner grid points, as a ratio w.r.t. max possible fuel weight for the current payload.
min_payload_ratio 0.3 N/A N/A Sets the minimum payload for inner grid points, as a ratio w.r.t. max payload.
mission_file_path ::sizing_mission N/A ['str', 'MissionDefinition', 'MissionWrapper'] The path to file that defines the mission.
It can also begin with two colons "::" to use pre-defined missions:
- "::sizing_mission" : design mission for CeRAS-01
- "::sizing_breguet" : a simple mission with Breguet formula for cruise, and input coefficients for fuel reserve and fuel consumption during climb and descent
mission_name N/A N/A ['str'] The mission name. Required if mission file defines several missions.
nb_contour_points 4 N/A ['int'] If >4, additional points are used in the final "MFW slope" of the diagram contour.
nb_grid_points 0 N/A ['int'] If >0, the provided number of points inside the payload-range contour will be computed.
propulsion_id N/A ['str'] (mandatory) The identifier of the propulsion wrapper.
reference_area_variable data:geometry:wing:area N/A ['str'] Defines the name of the variable for providing aircraft reference surface area.
variable_prefix data:payload_range N/A ['str'] How auto-generated names of variables should begin.
codecov[bot] commented 1 year ago

Codecov Report

Merging #471 (aa248ec) into master (7fb9de6) will increase coverage by 0.54%. The diff coverage is 93.49%.

@@            Coverage Diff             @@
##           master     #471      +/-   ##
==========================================
+ Coverage   83.13%   83.67%   +0.54%     
==========================================
  Files         119      122       +3     
  Lines        5253     5520     +267     
  Branches      811      837      +26     
==========================================
+ Hits         4367     4619     +252     
- Misses        739      750      +11     
- Partials      147      151       +4     
Impacted Files Coverage Δ
src/fastoad/openmdao/variables/__init__.py 100.00% <ø> (ø)
...stoad/models/performances/mission/segments/base.py 90.04% <50.00%> (-1.63%) :arrow_down:
...models/performances/mission/segments/exceptions.py 50.00% <50.00%> (ø)
...sion_definition/mission_builder/mission_builder.py 87.83% <75.00%> (-1.56%) :arrow_down:
...s/performances/mission/openmdao/mission_wrapper.py 95.50% <80.00%> (-1.17%) :arrow_down:
...odels/performances/mission/openmdao/mission_run.py 85.84% <86.66%> (ø)
.../performances/mission/mission_definition/schema.py 97.36% <87.50%> (+0.26%) :arrow_up:
...n_definition/mission_builder/structure_builders.py 94.11% <91.66%> (+0.03%) :arrow_up:
src/fastoad/models/performances/mission/mission.py 94.73% <100.00%> (+0.21%) :arrow_up:
...ion_definition/mission_builder/input_definition.py 92.30% <100.00%> (+0.08%) :arrow_up:
... and 6 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.