KiteModels

Kite and tether models for the simulation of kite power systems

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

Science Score: 77.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
    Found 1 DOI reference(s) in README
  • Academic publication links
    Links to: arxiv.org, zenodo.org
  • Committers with academic emails
    1 of 6 committers (16.7%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.8%) to scientific vocabulary

Keywords

airborne airborne-wind-energy julia kite kitepower modeling models windenergy

Keywords from Contributors

interactive mesh interpretability profiles sequences generic projection standardization optim embedded
Last synced: 6 months ago · JSON representation ·

Repository

Kite and tether models for the simulation of kite power systems

Basic Info
Statistics
  • Stars: 19
  • Watchers: 2
  • Forks: 4
  • Open Issues: 31
  • Releases: 61
Topics
airborne airborne-wind-energy julia kite kitepower modeling models windenergy
Created about 4 years ago · Last pushed 7 months ago
Metadata Files
Readme Changelog Contributing Funding License Citation Authors

README.md

KiteModels

Stable Dev CI Coverage DOI Aqua QA

Kite power system models, consisting of tether and kite

The models have the following subcomponents, implemented in separate packages: - AtmosphericModel from AtmosphericModels - WinchModel from WinchModels - KitePodModel from KitePodModels - The aerodynamic forces and moments of some of the models are calculated using the package VortexStepMethod

This package is part of Julia Kite Power Tools, which consists of the following packages:

News

Work in progress

  • a new 5-point model based on ModelingToolkit (MTK) is in development;
    this will allow to create linearized models around any operation point and to do analysis in the frequency domain. #### April 2025
  • a new model SymbolicAWEModel was contributed, based on the package VortexStepMethod #### November 2024
  • the four point kite model KPS4 was extended to include aerodynamic damping of pitch oscillations; for this purpose, the parameters cmq and cord_length must be defined in settings.yaml
  • the four point kite model KPS4 was extended to include the impact of the deformation of the kite on the turn rate; for this, the parameter smc must be defined in settings.yaml #### October 2024
  • the orientation is now represented with respect to the NED reference frame
  • azimuth is now calculated in wind reference frame. This allows it to handle changes of the wind direction during flight correctly.
  • many unit tests added by a new contributor
  • many tests for model verification added; they can be accessed using the menu2.jl script
  • the documentation was improved

What to install

If you want to run simulations and see the results in 3D, please install the meta package KiteSimulators . If you are not interested in 3D visualization or control you can just install this package.

Installation

If possible, install Julia 1.11, if you haven't already. Julia 1.10 is still supported, but the performance is worse. On Linux, make sure that Python3 and Matplotlib are installed: sudo apt install python3-matplotlib

Make sure that ControlPlots.jl works as explained here.

Before installing this software it is suggested to create a new project, for example like this: bash mkdir test cd test julia --project="." Then add KiteModels from Julia's package manager, by typing: julia using Pkg pkg"add KiteModels" at the Julia prompt. You can run the unit tests with the command (careful, can take 60 min): julia pkg"test KiteModels" You can copy the examples to your project with: julia using KiteModels KiteModels.install_examples() This also adds the extra packages, needed for the examples to the project. Furthermore, it creates a folder data with some example input files. You can now run the examples with the command: julia include("examples/menu.jl") You can also run the ram-air-kite example like this: julia include("examples/ram_air_kite.jl") This might take two minutes. To speed up the model initialization, you can create a system image: bash cd bin ./create_sys_image If you now launch Julia with ./bin/run_julia and then run the above example again, it should be about three times faster.

Advanced installation

If you intend to modify or extend the code, it is suggested to fork the KiteModels.jl repository and to check out your fork: bash git clone https://github.com/USERNAME/KiteModels.jl where USERNAME is your github username. Then compile a system image: bash cd KiteModels.jl/bin ./create_sys_image If you now launch julia with: bash cd .. ./bin/run_julia You can run the examples with: julia menu() You can also run the ram-air-kite example like this: julia include("examples/ram_air_kite.jl")

One point model

This model assumes the kite to be a point mass. This is sufficient to model the aerodynamic forces, but the dynamic concerning the turning action of the kite is not realistic. When combined with a controller for the turn rate it can be used to simulate a pumping kite power system with medium accuracy.

Four point model

This model assumes the kite to consist of four-point masses with aerodynamic forces acting on points B, C and D. It reacts much more realistically than the one-point model because it has rotational inertia in every axis.

Ram air kite model

This model represents the kite as a deforming rigid body, with orientation governed by quaternion dynamics. Aerodynamics are computed using the Vortex Step Method. The kite is controlled from the ground via four tethers.

Tether

