Skip to content
Snippets Groups Projects
Commit e3f28af8 authored by Maren Huxel's avatar Maren Huxel
Browse files

Merge branch 'feature/docu_engine_lib' into 'develop'

Reverts old changes

See merge request !42
parents e3c6dea2 1885f488
No related branches found
No related tags found
3 merge requests!76Draft: Updated Python code example,!73Initial open source version,!42Reverts old changes
Pipeline #1608852 passed
---
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|-|-|
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment