- the method
next_step!
uses nowupwind_dir
as parameter and not longerwind_dir
- install
matplotlib
if it is not already installed after user confirmation in a Julia specific environment - replaced OrdinaryDiffEq with the three packages OrdinaryDiffEqCore, OrdinaryDiffEqBDF and OrdinaryDiffEqSDIRK. This should help to reduce the pre-compilation time.
- set the parameter delta in the examples
- always specify the
system.yaml
file to use in the examples, always useload_settings
instead ofse
. This ensures that the settings are always freshly loaded from the file when the script is launched, so any changes to the settings become immediately effective. - the KPS4_3L model was replaced by the pure ModelingToolkit (MTK) based version. This allows not only a much faster simulation, but the results are also much more accurate.
- bump KiteUtils to 0.7.7
- add new examples to menu
- major change to the function that finds the initial equilibrium; the function
init_sim!
has the new parameterdelta
which should be in the range of 0.01 to 0.03. - better error message if
init_sim!
, but no exception any more. I just returnsnothing
. - remove dependency StatProfilerHTML
- add KCU drag, based on kcu_diameter and cd_kcu
- add function bridle_length (not exported)
- unit tests for the KPS3_3L model, based on ModelingToolkit
- script
examples/plot_cl_cd.jl
- script
examples/plot_cl_cd_plate.jl
- script
torque_controlled_mtk.jl
- correct tether drag based on l_bridle; if the kite has more than 7 bridle lines l_bridle must be larger than bridle_length(se)
- a new kite model, KPS3_3L was contributed by Bart van de Lint. It uses three lines to the ground and three winches for steering a ram-air foil kite.
- caching for the initial equilibrium
- function
KiteModels.install_examples()
that copies the examples, the data folder and installs the required extra packages - log alpha2, alpha3, alpha4; they must never become negative
- the calculation of the call-backs per time step was fixed in all examples and the tests
- the function
copy_examples()
copies now all examples - updated the documentation
- improved the scripts in the bin folder, not relevant for most users
- renamed the example
simulate.jl
tosimulate_simple.jl
- renamed the example
simulate_ii.jl
tosimulate_steering.jl
- add the script
menu.jl
that provides a menu with all the examples - bump ControlPlots to 0.1.4
- bump KiteUtils to 0.7.4
- bump WinchModels to 0.3.2
- bump KitePodModels to 0.3.3
- fix example
reel_out_4p_torque_control.jl
- use a new version of
WinchModels.jl
which provides an additional, torque-controlled winch - add many new winch parameters to
settings.jl
- BREAKING change: rename
v_ro
toset_speed
in function step()
- bump KiteUtils to version 0.6.16
- bump ControlPlots to version 0.0.12
- bump KiteUtils to version 0.6.12
- drop support for Julia 1.9
- replace Plots with ControlPlots in the examples
- use
rel_compr_stiffness
andrel_damping
from settings.yaml
- update KiteUtils to v0.6.7
- update Documenter to v1.0
- add type
KPS4_3L
, which is now only a copy ofKPS4
, but shall implement a kite with the steering lines going to the ground
- document the support for the
DImplicitEuler
solver, which is not very accurate, but because it is well known it can serve as a reference - support changing
max_order
for theDFBDF
- further reduced the memory usage
- it is now possible (and suggested) to use the DAE solver DFBDF.
This requires adding the following line to the settings.yaml file:
solver: "DFBDF"
The new solver is much faster (4x average, 1.8x worst case), has a lot less memory allocations (~ 50%) and is also much more stable in highly dynamic situations.
- new, non-allocating function
update_sys_state!(ss::SysState, s::AKM, zoom=1.0)
- improved performance by 10% by implementing custom
norm()
function for 3D vectors
- fix the method
clear!(s::KPS4)
which failed for models with less than 6 tether segments
Simulations should work fine now for one to about 28 tether segments (no hard upper limit, but things become slow and the visualization ugly if you have too many segments).