Coder Social home page Coder Social logo

irfan-gh / ceasiompy Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cfsengineering/ceasiompy

0.0 0.0 0.0 51.71 MB

CEASIOMpy is a Python conceptual aircraft design environment

License: Apache License 2.0

Shell 1.05% Python 98.73% Batchfile 0.14% Dockerfile 0.08%

ceasiompy's Introduction

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 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.

๐Ÿ“œ 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

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 your WKDIR. 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;
Loading
  • Workflow with SU2 (CFD) at fixed CL
  graph LR;
      CLCalculator-->CPACS2SUMO;
      CPACS2SUMO-->SUMOAutoMesh;
      SUMOAutoMesh-->SU2Run;
      SU2Run-->ExportCSV;
Loading

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:

โœ”๏ธ : The module should be working as expected. Some small bugs may be present, don't hesitate to report them (more details here).

โš ๏ธ : The module is not working fully as expected. It is not a bug, but some features or data handling are yet compatible with the new file structure. Check the Kanban board to see planned and in progress features.

โŒ : The module is not working at all. Some functions have been written but requires 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 during their internship or master thesis. If you want to contribute to the development of CEASIOMpy , please refer to the CONTRIBUTING.md document.

More information

ceasiompy's People

Contributors

aidanjungo avatar vivtrif avatar aarondettmann avatar lverdier1 avatar gbenedett avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.