aenarete / KiteViewers.jl

3D viewer for airborne wind energy systems

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

KiteViewers

Build Status Coverage

This package provides different kind of 2D and 3D viewers for kite power system.

It is part of Julia Kite Power Tools, which consist of the following packages:

What to install

If you want to run simulations and see the results in 3D, please install the meta package KiteSimulators . If you just want to replay log files or implement a real-time viewer for a system outside of Julia this package will be sufficient. When you have KiteSimulators installed, please replace any statement using KiteViewers in the examples with using KiteSimulators.

Installation

Download and install Julia 1.9 or later, if you haven't already. Make sure you have the package TestEnv in your global environment if you want to run the examples. If you are not sure, run:

julia -e 'using Pkg; Pkg.add("TestEnv")'

If you don't have a project yet, create one with:

mkdir MyProject
cd MyProject
julia --project="."

and then add the package KiteViewers to your project by executing:

using Pkg
pkg"add KiteViewers"

at the Julia prompt.

You can run the unit tests with the command:

using Pkg
pkg"test KiteViewers"

This package should work on Linux, Windows and Mac. If you find a bug, please file an issue.

Exported types

Viewer3D
AbstractKiteViewer
AKV

AKV is just the short form of AbstractKiteViewer, Viewer3D the first implementation of it.

Usage:

show_kite=true
viewer=Viewer3D(show_kite)

Exported functions

clear_viewer(kv::AKV)
update_system(kv::AKV, state::SysState; scale=1.0, kite_scale=3.5)
save_png(kv::AKV; filename="video", index = 1)
stop(kv::AKV)
set_status(kv::AKV, status_text)

Examples

using KiteViewers
viewer=Viewer3D(true);

After some time a window with the 3D view of a kite power system should pop up. If you keep the window open and execute the following code:

using KiteUtils
segments=6
state=demo_state(segments+1)
update_system(viewer, state)

you should see a kite on a tether.

The same example, but using the 4 point kite model:

using KiteViewers, KiteUtils
viewer=Viewer3D(true);
segments=6
state=demo_state_4p(segments+1)
update_system(viewer, state, kite_scale=0.25)

You can find more examples in the folder examples.

Advanced usage

For more examples see: KiteSimulators

See also

About

3D viewer for airborne wind energy systems

License:MIT License


Languages

Language:Julia 97.6%Language:Shell 2.4%