The Vortex Step Method (VSM) is an enhanced lifting line method that improves upon the classic approach by solving the circulation system at the three-quarter chord position, among the most important details. This adjustment allows for more accurate calculations of lift and drag forces, particularly addressing the shortcomings in induced drag prediction. VSM is further refined by coupling it with 2D viscous airfoil polars, making it well-suited for complex geometries, including low aspect ratio wings, as well as configurations with sweep, dihedral, and anhedral angles.
The software presented here includes a couple of examples: a rectangular wing and a leading-edge inflatable kite.
-
Clone the repository:
git clone https://github.com/ocayon/Vortex-Step-Method
-
Navigate to the repository folder:
cd Vortex-Step-Method
-
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/activate
Windows
.\venv\Scripts\activate
-
Install the required dependencies:
For users:
pip install .
For developers:
pip install -e .[dev]
-
To deactivate the virtual environment:
deactivate
- numpy
- matplotlib>=3.7.1
- seaborn
- scipy
- numba
- ipykernel
- screeninfo
Please look at the tutorial on a rectangular wing, where the code usage and settings are fully detailed.
You can find it in examples/rectangular_wing/tutorial_rectangular_wing.ipynb
Another tutorial is present under examples/TUDELFT_V3_LEI_KITE/tutorial_testing_stall_model.py
where a geometry is loaded from .csv, plotted, distributions are plotted and polars are created to demonstrate the effect of the stall model.
For more detailed information one is referred to:
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.
Copyright (c) 2022 Oriol Cayon
Copyright (c) 2024 Oriol Cayon, Jelle Poland, TU Delft