-
Christopher Ruwisch authoredChristopher Ruwisch authored
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, we have some external dependencies to:
- :simple-cplusplus: Eigen3 :octicons-link-external-16:{:target="_blank"}
- :simple-cplusplus: Boost :octicons-link-external-16:{:target="_blank"}
- :simple-cplusplus: CGAL :octicons-link-external-16:{:target="_blank"}
- :simple-python: pipenv :octicons-link-external-16:{:target="_blank"} (not really a library, more a environment manager tool)
!!! note
Currently, only aircraftGeometry2
is documented.
aerodynamics
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
This library is based on the older aircraftGeometry library and extends it to be more modular.
The modularity and flexibility is achieved by using the high performance Computational Geometry Algorithms Library also known as CGAL.
{.overview-item}
Module Version | Language | License | Documentation | Dependencies |
---|---|---|---|---|
2.1.0 | :simple-cplusplus: | GPLv3 | Link | Eigen3, CGAL |
airfoils
The airfoils libary provides a database for different airfoils.
{.overview-item}
Module Version | Language | License | Documentation | Dependencies |
---|---|---|---|---|
1.0.0 | :simple-cplusplus: | GPLv3 | - | - |
aixml
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
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
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 |
engine
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) -
pybind11
to use C++ libraries in the python tools (see here)
liftingLineInterface
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
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
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
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
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: whether the function you are seeking is already there.
svl
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 | - |
!!! note
This will soon be replaced by Eigen
.
unitConversion
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 | - | - |