CEASIOMpy
CEASIOMpy is an open source conceptual aircraft design environment. CEASIOMpy can be used to set up complex design and optimization workflows, both for conventional and unconventional aircraft configurations. Tools for various disciplines in aircraft design are provided, however, the aerodynamic tools are the most developed. They allow to automatically generate aerodynamic meshes and perform CFD calculation.
CEASIOMpy is written mostly in Python but it also depends on third-party libraries and software (like SU2 for the CFD calculation).
CEASIOMpy is based on the open-standard format CPACS, a Common Parametric Aircraft Configuration Schema. It is a data definition for the air transportation system which is developed by the German Aerospace Center DLR. CPACS enables engineers to exchange information between their tools.
Table of contents
Installation
To install CEASIOMpy, please refer to the installation page, it will guide you through the installation process depending on your system.
Usage
Demo
Test cases
Theses test cases are there to learn how to use CEASIOMpy. You will probably also learn a few things about the CPACS format. You can also run these tests to check that everything is installed and works as expected as they cover different possibilities of use of CEASIOMpy.
- Test case 1 : Run a simple workflow
✔️ - Test case 2 : Create and run a workflow with the Graphical User Interface (Video tutorial)
✔️ - Test case 3 : Create and run a workflow with the Graphical User Interface
✔️ - Test case 4 : Create and run a from a command line
❌ - Test case 5 : Create and run a from a configuration file
❌
Run CEASIOMpy
-
Run CEASIOMpy with a GUI to build the workflow
If you run CEASIOMpy with the following command, you can build the workflow with a graphical user interface.
ceasiompy_run --gui
-
Run CEASIOMpy with a command line to build the workflow
If you run CEASIOMpy with the following command, you can build the workflow directly by defining the CPACS files and the modules you want to use.
cd WKDIR ceasiompy_run -m ../test_files/CPACSfiles/D150_simple.xml PyTornado SaveAeroCoefficients
-
Run CEASIOMpy with an existing configuration file
You can run an existing configuration file (e.g. from the test cases) with the following command.
cd WKDIR ceasiompy_run --cfg ../test_cases/config_test_case_1.cfg
-
Write a CEASIOMpy configuration file
A CEASIOMpy configuration file is a text file (saved as
*.cfg
) which contains the information necessary to run CEASIOMpy. You can write a configuration file by following the example.% CEASIOMpy configuration file % Input CPACS files (required) which contain the aircraft geometry CPACS_TOOLINPUT = /users/disk10/jungo/github/CEASIOMpy/test_files/CPACSfiles/D150_simple.xml # Modules which will be used in the workflow (in order) MODULE_TO_RUN = ( PyTornado, SaveAeroCoefficients )
You can save this file as
my_config_file.cfg
in yourWKDIR
. Then, you can run it with the following commands:cd WKDIR ceasiompy_run --cfg ./my_config_file.cfg
Examples of workflows
- Simple workflow with PyTornado (Vortex Lattice Method)
graph LR;
PyTornado-->SaveAeroCoefficients;
- Workflow with SU2 (CFD) at fixed CL
graph LR;
CLCalculator-->CPACS2SUMO;
CPACS2SUMO-->SUMOAutoMesh;
SUMOAutoMesh-->SU2Run;
SU2Run-->ExportCSV;
Available modules
A lot of different modules are available in CEASIOMpy, they can be assembled in various workflows. You can find below the list of available modules. The module status is marked as follows:
General modules
- ModuleTemplate
✔️ - Optimisation
❌ - SMTrain
❌ - SMUse
❌
Geometry and Mesh
- CPACSCreator
✔️ - CPACS2GMSH
✔️ - CPACS2SUMO
✔️ - SUMOAutoMesh
✔️ - SU2MeshDef
⚠️
Aerodynamics
- CLCalculator
✔️ - PyTornado
✔️ - SU2Run
✔️ - SkinFriction
✔️ - SaveAeroCoefficients
✔️
Weight and Balance
- BalanceConventional
⚠️ - BalanceUnconventional
⚠️ - WeightConventional
✔️ - WeightUnconventional
⚠️
Mission Analysis
- Range
⚠️ - StaticStability
✔️
Structure
- AeroFrame
❌
Contributing
CEASIOMpy is an open source project and we welcome contributions from everyone. Some CEASIOMpy modules have been developed by students during their internship or master thesis. If you want to contribute to the development of CEASIOMpy , please refer to the CONTRIBUTING.md document.