Skip to content
Snippets Groups Projects
Commit c2fd4589 authored by Tobias Weckenmann's avatar Tobias Weckenmann
Browse files

Adds docu for engine and bugfixes for prop

parent e810a5eb
Branches
No related tags found
3 merge requests!76Draft: Updated Python code example,!73Initial open source version,!36Some updates for the docu
Pipeline #1608671 waiting for manual action
# Introduction {#mainpage}
PENIS
\ No newline at end of file
---
title: Libraries
summary: Overview of the libraries respository
authors:
- Sebastian Oberschwendtner
- Kristina Mazur
date: 2024-11-28
glightbox: false
---
As mentioned in the [build instructions](../get-involved/build/general.md), we have some external dependencies to:
- :simple-cplusplus: [Eigen3 :octicons-link-external-16:](https://eigen.tuxfamily.org/index.php?title=Main_Page){:target="_blank"}
- :simple-cplusplus: [Boost :octicons-link-external-16:](https://www.boost.org/){:target="_blank"}
- :simple-cplusplus: [CGAL :octicons-link-external-16:](https://www.cgal.org/){:target="_blank"}
- :simple-python: [pipenv :octicons-link-external-16:](https://pipenv.pypa.io/en/latest/){:target="_blank"} (not really a library, more a environment manager tool)
!!! note
Currently, only `aircraftGeometry2` is documented.
## aerodynamics
![Icon](site:assets/images/documentation/aerodynamics.svg){.overview-img align=left}
This library helps with interacting with polar data.
It has helper functions to extract and interpolate data of provided airfoil polars.
{.overview-item}
|Module Version|Language|License|Documentation|Dependencies|
|:---:|:---:|:---:|---|---|
|2.1.0|:simple-cplusplus: |GPLv3|-|-|
---
## aircraftGeometry2
![Icon](site:assets/images/documentation/aircraft-geometry.svg){.overview-img align=left}
This library is based on the older [aircraftGeometry](#aircraftgeometry) library and extends it to be more modular.
The modularity and flexibility is achieved by using the high performance [Computational Geometry Algorithms Library](https://www.cgal.org/) also known as **CGAL**.
{.overview-item}
|Module Version|Language|License|Documentation|Dependencies|
|:---:|:---:|:---:|---|---|
|2.1.0|:simple-cplusplus: |GPLv3|[Link](libraries/aircraftGeometry2/index.md)| [Eigen3](https://eigen.tuxfamily.org/index.php?title=Main_Page), [CGAL](https://www.cgal.org/)|
---
## airfoils
![Icon](site:assets/images/documentation/airfoil.svg){.overview-img align=left}
The **airfoils** libary provides a database for different airfoils.
{.overview-item}
|Module Version|Language|License|Documentation|Dependencies|
|:---:|:---:|:---:|---|---|
|1.0.0|:simple-cplusplus: |GPLv3|-|-|
---
## aixml
![Icon](site:assets/images/documentation/aixml.svg){.overview-img align=left}
The **aixml** library is the central library which handles the XML files and data access.
It uses a simple XML library, namely *tinyxml*, to read and parse the XML files.
{.overview-item}
|Module Version|Language|License|Documentation|Dependencies|
|:---:|:---:|:---:|---|---|
|2.1.0|:simple-cplusplus: |GPLv3|-|-|
---
## atmosphere
![Icon](site:assets/images/documentation/atmosphere.svg){.overview-img align=left}
The **atmosphere** library provides helper functions to calculate atmospheric properties according to the International Standard Atmosphere (*ISA*).
You can set different atmospheric conditions (e.g. *ISA+25*) and calculate the physical properties of the air at different altitudes.
{.overview-item}
|Module Version|Language|License|Documentation|Dependencies|
|:---:|:---:|:---:|---|---|
|2.1.0|:simple-cplusplus: |GPLv3|-||
---
## blackboxTest
![Icon](site:assets/images/documentation/blackbox.svg){.overview-img align=left}
The **blackboxTest** library provides an interface to run a complete module with different test cases and then checks whether a specific result is calculated or set compared to expected values defined in a `blackBoxTestCases.xml`. The tests are realized with the help of the _googleTest_ framework .
{.overview-item}
|Module Version|Language|License|Documentation|Dependencies|
|:---:|:---:|:---:|---|---|
|2.1.0|:simple-cplusplus: |GPLv3|-|[googleTest](https://google.github.io/googletest/)|
---
## engine
![Icon](site:assets/images/documentation/engine.svg){.overview-img align=left}
This library helps with interacting with engine data.
It has helper functions to extract and interpolate data of provided engine data decks.
The engine decks can originate from different softwaretools as long as they provide the same file format.
{.overview-item}
|Module Version|Language|License|Documentation|Dependencies|
|:---:|:---:|:---:|---|---|
|2.1.0|:simple-cplusplus: |GPLv3|-|-|
---
## extern
UNICADO currently uses two external libaries as submodules:
- `doxygen-awesome-css` for documentation formation [(see here)](https://github.com/jothepro/doxygen-awesome-css.git)
- `pybind11` to use C++ libraries in the python tools [(see here)](https://github.com/pybind/pybind11.git)
---
## liftingLineInterface
![Icon](site:assets/images/documentation/lifting-line.svg){.overview-img align=left}
This library helps with interacting with results provided by the tools **Lifting Line** from DLR.
It has helper functions to extract and interpolate data of the results from the tool.
{.overview-item}
|Module Version|Language|License|Documentation|Dependencies|
|:---:|:---:|:---:|---|---|
|2.1.0|:simple-cplusplus: |GPLv3|-|-|
---
## moduleBasics
![Icon](site:assets/images/documentation/module-basics.svg){.overview-img align=left}
This library provides the basis structure for the modular approach of the **UNICADO** tools.
The tools are intended to follow the *Strategy Design Pattern* to execute at different fidelity levels.
The library gives a template how modules should be structured and gives helpers which can be used to select and implement the different fidelity methods.
{.overview-item}
|Module Version|Language|License|Documentation|Dependencies|
|:---:|:---:|:---:|---|---|
|2.1.0|:simple-cplusplus: |GPLv3|-|-|
---
## pymodulepackage
![Icon](site:assets/images/documentation/pymodulepackage.svg){.overview-img align=left}
This library provides standardized UNICADO data preprocessing, run, and postprocessing functions for Python modules.
{.overview-item}
|Module Version|Language|License|Documentation|Dependencies|
|:---:|:---:|:---:|---|---|
|1.0.0|:simple-python: |GPLv3|-|-|
---
## runtimeInfo
![Icon](site:assets/images/documentation/runtime-info.svg){.overview-img align=left}
This library handles the user interface during the modules execution.
In provides custom output streams, which automatically handle the log files and error outputs according to the configuration files.
{.overview-item}
|Module Version|Language|License|Documentation|Dependencies|
|:---:|:---:|:---:|---|---|
|2.1.0|:simple-cplusplus: |GPLv3|-|-|
---
## standardFiles
![Icon](site:assets/images/documentation/standard-files.svg){.overview-img align=left}
This library provides file interfaces and interacts with the operating system.
It can handle process execution with a simple interface.
The library can handle *UNIX* and *Windows* systems alike.
{.overview-item}
|Module Version|Language|License|Documentation|Dependencies|
|:---:|:---:|:---:|---|---|
|2.1.0|:simple-cplusplus: |GPLv3|-|-|
!!! warning
Some functions of this library are a bit outdated! When using this library, please look first at the wonderful [STL :octicons-link-external-16:](https://en.cppreference.com/w/) whether the function you are seeking is already there.
---
## svl
![Icon](site:assets/images/documentation/svl.svg){.overview-img align=left}
The `simple vector library` by Andrew Willmott provides vector and matrix classes.
{.overview-item}
|Module Version|Language|License|Documentation|Dependencies|
|:---:|:---:|:---:|---|---|
|2.1.0|:simple-cplusplus: | |[Link](https://www.cs.cmu.edu/~ajw/doc/svl.html)|-|
!!! note
This will soon be replaced by `Eigen`.
---
## unitConversion
![Icon](site:assets/images/documentation/unit-conversion.svg){.overview-img align=left}
The **unitConversion** groups the most commonly used unit in aerospace and let's you convert values from one unit to another.
In addition, it defines some common **constants** which are useful for calculations.
{.overview-item}
|Module Version|Language|License|Documentation|Dependencies|
|:---:|:---:|:---:|---|---|
|2.1.0|:simple-cplusplus: |GPLv3|-|-|
......@@ -148,6 +148,7 @@ The pylon is the structural component to connect the engine to the aircraft.
### Methods description
For the **pylon designer**, only one method is implemented:
- *default* uses the `aircraftGeometry2` library.
In the current method, the mounting is attached to the beginning to the nacelle to the leading edge of the wing. The length is the engine length which is extruded to the wing. The profile is, likewise for the nacelle, defined in the _configXML_.
......
......@@ -24,6 +24,6 @@ Order:
2. nacelle designer
3. pylon designer
4. propulsion integrator
5.S mass analyzer
5. mass analyzer
So let's get started!
......@@ -158,6 +158,14 @@ plugins:
FILE_PATTERNS: "*.cpp *.h"
RECURSIVE: True
EXTRACT_ALL: YES
engine:
src-dirs: ../aircraft-design/libs/engine/
full-doc: true
output: docs/engine
doxy-cfg:
FILE_PATTERNS: "*.cpp *.h"
RECURSIVE: True
EXTRACT_ALL: YES
- glightbox # Plugin for lightbox-style image and content viewing.
......@@ -325,6 +333,8 @@ nav: # Customizes the main navigation struc
- aircraftGeometry2/namespaces.md
- aircraftGeometry2/files.md
- aircraftGeometry2/functions.md
- engine:
- Introduction: documentation/libraries/engine/index.md
- Utilities: documentation/additional_software.md
- Workflow: 'workflow.md' # Link to the workflow page.
- Get Involved:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment