From 9171c9449e3c737a214201011d49350a043da355 Mon Sep 17 00:00:00 2001 From: tobi <tobias.weckenmann@tum.de> Date: Mon, 10 Feb 2025 13:09:01 +0100 Subject: [PATCH 1/2] Adds underline for MT --- docs/documentation/libraries/engine/index.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/documentation/libraries/engine/index.md b/docs/documentation/libraries/engine/index.md index dd608df..c694d61 100644 --- a/docs/documentation/libraries/engine/index.md +++ b/docs/documentation/libraries/engine/index.md @@ -2,10 +2,10 @@ The `_engine_` library serves as the core analysis tool for engine data within UNICADO. It provides access to all possible engine data for every tool in UNICADO. The data can be fixed for an engine or at a given operating point. The data output depends on various factors such as the scale factor and power and bleed offtakes from the engine. The primary objective is to establish a **single source of truth** for engine data retrieval. -## Role in `propulsionDesign` -Within the `propulsionDesign` module: +## Role in `propulsion_design` +Within the `propulsion_design` module: - Engines for the aircraft are selected, and their respective files are copied to the engine directory. -- The **scale factor** is calculated, determining how the engine's thrust is adjusted to meet aircraft requirements (refer to the `propulsionDesign` documentation). +- The **scale factor** is calculated, determining how the engine's thrust is adjusted to meet aircraft requirements (refer to the `propulsion_design` documentation). The `engine` library applies this scale factor, ensuring that aircraft parameters can be accessed without further manual adjustments. @@ -18,7 +18,7 @@ The engine data is stored in: - **Altitude** - **Engine power setting** -> **Note:** The data in these files is **raw and unscaled**. The only modification made in `propulsionDesign` is to the fuel flow CSV file, reflecting user-defined efficiency improvements. +> **Note:** The data in these files is **raw and unscaled**. The only modification made in `propulsion_design` is to the fuel flow CSV file, reflecting user-defined efficiency improvements. ## Functionality of the `engine` Library The library is responsible for: @@ -30,7 +30,7 @@ The library is responsible for: ### Factors Affecting Engine Performance The `engine` library incorporates the following factors, either by default or as optional parameters: -- **Scale factor** from `propulsionDesign` +- **Scale factor** from `propulsion_design` - **Temperature variations** (non-ISA standard conditions) - **Engine derating** - **Bleed air extraction** (for turbofan engines) -- GitLab From 8ece6cb33cadc941d558fdc641ed5319f173f83c Mon Sep 17 00:00:00 2001 From: tobi <tobias.weckenmann@tum.de> Date: Tue, 11 Feb 2025 08:18:17 +0100 Subject: [PATCH 2/2] For workshop --- .../sizing/propulsion_design/overview.md | 107 +++++++++++++++++- 1 file changed, 104 insertions(+), 3 deletions(-) diff --git a/docs/documentation/sizing/propulsion_design/overview.md b/docs/documentation/sizing/propulsion_design/overview.md index c42c484..58c4741 100644 --- a/docs/documentation/sizing/propulsion_design/overview.md +++ b/docs/documentation/sizing/propulsion_design/overview.md @@ -1,5 +1,53 @@ # Overview {#mainpage} -The propulsion_design tool provides the engine data and the engine integration on the aircraft. The steps are shown in the following figure: +The propulsion_design tool provides the engine data and the engine integration on the aircraft. + +As a first step, the user inputs must be specified. This is done in the aircraftXML file in the following way: + +- `propulsor ID`: Information for the specific propulsor + - `Powertrain`: Way the power is generated from the source. Selector: turbo + - `Type`: Type of main thrust generator. Selector: fan + - `energy_carrier ID`: See energy carrier specification node + - `thrust_share`: Share of this thrust in relation to required aircraft thrust + - `position`: Propulsor position (arrangement order acc to ID order) + - `parent_component`: Position on component. Selector: wing / fuselage / empennage + - `x`: X-position (aircraft coordinate system). Selector: front / back + - `y`: Y-position (aircraft coordinate system). Selector: left / right + - `z`: Z-position (aircraft coordinate system). Selector: over / mid / under / in + + +Further inputs can be specified in the propulsion design configuration file: + +> The following settings are specified in the `aircraftXML` file: +> +> ```xml +> <control_settings>...</control_settings> <!-- Paths and settings --> +> <program_settings> <!-- Settings specific to propulsion design --> +> <method> <!-- Choose the implementation method of each design domain --> +> <engine_designer>Empirical</engine_designer> <!-- Selector: Empirical / Rubber --> +> </method> +> <path_engine_database>...</path_engine_database> <!-- Path to the database with existing engine decks --> +> <technology_factors> <!-- Improve or decrease performance --> +> <engine_mass>...</engine_mass> +> <nacelle_mass>...</nacelle_mass> +> <pylon_mass>...</pylon_mass> +> <engine_efficiency>...</engine_efficiency> +> </technology_factors> +> <repositioning>...</repositioning> <!-- Shifting the engine center position --> +> +> <propulsion ID="..."> <!-- ID specific settings --> +> <Empirical_Settings>...</Empirical_Settings> +> <Rubber_Method_Settings> +> <engine_model_name>...</engine_model_name> +> </Rubber_Method_Settings> +> <nacelle_geometry>...</nacelle_geometry> +> <pylon_geometry>...</pylon_geometry> +> </propulsion> +> </program_settings> +> ``` + +With the settings the propulsion design calculation can be started. + +The main steps of the methodology are shown in the following figure:  @@ -15,10 +63,50 @@ With this the engines are designed one by one with the following approach: The outputs are the engine xml file and the different deck values as csv files. They are saved in thr projects directory. Further output is saved in the aircraft xml because other tools of the UNICADO tool chain need it. An example of this output is shown below. -{html: width=1200} +> The following settings define propulsion-specific parameters in the `aircraftXML` file: +> +> ```xml +> <propulsion ID="0"> <!-- Define the propulsion system --> +> <model>...</model> <!-- Name of the engine --> +> <position> <!-- Position in global coordinates --> +> <x>...</x> +> <y>...</y> +> <z>...</z> +> </position> +> <mass_properties> <!-- Mass properties --> +> <mass>...</mass> +> <cog>...</cog> <!-- Center of gravity --> +> <inertia>...</inertia> +> </mass_properties> +> <SLST>...</SLST> <!-- Static sea-level thrust --> +> <scale_factor>...</scale_factor> <!-- Scale factor for this engine --> +> <bucket_point> <!-- Performance adjustments --> +> <thrust>...</thrust> +> <tsfc>...</tsfc> <!-- Thrust specific fuel consumption --> +> </bucket_point> +> <pylon>...</pylon> <!-- Pylon specific data --> +> <nacelle>...</nacelle> <!-- Nacelle details --> +> </propulsion> +> ``` + Readout of the engine data can and should only be done using the engine library! +The engine data is provided in two formats. The engine xml file and the csv files that contain the engine deck. +The engine xml has values that are constant for a given engine: +> The following structure defines the engine design conditions in the `EngineDataFile`: +> +> ```xml +> <EngineDataFile> +> <EngineDesignCondition Desc="Flight Condition for creating the bucket curve"> +> <flightAltitude Desc="Flight altitude for bucket curve" Unit="ft">35000</flightAltitude> +> <flightMachNumber Desc="Mach number for bucket curve" Unit="-">0.78</flightMachNumber> +> <thrust Desc="Thrust at design point, ISA (value from source)" Unit="kN">19</thrust> +> <SLST Desc="Sea level static thrust measured at SL, Mach 0, ISA (value from source)" Unit="kN">120.43</SLST> +> <MCT Desc="Maximum continuous thrust measured at SL, Mach 0, ISA (value from source)" Unit="kN">117.18</MCT> +> </EngineDesignCondition> +> </EngineDataFile> +> ``` The csv files contain engine data that depends on the operating point. The operating point is defined as - Flight Mach number @@ -30,4 +118,17 @@ An example is shown in the following figure.  The data is readout by the engine library which has an efficient parser for the deck values using a linear interpolation between two existing deck values. Penalties, like shaft power offtake or bleed air offtake, are applied using the engine library. The scale factor is applied according to the exact scaling mechanism for the value needed. -The description of the engine library can be found [here](../../../libraries/engine/). +The detailed description of the engine library can be found [here](../../../libraries/engine/). + +## Scaling Principle + +The underlying principle is the scaling of the mass flow with constant velocities. The following scaling is done using the scale factor (SF): + +- **Thrust:** Linear +- **Fuel Flow:** Linear → TSFC remains constant +- **Diameter:** \( SF^{0.5} \) +- **Weight:** \( SF^{1.1} \) +- **Length:** \( SF^{0.4} \) +- **LTO Fuel Flow:** Linear +- **LTO Emissions:** Constant + -- GitLab