SymbolicAWEModels.jl provides modular symbolic models for simulating Airborne Wind Energy (AWE) systems, including:
- One or more wings (kites)
- Tethers (with or without pulleys)
- Winches
- Bridle systems
The kite is modeled as a deforming rigid body with quaternion dynamics for orientation. Aerodynamic forces and moments are computed using the Vortex Step Method. Tethers are modeled as point masses connected by spring-damper elements with realistic drag. Winches are modeled as motors/generators that can reel tethers in/out.
- AtmosphericModel from AtmosphericModels.jl
- WinchModel from WinchModels.jl
- Aerodynamics via VortexStepMethod.jl
This package is part of the Julia Kite Power Tools ecosystem:
Install Julia using juliaup:
curl -fsSL https://install.julialang.org | sh
juliaup add release
juliaup default releaseQuick Start:
mkdir my_kite_project
cd my_kite_project
julia --project="."Then add the package and copy examples:
using Pkg
pkg"add SymbolicAWEModels"
using SymbolicAWEModels
SymbolicAWEModels.init_module() # Copies examples and installs dependenciesRun the interactive example menu:
include("examples/menu.jl")Or run the ram-air-kite example directly:
include("examples/ram_air_kite.jl")Note: The first run will be slow (several minutes) due to compilation. Run a second time for a significant speedup - subsequent runs will be much faster.
See the Getting Started Guide for detailed instructions for registry users, cloned package users, and developers.
This model represents the kite as a deforming rigid body, with orientation governed by quaternion dynamics. Aerodynamics are computed via the Vortex Step Method. The kite is controlled from the ground via four tethers.
Initialize:
using SymbolicAWEModels
set = Settings("system.yaml")
sam = SymbolicAWEModel(set, "ram")
init!(sam)Simulate:
(log, _) = sim_oscillate!(sam)For visualization with Makie, see the Examples page.
The simple_ram model removes the bridle system and uses 1-segment tethers. You can approximate its properties using the complex ram air kite model and a helper tether model.
Initialize:
init!(sam)
tether_sam = SymbolicAWEModel(set, "tether")
init!(tether_sam)
simple_sam = SymbolicAWEModel(set, "simple_ram")
init!(simple_sam)Simulate:
SymbolicAWEModels.copy_to_simple!(sam, tether_sam, simple_sam)
(simple_log, _) = sim_oscillate!(simple_sam)For visualization with Makie, see the Examples page.
- Research Fechner – scientific background for winches and tethers
- More kite models: KiteModels.jl
- Meta-package: KiteSimulators.jl
- Utilities: KiteUtils.jl
- Component models: WinchModels.jl, KitePodModels.jl, AtmosphericModels.jl
- Controllers and viewers: KiteControllers.jl, KiteViewers.jl
- Aerodynamics: VortexStepMethod.jl
- Submit an issue
- Start a discussion
- Ask on Julia Discourse
- Email Bart van de Lint: [email protected]
Authors:
Bart van de Lint ([email protected])
Uwe Fechner ([email protected])
This project is licensed under the MPL-2.0 License.
If you use SymbolicAWEModels in your research, please cite this repository:
@misc{SymbolicAWEModels,
author = {Bart van de Lint, Uwe Fechner, Jelle Poland},
title = {{SymbolicAWEModels}: Symbolic airborne wind energy system models},
year = {2025},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{[https://github.com/OpenSourceAWE/SymbolicAWEModels.jl]}},
}Technische Universiteit Delft hereby disclaims all copyright interest in the package “SymbolicAWEModels.jl” (symbolic models for airborne wind energy systems) written by the Author(s).
Prof.dr. H.G.C. (Henri) Werij, Dean of Aerospace Engineering, Technische Universiteit Delft.
See copyright notices in the source files and the list of authors in AUTHORS.md.
Documentation Stable Version --- Development Version