The tether is modeled as point masses, connected by spring-damper elements. Aerodynamic drag is modeled realistically. When reeling out or in the unstretched length of the spring-damper elements is varied. This does not translate into physics directly, but it avoids adding point masses at run-time, which would be even worse because it would introduce discontinuities. When using Dyneema or similar high-strength materials for the tether the resulting system is very stiff which is a challenge for the solver.

Further reading

The models KPS3 and KPS4 are described in detail in Dynamic Model of a Pumping Kite Power System.

Replaying log files

If you want to replay old flight log files in 2D and 3D to understand and explain better how kite power systems work, please have a look at KiteViewer . How new log files can be created and replayed is explained in the documentation of KiteSimulators .

License

This project is licensed under the MIT and the MPL-2.0 License. The documentation is licensed under the CC-BY-4.0 License. Please see the below Copyright notice in association with the licenses that can be found in the file LICENSE in this folder.

Copyright notice

Technische Universiteit Delft hereby disclaims all copyright interest in the package “KiteModels.jl” (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 the copyright notices in the source files, and the list of authors in AUTHORS.md.

Donations

If you like this software, please consider donating to Flood in Kenya .

See also

Documentation Stable Version --- Development Version

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."
preferred-citation:
  type: article
  authors:
    - family-names: "Fechner"
      given-names: "Uwe"
    - family-names: "van de Vlugt"
      given-names: "Rolf"
    - family-names: "Schreuder"
      given-names: "E"
    - family-names: "Schmehl"
      given-names: "Roland"
  doi: "10.1016/j.renene.2015.04.028"
  journal: "Renewable Energy"
  title: "Dynamic model of a pumping kite power system"
  issue: 83
  volume: 83
  year: 2015

GitHub Events

Total
  • Create event: 2
  • Release event: 1
  • Issues event: 3
  • Watch event: 1
  • Issue comment event: 14
  • Push event: 60
  • Pull request review event: 11
  • Pull request review comment event: 8
  • Pull request event: 7
Last Year
  • Create event: 2
  • Release event: 1
  • Issues event: 3
  • Watch event: 1
  • Issue comment event: 14
  • Push event: 60
  • Pull request review event: 11
  • Pull request review comment event: 8
  • Pull request event: 7

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 1,862
  • Total Committers: 6
  • Avg Commits per committer: 310.333
  • Development Distribution Score (DDS): 0.101
Past Year
  • Commits: 1,501
  • Committers: 5
  • Avg Commits per committer: 300.2
  • Development Distribution Score (DDS): 0.12
Top Committers
Name Email Commits
Uwe Fechner f****r@a****u 1,674
1-Bart-1 b****t@v****t 161
dvanwolffelaar d****r@k****l 10
Uwe Fechner u****1@t****l 8
Uwe Fechner u****r@n****m 7
dependabot[bot] 4****] 2
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 2
  • Total pull requests: 17
  • Average time to close issues: N/A
  • Average time to close pull requests: 3 days
  • Total issue authors: 2
  • Total pull request authors: 3
  • Average comments per issue: 0.5
  • Average comments per pull request: 1.65
  • Merged pull requests: 7
  • Bot issues: 0
  • Bot pull requests: 6
Past Year
  • Issues: 2
  • Pull requests: 17
  • Average time to close issues: N/A
  • Average time to close pull requests: 3 days
  • Issue authors: 2
  • Pull request authors: 3
  • Average comments per issue: 0.5
  • Average comments per pull request: 1.65
  • Merged pull requests: 7
  • Bot issues: 0
  • Bot pull requests: 6
Top Authors
Issue Authors
  • ufechner7 (1)
  • 1-Bart-1 (1)
Pull Request Authors
  • ufechner7 (7)
  • github-actions[bot] (6)
  • 1-Bart-1 (4)
Top Labels
Issue Labels
enhancement (2) KPS4 (1) KPS3 (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • julia 12 total
  • Total dependent packages: 1
  • Total dependent repositories: 0
  • Total versions: 61
juliahub.com: KiteModels

Kite and tether models for the simulation of kite power systems

  • Versions: 61
  • Dependent Packages: 1
  • Dependent Repositories: 0
  • Downloads: 12 Total
Rankings
Dependent repos count: 9.9%
Dependent packages count: 23.0%
Average: 30.5%
Forks count: 40.4%
Stargazers count: 48.5%
Last synced: 6 months ago

Dependencies

.github/workflows/CI.yml actions
  • actions/cache v1 composite
  • actions/checkout v2 composite
  • codecov/codecov-action v2 composite
  • julia-actions/julia-buildpkg v1 composite
  • julia-actions/julia-docdeploy v1 composite
  • julia-actions/julia-processcoverage v1 composite
  • julia-actions/julia-runtest v1 composite
  • julia-actions/setup-julia v1 composite
.github/workflows/CompatHelper.yml actions
.github/workflows/TagBot.yml actions
  • JuliaRegistries/TagBot v1 composite