Skip to content
Snippets Groups Projects

Documentation/tank design documentation

Merged s-roscher requested to merge documentation/tank_design_documentation into develop
14 files
+ 3804
130
Compare changes
  • Side-by-side
  • Inline
Files
14
+ 289
0
# Getting started
This section will guide you through the necessary steps to get the _tank\_design_ module up and running. It contains information on tool requirements and design parameters.
- [Design method selection](#design-method-selection) - How to set the design method?
- [Aircraft exchange file](#aircraft-exchange-file) - Get information on necessary parameters from the _acXML_.
- [Tank design configuration](#configuring-tank-design-parameters-in-the-aircraft-exchange-file) - Learn about parameters used to set the tank configuration.
- [Module configuration file](#module-configuration-file) - Dive into tank design specific parameters.
- [Additional requirements](#additional-requirements) - Is anything else necessary to get the module running?
- [Next steps](#next-steps) - How to proceed?
@note It is assumed that you have the `UNICADO package` installed including the executables and UNICADO libraries.
Generally, we use two files to set or configure modules in UNICADO:
- The aircraft exchange file (or _acXML_) includes
- data related inputs (e.g., required energy, component design data) and
- data related outputs (e.g., tank positions).
- The module configuration file `tank_design_conf.xml` (also _configXML_) includes
- control settings (e.g., enable/disable generating plots) and
- program settings (e.g., information on buffers).
In the following sections you will find more information on how to configure these files to suit your needs.
## Design method selection {#design-method-selection}
The calculation method is automatically chosen based on the following data from the aircraft exchange and module configuration file:
Parameter | File | Example <sup>*</sup> |
:--------------------|---------------|:----------------------|
Configuration type | _acXML_ | tube_and_wing |
Calculation fidelity | _configXML_ | empirical |
Method name | _configXML_ | tank_design_tu_berlin |
Energy carrier type | _acXML_ | kerosene |
<sup>*</sup> This example defines a generic short and medium range tube-and-wing aircraft.
Thus, it must be ensured that this data is available. More information on required data can be found in the following sections.
## Aircraft exchange file requirements {#aircraft-exchange-file}
To single execute the _tank\_design_ module, we need an _acXML_ file that already contains the output data from the following tools:
- _wing\_design_
- _empennage\_design_
- _fuselage\_design_
- _mission\_analysis_ - _tank\_design_ execution also possible without mission analysis data (an assumption is made to calculate mission energy amount)
The following data should then be available in the _acXML_:
1. Requirements and specifications
- Design specification
- Configuration information: Configuration type, tank definition ([see below](#configuring-tank-design-parameters-in-the-aircraft-exchange-file))
- Energy carrier(s)
- Requirements
- Top level aircraft requirements: Range (req. for design mission only)
2. Analysis
- Mission energy (req. for design mission only): Consumed energy, energy carrier ID
3. Component design: Geometrical data of
- Fuselage
- Wing
- Empennage
@note When the UNICADO workflow is executed the tool is run automatically. In this case, all the required data should be available anyway.
## Configuring tank design parameters in the aircraft exchange file {#configuring-tank-design-parameters-in-the-aircraft-exchange-file}
The desired tank configuration is defined by the user in the aircraft exchange file. The information can be found in the `aircraft_exchange_file/requirements_and_specifications/design_specification/configuration/tank_definition` block.
### The ID `tank_element`
Each tank is configured in the _acXML_ as one element (ID element) with the following parameters:
- `energy_carrier_ID`: ID of energy carrier to obtain which fuel is to be stored in the tanks.
- `location`: Aircraft component where the tank is located (valid options depend on the energy carrier).
- `position`: Position at the desired location (valid options depend on location and energy carrier).
- `energy_share`: Share of this tanks energy in relation to required mission energy (of same energy carrier). Only relevant for liquid hydrogen tanks. Not used for the calculation of kerosene tanks. **Should therefore equal `0.0` for kerosene tanks.**
The following sections give an overview on valid tank configurations for [kerosene](#kerosene-driven) and [liquid hydrogen](#lh2-driven) driven aircraft configurations.
### Kerosene driven aircraft configurations {#kerosene-driven}
For a valid tank configuration, you must first define each tank entity by setting the parameters of the ID element. You must specify a correct parameter combination of tank position and location _for each ID element_.
Subsequently, you must define a valid overall tank configuration for the aircraft. In other words, the _combination of the individual ID elements_ must be valid.
The following sections will guide you through the process.
#### Valid tank location and tank position combinations
For aircraft configurations with a kinked wing, the "wing tank configuration" consist of an inner and outer tank on each side of the aircraft and a wing center tank by default. This corresponds to numbers 1-5 in the following table that provides an overview on possible _tank location_ and _tank position_ combinations. Furthermore, there is the option to design a trim tank and an additional center tank.
| No. | Location | Position | Note |
| --- | --------------------- | ------------|------|
| 1 | Wing | Center | |
| 2 | Wing | Inner left | |
| 3 | Wing | Outer left | No outer tanks available for single trapezoidal wing, only valid for kinked wing. |
| 4 | Wing | Inner right | |
| 5 | Wing | Outer right | No outer tanks available for single trapezoidal wing, only valid for kinked wing. |
| 6 | Horizontal stabilizer | Total | Also referred to as 'trim tank'. |
| 7 | Fuselage | Center | Also referred to as 'additional center tank'. |
For example, to define a valid combination for the wing center tank, set the following parameters for the ID element `ID="0"`:
- `energy_carrier_ID` to `0` (it is assumed that `0` equals kerosene)
- `location` to `wing`
- `position` to `center`
- `energy_share` equals `0.0`
Furthermore, give it a clear `description` tag, for example `wing center tank`.
To define more tanks, continue by subsequently defining those parameters for the ID elements with the `ID="1"`, `ID="2"`, and so on. Please ensure to always keep an eye on valid tank configurations described in the next sections.
#### Possible tank configurations: Aircraft with kinked wing
The following table provides an overview on possible tank configurations. As can be seen, the "wing tank configuration" also corresponds to the minimum tank configuration `wing_all_tanks` that is similar to a tank configuration that can be found at a common medium range aircraft. The maximum number of tanks is 7. This means that the last ID element should have the `ID="6"`.
| Tanks 1-5 | Tank 6 | Tank 7 | Configuration name |
| ---------- | ----------------------------- | ----------------------------- | ---------------------------------------- |
| Wing | - | - | wing_all_tanks |
| Wing | Horizontal stabilizer - Total | - | wing_with_trim_tank |
| Wing | Fuselage - Center | - | wing_with_additional_center_tank |
| Wing | Horizontal stabilizer - Total | Fuselage - Center | wing_with_additional_center_and_trim_tank|
| Wing | Fuselage - Center | Horizontal stabilizer - Total | wing_with_additional_center_and_trim_tank|
Note: "Wing" always refers to either the combinations 1 to 5 of the table in the previous section ("wing tank configuration").
#### Possible tank configurations: Aircraft with singe trapezoidal wing
The following table provides an overview on possible tank configurations. As can be seen, the "wing tank configuration" also corresponds to the minimum tank configuration `wing_all_tanks`. The maximum number of tanks is 5. This means that the last ID element should have the `ID="4"`.
| Tanks 1-3 | Tank 4 | Tank 5 | Configuration name |
| ---------- | ----------------------------- | ----------------------------- | ---------------------------------------- |
| Wing | - | - | wing_all_tanks |
| Wing | Horizontal stabilizer - Total | - | wing_with_trim_tank |
| Wing | Fuselage - Center | - | wing_with_additional_center_tank |
| Wing | Horizontal stabilizer - Total | Fuselage - Center | wing_with_additional_center_and_trim_tank|
| Wing | Fuselage - Center | Horizontal stabilizer - Total | wing_with_additional_center_and_trim_tank|
Note: "Wing" always refers to the combinations 1, 2, and 4 of the table in the previous section ("wing tank configuration").
#### Example: Minimum tank configuration
The following `tank_definition` code block snippet shows how to configure a standard "wing tank configuration" for an aircraft with a kinked wing that is similar to the one of a common commercial medium range aircraft.
```xml
<tank_definition description="Energy tanks information">
<tank ID="0" description="Inner left wing tank">
<energy_carrier_ID description="see energy carrier specification node">
<value>0</value>
<unit>1</unit>
<lower_boundary>0</lower_boundary>
<upper_boundary>5</upper_boundary>
</energy_carrier_ID>
<location description="Component where the tank is located: fuselage, wing, horizontal_stabilizer">
<value>wing</value>
</location>
<position description="Position of tank in location: tailcone, rear, front, top, bottom, center, inner_left, outer_left, inner_right, outer_right, total">
<value>inner_left</value>
</position>
<energy_share description="Share of this tanks energy in relation to required mission energy (of same energy carrier). Only relevant for liquid hydrogen tanks. Equals 0.0 for kerosene tanks.">
<value>0.0</value>
<unit>1</unit>
<lower_boundary>0.0</lower_boundary>
<upper_boundary>1.0</upper_boundary>
</energy_share>
</tank>
<tank ID="1" description="Outer left wing tank">
<energy_carrier_ID description="see energy carrier specification node">
<value>0</value>
<unit>1</unit>
<lower_boundary>0</lower_boundary>
<upper_boundary>5</upper_boundary>
</energy_carrier_ID>
<location description="Component where the tank is located: fuselage, wing, horizontal_stabilizer">
<value>wing</value>
</location>
<position description="Position of tank in location: tailcone, rear, front, top, bottom, center, inner_left, outer_left, inner_right, outer_right, total">
<value>outer_left</value>
</position>
<energy_share description="Share of this tanks energy in relation to required mission energy (of same energy carrier). Only relevant for liquid hydrogen tanks. Equals 0.0 for kerosene tanks.">
<value>0.0</value>
<unit>1</unit>
<lower_boundary>0.0</lower_boundary>
<upper_boundary>1.0</upper_boundary>
</energy_share>
</tank>
<tank ID="2" description="Inner right wing tank">
<energy_carrier_ID description="see energy carrier specification node">
<value>0</value>
<unit>1</unit>
<lower_boundary>0</lower_boundary>
<upper_boundary>5</upper_boundary>
</energy_carrier_ID>
<location description="Component where the tank is located: fuselage, wing, horizontal_stabilizer">
<value>wing</value>
</location>
<position description="Position of tank in location: tailcone, rear, front, top, bottom, center, inner_left, outer_left, inner_right, outer_right, total">
<value>inner_right</value>
</position>
<energy_share description="Share of this tanks energy in relation to required mission energy (of same energy carrier). Only relevant for liquid hydrogen tanks. Equals 0.0 for kerosene tanks.">
<value>0.0</value>
<unit>1</unit>
<lower_boundary>0.0</lower_boundary>
<upper_boundary>1.0</upper_boundary>
</energy_share>
</tank>
<tank ID="3" description="Outer right wing tank">
<energy_carrier_ID description="see energy carrier specification node">
<value>0</value>
<unit>1</unit>
<lower_boundary>0</lower_boundary>
<upper_boundary>5</upper_boundary>
</energy_carrier_ID>
<location description="Component where the tank is located: fuselage, wing, horizontal_stabilizer">
<value>wing</value>
</location>
<position description="Position of tank in location: tailcone, rear, front, top, bottom, center, inner_left, outer_left, inner_right, outer_right, total">
<value>outer_right</value>
</position>
<energy_share description="Share of this tanks energy in relation to required mission energy (of same energy carrier). Only relevant for liquid hydrogen tanks. Equals 0.0 for kerosene tanks.">
<value>0.0</value>
<unit>1</unit>
<lower_boundary>0.0</lower_boundary>
<upper_boundary>1.0</upper_boundary>
</energy_share>
</tank>
<tank ID="4" description="Wing center tank">
<energy_carrier_ID description="see energy carrier specification node">
<value>0</value>
<unit>1</unit>
<lower_boundary>0</lower_boundary>
<upper_boundary>5</upper_boundary>
</energy_carrier_ID>
<location description="Component where the tank is located: fuselage, wing, horizontal_stabilizer">
<value>wing</value>
</location>
<position description="Position of tank in location: tailcone, rear, front, top, bottom, center, inner_left, outer_left, inner_right, outer_right, total">
<value>center</value>
</position>
<energy_share description="Share of this tanks energy in relation to required mission energy (of same energy carrier). Only relevant for liquid hydrogen tanks. Equals 0.0 for kerosene tanks.">
<value>0.0</value>
<unit>1</unit>
<lower_boundary>0.0</lower_boundary>
<upper_boundary>1.0</upper_boundary>
</energy_share>
</tank>
</tank_definition>
```
<br>
@note For aircraft with a single trapezoidal wing, please delete the `Outer left tank` and `Outer right tank` elements and adjust the other tank IDs accordingly.
### Liquid hydrogen driven aircraft configurations {#lh2-driven}
tbd. \emoji construction
## Module configuration file {#module-configuration-file}
The _configXML_ is structured into two blocks: the control and program settings.
The control settings are standardized in UNICADO and will not be described in detail here. But to get started, you have to change at least
- the `aircraft_exchange_file_name` and `aircraft_exchange_file_directory` to your respective settings,
- the `console_output` at least to `mode_1`, and
- the `plot_output` to false (or define `inkscape_path` and `gnuplot_path`).
@note If the tool is executed via the workflow, those settings are set by the workflow settings.
The program settings are structured like this (descriptions can be found in the `tank_design_conf.xml`):
```plaintext
Program Settings
|- Configuration (ID="tube_and_wing")
| |- Fidelity name
| |- Method name
| |- Fidelity (ID="empirical")
| | |- Tank design tu berlin
| | | |- General
| | | | |- Mass technology factor
| | | |- Specific
| | | | |- Kerosene tank design parameter
| | | | | |- Obelisk calculation method
| | | | | |- A/D factor
| | | | | |- Factor volume usable
| | | | | |- Temperature expansion allowance
| | | | | |- Buffer inner tank segment
| | | | | |- Buffer outer tank segment
| | | | | |- Buffer center tank segment
| | | | |- Liquid hydrogen tank design parameter
| | | | | |- End cap type
| | | | | |- Internal pressure
| | | | | |- Insulation type
| | | | | |- Insulation material
| | | | | |- Insulation thickness
| | | | | |- Insulation density
| | | | | |- Material wall
| | | | | |- Density wall
| | | | | |- Wall thickness calculation method
| | | | | |- Mass baffle
| | | | | |- Mass pumps
| | | | |- Miscellaneous
| | | | | |- Factor usable diameter
| | | | | |- Factor volume allowance
```
## Additional requirements {#additional-requirements}
There is no additional data required at the moment.
## Next steps {#next-steps}
The next step is to [run the _tank\_design_ module](run_your_first_tank_design.md).
\ No newline at end of file
Loading