From f4c896cae2cfb886c1a3330e11ead5cb0adc6ee5 Mon Sep 17 00:00:00 2001 From: gPauls-TUHH <gerrit.pauls@tuhh.de> Date: Thu, 27 Feb 2025 13:09:44 +0100 Subject: [PATCH] Mission analysis tidy up --- .../bibtex/mission_analysis_literature.bib | 19 +++++++++++++++++ .../mission_analysis/getting_started.md | 21 ++++++++++--------- .../analysis/mission_analysis/methods.md | 2 ++ .../mission_analysis/mission_steps.md | 17 +++++++-------- mkdocs.yml | 1 + 5 files changed, 41 insertions(+), 19 deletions(-) create mode 100644 docs/assets/bibtex/mission_analysis_literature.bib diff --git a/docs/assets/bibtex/mission_analysis_literature.bib b/docs/assets/bibtex/mission_analysis_literature.bib new file mode 100644 index 0000000..faf1490 --- /dev/null +++ b/docs/assets/bibtex/mission_analysis_literature.bib @@ -0,0 +1,19 @@ +%%% BOOKS %%% + +%%% JOURNAL ARTICLES %%% + +@article{Air02, + author = {S.A.S., Airbus}, + title = {Getting to Grips with Aircraft Performance}, + journal = {Airbus Customer Services}, + year = {2002}, + pages = {155-156} +} + +%%% CONFERENCE PAPERS %%% + +%%% THESES %%% + +%%% TECHNICAL REPORTS %%% + +%%% OTHER %%% diff --git a/docs/documentation/analysis/mission_analysis/getting_started.md b/docs/documentation/analysis/mission_analysis/getting_started.md index db54daa..dfb3d21 100644 --- a/docs/documentation/analysis/mission_analysis/getting_started.md +++ b/docs/documentation/analysis/mission_analysis/getting_started.md @@ -13,12 +13,12 @@ To be able to execute **mission_analysis**, you have to provide the following da - `engine_data` (engine maps) !!! note - Those files are generated by [Create Mission XML](../../sizing/create_mission_xml/index.md), [Aerodynamic Assessment](../../sizing/aerodynamic_analysis/index.md) and [Propulsion Design](../../sizing/propulsion_design/index.md) and shall not be edited manually! + Those files are generated by [Create Mission XML](../../sizing/create_mission_xml/index.md), [Aerodynamic Assessment](../../analysis/aerodynamic_analysis/index.md) and [Propulsion Design](../../sizing/propulsion_design/index.md) and shall not be edited manually! To do so, you can either use: - a pre-calculated aircraft configuration (e.g. from the `Aircraft References` repository), -- an aircraft project in which the [Sizing Tools](../../sizing/sizing.md) and the [Aerodynamic Assessment](../../sizing/aerodynamic_analysis/index.md) tool have already been executed at least once. +- an aircraft project in which the [Sizing Tools](../../sizing/index.md) and the [Aerodynamic Assessment](../../analysis/aerodynamic_analysis/index.md) tool have already been executed at least once. Once your aircraft is ready, you only need to follow these steps to start your calculation: @@ -35,7 +35,7 @@ If everything is set up correctly, your first `design_mission` should land a few !!! note If you are using a pre-calculated aircraft, **mission_analysis** will generate its results using parameters from the previous calculations. Therefore, the behavior for an initial execution can not be observed. Continue with [Further Iterations](#further_iterations). -Due to many dependencies between the [sizing tools](../../sizing/sizing.md), performance data and component parameters are quite off within the first iteration. This can lead to an unstable aircraft configuration that will fail the `design_mission` (e.g. wrongly sized engines can't climb to the initial cruise altitude). To avoid this, the [low-fidelity 3D Standard Mission](methods.md/#lowfi) (`design_mission::breguet`) is triggered if no previous mission calculation can be found. Unlike the ordinary mission calculation, this sub-version of the `design_mission` finishes after a rough estimation of the fuel consumption. Once this method is finished, the `masses_cg_inertia/maximum_takeoff_mass/mass_properties/mass` node is updated and this block is written into the [Aircraft Exchange File](#acxml): +Due to many dependencies between the [sizing tools](../../sizing/index.md), performance data and component parameters are quite off within the first iteration. This can lead to an unstable aircraft configuration that will fail the `design_mission` (e.g. wrongly sized engines can't climb to the initial cruise altitude). To avoid this, the [low-fidelity 3D Standard Mission](methods.md/#lowfi) (`design_mission::breguet`) is triggered if no previous mission calculation can be found. Unlike the ordinary mission calculation, this sub-version of the `design_mission` finishes after a rough estimation of the fuel consumption. Once this method is finished, the `masses_cg_inertia/maximum_takeoff_mass/mass_properties/mass` node is updated and this block is written into the [Aircraft Exchange File](#acxml): ```xml <mission description="Mission data" tool_level="0"> @@ -435,12 +435,6 @@ Program Settings │ │ ├── Holding Altitude │ │ ├── Use Economical Speed ├── Increase Engine Rating During Climb - ├── Polar Switch Mission Point - │ ├── Polar Switch Selector - │ ├── Absolute Range Flown - │ ├── Relative Range Flown - │ ├── Absolute Time Passed - │ ├── Relative Time Passed ├── Glideslope Interception Distance ├── Use Breguet Estimation In Cruise ├── Iterate Top Of descend Mass @@ -464,7 +458,14 @@ Program Settings ├── Way Increment ├── Specific Air Range Check Increment ``` - +<!-- +Config nodes which have no effect, because aero does not differentiate between CD and CD alternative + ├── Polar Switch Mission Point + │ ├── Polar Switch Selector + │ ├── Absolute Range Flown + │ ├── Relative Range Flown + │ ├── Absolute Time Passed + │ ├── Relative Time Passed --> In the `program_specific` node, you can specify if the specific air range (SAR) is plotted (when plotting is turned on in the `control_Settings`). In addition, you can allow the tool to exceed the maximum takeoff mass and fuel mass during the design loop. This can be useful when operating at extreme conditions where fluctuation above the maxima shall not trigger an exit immediately. diff --git a/docs/documentation/analysis/mission_analysis/methods.md b/docs/documentation/analysis/mission_analysis/methods.md index 1d1c41b..6bf67e8 100644 --- a/docs/documentation/analysis/mission_analysis/methods.md +++ b/docs/documentation/analysis/mission_analysis/methods.md @@ -104,6 +104,8 @@ _FAR_FLAG_ consists of: - Contingency Fuel: - $10\,\%$ of the total required time from brake release (departure airport) to landing (destination airport) at mean cruise fuel consumption +!!! danger "Important" + Only Extra Fuel and Contingency Fuel can be modified by the user. The others are pre-defined by the chosen procedure. ## 4D Trajectory (High Fidelity) {#highfi} diff --git a/docs/documentation/analysis/mission_analysis/mission_steps.md b/docs/documentation/analysis/mission_analysis/mission_steps.md index ee75836..48b8098 100644 --- a/docs/documentation/analysis/mission_analysis/mission_steps.md +++ b/docs/documentation/analysis/mission_analysis/mission_steps.md @@ -106,9 +106,8 @@ The altitude at which this occurs is called transition altitude $h_{transition}$ <p align="center"> <img src="../figures/transition_altitude.png" alt="Transition Altitude" width="85%"> - <br> - <em>Climb profile at given IAS/MACH Law [1].</em> </p> +*Climb profile at given IAS/MACH Law*[\@Air02]. $$ h_{transition} = \frac{T_{h=0}}{\frac{\delta T}{\delta h}} \cdot \left(\frac{p_{transition}}{p_{h=0}}\right)^{\frac{R\cdot \frac{\delta T}{\delta h}}{g} - 1} @@ -141,7 +140,7 @@ $$ !!! note - To determine the cruise range for the [Cruise](#cruise-cruise_subparagraph) segment, the index on the `mission profile` where the aircraft reaches the `initial_cruise_altitude` is saved for later usage. + To determine the cruise range for the [Cruise](#cruise_subparagraph) segment, the index on the `mission profile` where the aircraft reaches the `initial_cruise_altitude` is saved for later usage. ### Climb to Ceiling {#climb_to_ceiling_subparagraph} @@ -156,12 +155,12 @@ This mode should only be used for `requirements missions`! This mode contains fo ### Change Flight Level {#change_flight_level_constant_ROC_subparagraph} -The `change_flight_level_constant_ROC` segment adapts the [Climb](climb_subparagraph) mode using a minimum rate of climb from the `mission file`. Typically, this option is used in cruise steps to initiate a flight level change. Due to the fact that the cruise altitude usually is way above the transition altitude, the Mach Number is kept constant during this altitude change (see [Climb to Cruise](#climb_to_cruise_subparagraph) for the explanation). +The `change_flight_level_constant_ROC` segment adapts the [Climb](#climb_subparagraph) mode using a minimum rate of climb from the `mission file`. Typically, this option is used in cruise steps to initiate a flight level change. Due to the fact that the cruise altitude usually is way above the transition altitude, the Mach Number is kept constant during this altitude change (see [Climb to Cruise](#climb_to_cruise_subparagraph) for the explanation). ### Cruise {#cruise_subparagraph} -In this segment, the aircraft is moved forward with constant speed and $ROC = 0\,\frac{ft}{min}$. How long this `cruise` segment shall last, is determined by the `relative_segment_length` (`mission_file`) which will be applied to the estimated cruise range. To get the latter, the descend range $R_{descend}$ is estimated using the [Breguet method](#lowfi). Then, the afore saved mission segment for reaching `initial_cruise_altitude` (ICA) provides $R_{ICA}$ leading us to the current `cruise` segment's range: +In this segment, the aircraft is moved forward with constant speed and $ROC = 0\,\frac{ft}{min}$. How long this `cruise` segment shall last, is determined by the `relative_segment_length` (`mission_file`) which will be applied to the estimated cruise range. To get the latter, the descend range $R_{descend}$ is estimated using the [Breguet method](methods.md/#lowfi). Then, the afore saved mission segment for reaching `initial_cruise_altitude` (ICA) provides $R_{ICA}$ leading us to the current `cruise` segment's range: $$ R_{cruise} = R_{descend} - R_{ICA} @@ -179,7 +178,7 @@ Even though this mode is not used to climb, the `auto_select_optimum_flight_leve ### Descend to Approach {#descend_to_approach_subparagraph} -`descend_to_approach` is used to initiate a descend segment from the current cruise altitude towards approach $(10\,000\,ft)$. It uses the same functions the [Climb](#climb_subparagraph) mode does with the difference that its minimum rate of climb is set to $0\,\frac{ft}{min}$. Like in [Climb to Cruise](#climb-climb_subparagraph), the transition altitude $h_{transition}$ will presumably be crossed in this segment. Therefore, the aircraft first descends with a constant Mach number. When $h_{transition}$ is reached, it continues with a constant CAS climb. +`descend_to_approach` is used to initiate a descend segment from the current cruise altitude towards approach $(10\,000\,ft)$. It uses the same functions the [Climb](#climb_subparagraph) mode does with the difference that its minimum rate of climb is set to $0\,\frac{ft}{min}$. Like in [Climb to Cruise](#climb_subparagraph), the transition altitude $h_{transition}$ will presumably be crossed in this segment. Therefore, the aircraft first descends with a constant Mach number. When $h_{transition}$ is reached, it continues with a constant CAS climb. !!! note Since the calibrated airspeed won't further decrease below $h_{transition}$, the demanded velocity for the segment's end (segment's `calibrated_airspeed` node in the `mission file`) must be reached before that altitude. If this is not the case, the aircraft will be automatically decelerated by activating a [Change Speed](#change_speed_subparagraph) segment in between. @@ -187,10 +186,10 @@ Even though this mode is not used to climb, the `auto_select_optimum_flight_leve ### Descend {#descend_subparagraph} -This mode adapts [Climb](climb_subparagraph) with the difference that its minimum rate of climb is set to $0\,\frac{ft}{min}$ and a glide path angle $\gamma$ is read from the `mission file`. This comes in handy to meet ATC regulations for lower altitudes. Hence, `descend` should be used for approach steps below $10\,000\,ft$. +This mode adapts [Climb](#climb_subparagraph) with the difference that its minimum rate of climb is set to $0\,\frac{ft}{min}$ and a glide path angle $\gamma$ is read from the `mission file`. This comes in handy to meet ATC regulations for lower altitudes. Hence, `descend` should be used for approach steps below $10\,000\,ft$. !!! note - After the last descend segment, **mission_analysis** expects the aircraft to be at threshold crossing height ($50\,ft = 15.24\,m$). Otherwise, [Landing](#landing) might cause problems! + After the last descend segment, **mission_analysis** expects the aircraft to be at threshold crossing height ($50\,ft = 15.24\,m$). Otherwise, [Landing](#landing_subparagraph) might cause problems! ### Glide Slope Interception {#level_glide_slope_interception_subparagraph} @@ -210,7 +209,7 @@ $$ Like [Descend](#descend_subparagraph), the `landing` mode changes the altitude using a constant calibrated airspeed while maintaining a given glide path angle. After touchdown, the aircraft is decelerated to the dedicated taxi speed. Beside the aircraft's brakes, you can also turn on the `thrust_reverser` in the [Configuration File](getting_started.md/#config_file). This may shorten the needed runway length drastically, but you must be sure your engines/aircraft configuration is capable of this. -## Taxiing procedures +## Taxiing procedures {#taxiing} Unlike the other mission steps, taxi-out and taxi-in are defined in the overall `mission` block within the `mission file`. The taxi fuel consumption for both the origin and destination is determined based on the type of `taxiing_procedure` used. If electric taxiing is used, fuel is only needed for engine warm-up at the origin airport, while no fuel is allocated for taxiing at the destination. The warm-up fuel is calculated using the `engine_warmup_time` $t_{warm\textrm{-}up}$ time and fuelflow rate $\dot{m}_{warm\textrm{-}up}$ which is derived from the [Configuration File's](getting_started.md/#config_file) `fuel_flow_factor_taxiing` which is applied to the engine running in `idle`: diff --git a/mkdocs.yml b/mkdocs.yml index 98dd145..6bafaa2 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -174,6 +174,7 @@ plugins: variables: PROJECT_NAME: "mission_analysis" OUTPUT_DIR: "docs/api/mission_analysis" + BIBTEX_FILE: "docs/assets/bibtex/mission_analysis_literature.bib" src-dirs: ../aircraft-design/mission_analysis/src/ full-doc: true weight_and_balance_analysis: -- GitLab