VortexStepMethod

Aerodynamic models of 3D wings using the Vortex Step Method

https://github.com/opensourceawe/vortexstepmethod.jl

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

aerodynamic-analysis aerodynamics aerospace airborne-wind-energy awe foil lifting-line-theory llt vortex-lattice-method vortex-methods vortex-step-method vsm wing
Last synced: 6 months ago · JSON representation ·

Repository

Aerodynamic models of 3D wings using the Vortex Step Method

Basic Info
Statistics
  • Stars: 12
  • Watchers: 2
  • Forks: 0
  • Open Issues: 33
  • Releases: 14
Topics
aerodynamic-analysis aerodynamics aerospace airborne-wind-energy awe foil lifting-line-theory llt vortex-lattice-method vortex-methods vortex-step-method vsm wing
Created about 1 year ago · Last pushed 6 months ago
Metadata Files
Readme Changelog Contributing License Citation

README.md

Stable Dev Build Status codecov Aqua QA

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
  • The airflow and turn rate:

    • v_app vector and omega (turn rate) vector in Kite Body (KB) reference frame
  • The configuration:

    • how many panels
      --> two sections make a panel.

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

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
enhancement (1)
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

  • Versions: 14
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 8 Total
Rankings
Dependent repos count: 8.5%
Average: 22.6%
Dependent packages count: 36.8%
Last synced: 6 months ago