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.
The typical workflow consists of:
-
Running a simulation: Use
examples/run_simulation.pyto 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.
- Loads configuration and geometry from YAML files in
-
Loading and analyzing results: Use
examples/load_simulation.pyto 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.
The src directory contains various Python packages involved in the project:
- aerodynamic - Description or purpose of the
aerodynamicpackage. - coupling - Description or purpose of the
couplingpackage. - initialisation - Description or purpose of the
initialisationpackage. - particleSystem - Description or purpose of the
particleSystempackage. - post_processing - Description or purpose of the
post_processingpackage. - solver - Description or purpose of the
solverpackage. - structural - Description or purpose of the
structuralpackage.
-
Clone the repository:
git clone https://github.com/awegroup/ASKITE
-
Navigate to the repository folder:
cd ASKITE -
Create a virtual environment:
Linux or Mac:
python3 -m venv venv
Windows:
python -m venv venv
-
Activate the virtual environment:
Linux or Mac:
source venv/bin/activateWindows
.\venv\Scripts\activate
-
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 -
To deactivate the virtual environment:
deactivate
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.
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:
- Create an issue on GitHub
- Create a branch from this issue
git checkout -b issue_number-new-feature
- --- Implement your new feature---
- Verify nothing broke using pytest
pytest
- Commit your changes with a descriptive message
git commit -m "#<number> <message>"
-
Push your changes to the github repo: git push origin branch-name
-
Create a pull-request, with
base:develop, to merge this feature branch -
Once the pull request has been accepted, close the issue
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.
This project is licensed under the MIT License - see the LICENSE file for details.
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 (c) 2023 Jelle Poland, TU Delft
Copyright (c) 2023 Jelle Poland, Patrick Roeleveld, TU Delft