From 1885f488bc27ffc062421c59fa9b4eb4a67f78f9 Mon Sep 17 00:00:00 2001 From: tobi <tobias.weckenmann@tum.de> Date: Fri, 7 Feb 2025 15:35:05 +0100 Subject: [PATCH] Reverts old changes --- docs/documentation/libraries/index.md | 199 ++++++++++++++++++++++++++ 1 file changed, 199 insertions(+) create mode 100644 docs/documentation/libraries/index.md diff --git a/docs/documentation/libraries/index.md b/docs/documentation/libraries/index.md new file mode 100644 index 0000000..2713069 --- /dev/null +++ b/docs/documentation/libraries/index.md @@ -0,0 +1,199 @@ +--- +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 +{.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 +{.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 +{.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 +{.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 +{.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 +{.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 +{.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 +{.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 +{.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 +{.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 +{.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 +{.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 +{.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 +{.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 -- GitLab