Skip to content

cfsengineering/CEASIOMpy

Repository files navigation

Unittest Integration tests Codecov Codacy Badge Black code style License

CEASIOMpy

CEASIOMpy is an open source conceptual aircraft design environment. CEASIOMpy can be used to set up complex design and optimisation workflows for both conventional and unconventional aircraft configurations. Tools for various aircraft design disciplines are provided, but the aerodynamic tools are the most advanced. They allow automatic generation of aerodynamic meshes and CFD calculations.

CEASIOMpy is mostly written 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.

📜 CEASIOMpy is maintained by CFS Engineering and Airinnova. CEASIOMpy is under the Apache License 2.0.

📖 The Documentation of CEASIOMpy is integrated in this repository and can be read in documents like this one. Follow links to find the information that you are looking for.

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

CEASIOMpy GUI Video tutorial (Test case 2)

Test cases

These 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 verify that everything is installed and working as expected as they cover different possible ways of using CEASIOMpy. Be sure you finish the installation before you try them.

  • 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

Follow the test cases to discover the different way of using CEASIOMpy.

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

There are many different modules available in CEASIOMpy that can be combined in different workflows. The list of available modules is shown below. The module status is marked as follows:

✔️ : The module should work as expected. There may be some minor bugs, don't hesitate to report them (more details here).

warning: : The module does not work completely as expected. It is not a bug, but some features or data handling are not yet compatible with the new file structure. Check the Kanban Board to see planned and in-progress features.

❌ : The module does not work at all. Some functions have been written, but need a lot of changes to be compatible with the rest of CEASIOMpy.

General modules

Geometry and Mesh

Aerodynamics

Weight and Balance

  • BalanceConventional ⚠️
  • BalanceUnconventional ⚠️
  • WeightConventional ✔️
  • WeightUnconventional ⚠️

Mission Analysis

Structure

  • AeroFrame ❌

Contributing

CEASIOMpy is an open source project and we welcome contributions from everyone. Some CEASIOMpy modules have been developed by students as part of their internship or master thesis.

If you want to contribute to the development of CEASIOMpy, please read the document CONTRIBUTING.md.

More information