Skip to content

awegroup/ASKITE

Repository files navigation

ASKITE: Aero-structural coupled kite simulator

Python package testing

Purpose

This code is designed for aero-structural coupled simulations, which can be utilized for design, control or optimization. It includes the TU Delft V3 Kite as an example, and relies for the aerodynamic calculation on the Vortex-Step-Method and for the structural calculation, the user can choose between using the Particle_System_Simulator or kite-fem.

Main Simulation Workflow

The typical workflow consists of:

  1. Running a simulation: Use examples/run_simulation.py to set up, run, and save a new simulation. This script:

    • Loads configuration and geometry from YAML files in data/.
    • Initializes aerodynamic and structural models (using modules in src/kitesim/).
    • Runs the coupled aero-structural solver.
    • Saves results to an HDF5 file in the results directory.
  2. Loading and analyzing results: Use examples/load_simulation.py to load a previously saved simulation output and visualize or post-process the results. This script:

    • Loads the HDF5 results file.
    • Prints summary information about the run.
    • Provides interactive 3D visualization of the kite structure and its evolution.

More details per folder

data

The src directory contains various Python packages involved in the project:

  • aerodynamic - Description or purpose of the aerodynamic package.
  • coupling - Description or purpose of the coupling package.
  • initialisation - Description or purpose of the initialisation package.
  • particleSystem - Description or purpose of the particleSystem package.
  • post_processing - Description or purpose of the post_processing package.
  • solver - Description or purpose of the solver package.
  • structural - Description or purpose of the structural package.

Installation Instructions

  1. Clone the repository:

    git clone https://github.com/awegroup/ASKITE
  2. Navigate to the repository folder:

    cd ASKITE
  3. Create a virtual environment:

    Linux or Mac:

    python3 -m venv venv

    Windows:

    python -m venv venv
  4. Activate the virtual environment:

    Linux or Mac:

    source venv/bin/activate

    Windows

    .\venv\Scripts\activate
  5. Install the required dependencies:

    For users:

    pip install .

    For developers:

    pip install -e .[dev]

    For ubuntu add:

    pip install pyqt5
    sudo apt install cm-super
    sudo apt install dvipng
    
  6. To deactivate the virtual environment:

    deactivate

Dependencies

See pyproject.toml

Machine Learning

The code base is adapted to work with a machine learning model trained on more than a hundred thousands Reynolds-average Navier Stokes (RANS) computational fluid dynamics (CFD) simulations made for leading-edge inflatable airfoils, documented in the MSc thesis of K.R.G. Masure, the code base is also open-source accessible.

As the three trained models, for Reynolds number = 1e6, 5e6 and 1e7 are too large (~2.3GB) for GitHub, they have to be downloaded separately, and added to the data/ml_models folder. They are accessible trough Zenodo, and so is the CFD data on which the models are trained.

Contributing Guide

Please report issues and create pull requests using the URL:

https://github.com/awegroup/ASKITE

We welcome contributions to this project! Whether you're reporting a bug, suggesting a feature, or writing code, here’s how you can contribute:

  1. Create an issue on GitHub
  2. Create a branch from this issue
    git checkout -b issue_number-new-feature
  3. --- Implement your new feature---
  4. Verify nothing broke using pytest
  pytest
  1. Commit your changes with a descriptive message
  git commit -m "#<number> <message>"
  1. Push your changes to the github repo: git push origin branch-name

  2. Create a pull-request, with base:develop, to merge this feature branch

  3. Once the pull request has been accepted, close the issue

Citation

If you use this project in your research, please consider citing it. Citation details can be found in the CITATION.cff file included in this repository.

License

This project is licensed under the MIT License - see the LICENSE file for details.

WAIVER

Technische Universiteit Delft hereby disclaims all copyright interest in the package written by the Author(s). Prof.dr. H.G.C. (Henri) Werij, Dean of Aerospace Engineering

Copyright

Copyright (c) 2023 Jelle Poland, TU Delft

Copyright (c) 2023 Jelle Poland, Patrick Roeleveld, TU Delft

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •