VortexStepMethod
Aerodynamic models of 3D wings using the Vortex Step Method
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (16.3%) to scientific vocabulary
Keywords
Repository
Aerodynamic models of 3D wings using the Vortex Step Method
Basic Info
- Host: GitHub
- Owner: OpenSourceAWE
- License: mit
- Language: Julia
- Default Branch: main
- Homepage: https://opensourceawe.github.io/VortexStepMethod.jl/dev/
- Size: 9.3 MB
Statistics
- Stars: 12
- Watchers: 2
- Forks: 0
- Open Issues: 33
- Releases: 14
Topics
Metadata Files
README.md
Aerodynamic models of 3D wings using the Vortex Step Method
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, a leading-edge inflatable kite and a ram-air kite.
This package was translated from the Python code version 1.0.0 available at https://github.com/ocayon/Vortex-Step-Method with some extensions as documented in News.md.
Installation
Install Julia 1.10 or later,
if you haven't already. On Linux, make sure that Python3 and Matplotlib are installed:
sudo apt install python3-matplotlib
Furthermore, the packages TestEnv and ControlPlots must be installed globally:
julia -e 'using Pkg; Pkg.add("TestEnv"); Pkg.add("ControlPlots")'
Before installing this software it is suggested to create a new project, for example like this:
bash
mkdir vsm
cd vsm
julia --project=.
Then add VortexStepMethod from Julia's package manager, by typing:
julia
using Pkg
pkg"add VortexStepMethod"
at the Julia prompt. You can run the unit tests with the command:
julia
pkg"test VortexStepMethod"
To run the examples, type:
julia
using VortexStepMethod
VortexStepMethod.install_examples()
include("examples/menu.jl")
Running the examples as developer
If you have git installed, check out this repo because it makes it easier to understand the code:
bash
mkdir repos
cd repos
git clone https://github.com/OpenSourceAWE/VortexStepMethod.jl
cd VortexStepMethod.jl
You can launch Julia with:
bash
julia --project
or with:
bash
./bin/run_julia
In Julia, first update the packages:
julia
using Pkg
Pkg.update()
and then you can display a menu with the available examples:
julia
include("examples/menu.jl")
To browse the code, it is suggested to use VSCode with the Julia plugin.
Input
Three kinds of input data is needed:
The wing geometry, defined by section:
- for the rectangular wing two sections, two points in CAD reference frame + polars
(three different options to provide them) per section - kite wing: model of polars included, n sections to define
- for the rectangular wing two sections, two points in CAD reference frame + polars
The airflow and turn rate:
v_appvector andomega(turn rate) vector in Kite Body (KB) reference frame
The configuration:
- how many panels
--> two sections make a panel.
- how many panels
Apart from the wing geometry there is no input file yet, the input has to be defined in the code.
Example for defining the required input:
```julia
Step 1: Define wing parameters
npanels = 20 # Number of panels span = 20.0 # Wing span [m] chord = 1.0 # Chord length [m] va = 20.0 # Magnitude of inflow velocity [m/s] density = 1.225 # Air density [kg/m³] alphadeg = 30.0 # Angle of attack [degrees] alpha = deg2rad(alphadeg)
Step 2: Create wing geometry with linear panel distribution
wing = Wing(npanels, spanwisedistribution=LINEAR)
Add wing sections - defining only tip sections with inviscid airfoil model
addsection!(wing, [0.0, span/2, 0.0], # Left tip LE [chord, span/2, 0.0], # Left tip TE INVISCID) addsection!(wing, [0.0, -span/2, 0.0], # Right tip LE [chord, -span/2, 0.0], # Right tip TE INVISCID)
Step 3: Initialize aerodynamics
body_aero = BodyAerodynamics([wing])
Set inflow conditions
velapp = [cos(alpha), 0.0, sin(alpha)] .* va
setva!(wa, velapp)
``
It is possible to import the wing geometry using an.objfile as shown in the exampleramairkite.jl`. During the import the polars are calculated automatically using XFoil. This approach is valid for rigid wings and ram-air kites, but not for leading edge inflatable kites.
Surfplan files can be converted to an input for VortexStepMethod.jl using the SurfplanAdapter.
Output
- the aerodynamic forces Fx, Fy, Fz
- the aerodynamic moments Mx, My, Mz
- the force coefficients CL, CD, CS (side force coefficient)
- the status of the solver (is the result valid)
In addition, the spanwise distribution of these and additional values are available.
See also the documentation.
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 “VortexStepMethod.jl” written by the Author(s).
Prof.dr. H.G.C. (Henri) Werij, Dean of Aerospace Engineering
Copyright
Copyright (c) 2022 Oriol Cayon
Copyright (c) 2024 Oriol Cayon, Jelle Poland, TU Delft
Copyright (c) 2025 Oriol Cayon, Jelle Poland, Bart van de Lint, Uwe Fechner
Owner
- Name: Open Source AWE Simulation and Control
- Login: OpenSourceAWE
- Kind: organization
- Location: Netherlands
- Repositories: 1
- Profile: https://github.com/OpenSourceAWE
Citation (CITATION.cff)
cff-version: 1.2.0
message: "If you are using this software, please cite it as shown below."
authors:
- family-names: "Cayon"
given-names: "Oriol"
orcid: "https://orcid.org/0000-0002-2065-8673"
- family-names: "Poland"
given-names: "Jelle Agatho Wilhelm"
orcid: "https://orcid.org/0000-0003-3164-5648"
- family-names: "van de Lint"
given-names: "Bart"
- family-names: "Fechner"
given-names: "Uwe"
title: "VortexStepMethod.jl"
keywords:
- Airborne Wind Energy, AWE, AWES, Vortex step methods
version: 1.0.0
# doi: "11.1111/11111"
# date-released: YYYY-MM-DD
license: MIT
url: "https://github.com/OpenSourceAWE/VortexStepMethod.jl"
preferred-citation:
type: article
authors:
- family-names: "Cayon"
given-names: "Oriol"
- family-names: "Gaunaa"
given-names: "Mac"
- family-names: "Schmehl"
given-names: "Roland"
doi: "10.3390/en16073061"
journal: "Energies"
title: "Fast Aero-Structural Model of a Leading-Edge Inflatable Kite"
issue: 7
volume: 16
year: 2023
GitHub Events
Total
- Create event: 24
- Release event: 2
- Issues event: 6
- Delete event: 1
- Issue comment event: 38
- Push event: 41
- Pull request review comment event: 18
- Pull request review event: 17
- Pull request event: 10
Last Year
- Create event: 24
- Release event: 2
- Issues event: 6
- Delete event: 1
- Issue comment event: 38
- Push event: 41
- Pull request review comment event: 18
- Pull request review event: 17
- Pull request event: 10
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 3
- Total pull requests: 6
- Average time to close issues: about 1 hour
- Average time to close pull requests: 11 days
- Total issue authors: 1
- Total pull request authors: 4
- Average comments per issue: 1.0
- Average comments per pull request: 0.33
- Merged pull requests: 1
- Bot issues: 0
- Bot pull requests: 2
Past Year
- Issues: 3
- Pull requests: 6
- Average time to close issues: about 1 hour
- Average time to close pull requests: 11 days
- Issue authors: 1
- Pull request authors: 4
- Average comments per issue: 1.0
- Average comments per pull request: 0.33
- Merged pull requests: 1
- Bot issues: 0
- Bot pull requests: 2
Top Authors
Issue Authors
- jellepoland (3)
Pull Request Authors
- ufechner7 (2)
- github-actions[bot] (1)
- 1-Bart-1 (1)
- dependabot[bot] (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- julia 8 total
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 14
juliahub.com: VortexStepMethod
Aerodynamic models of 3D wings using the Vortex Step Method
- Homepage: https://opensourceawe.github.io/VortexStepMethod.jl/dev/
- Documentation: https://docs.juliahub.com/General/VortexStepMethod/stable/
- License: MIT
-
Latest release: 2.1.0
published 7 months ago