Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
127d4e6
#61 add pulley example to menu
jellepoland Aug 6, 2025
c4b1875
Add tutorial_1 example and data files
jellepoland Aug 7, 2025
562538d
Merge remote-tracking branch 'origin/main' into 61-adding-simple-stru…
jellepoland Aug 7, 2025
d4b23bb
#61 intermediate commit
jellepoland Aug 7, 2025
0b4b8eb
#61 created data subfolders
jellepoland Aug 7, 2025
5bc43ef
adding-simple-structural-test-cases
jellepoland Aug 7, 2025
4a9ae17
#61 creating simple_pulley and hanging_mass examples
jellepoland Aug 7, 2025
e3dd83a
#61 changes src code to allow for diameter input in the Segment
jellepoland Aug 7, 2025
f3fcab3
#61 hanging_mass and simple_pulley working smoothly
jellepoland Aug 7, 2025
cb9b9e7
#81 resolving data/ system yaml problem
jellepoland Aug 7, 2025
ad0b7b5
Add load_settings function, diameter parameter, and catenary example
jellepoland Aug 11, 2025
f394769
Merge main into feature branch
jellepoland Aug 11, 2025
98dfef6
#61 added a damping_analysis script
jellepoland Aug 11, 2025
10cf305
#61 #93 working definition, need to add implementation
jellepoland Aug 12, 2025
326815c
#61 #93 still working
jellepoland Aug 12, 2025
144be0a
#61 #91 working on drag tests, through vertically hanging deflecting …
jellepoland Aug 12, 2025
21ebfa4
#61 isolated drag deflection test also working
jellepoland Aug 12, 2025
c0369d8
#61 adding saddle_form example
jellepoland Aug 12, 2025
fcbe52d
#61 commiting before adding plots for 3D plotting
jellepoland Aug 12, 2025
5dbc72d
#61 saddle_form not yet working
jellepoland Aug 12, 2025
f99ac5f
#61 saddle_problem not yet working
jellepoland Aug 12, 2025
089265e
#61 saddle_form is working!
jellepoland Aug 13, 2025
236522b
#61 trying to resolve version control issue with openssl 3.3.3 incomp…
jellepoland Aug 14, 2025
4636681
#61 second commit because to many changes
jellepoland Aug 14, 2025
21f14aa
#61 removing openssl3_3_3 problems
jellepoland Aug 14, 2025
4eb2c84
#61 2nd commit
jellepoland Aug 14, 2025
4ce5737
#61 changing to simpler 4 grid size saddle_form
jellepoland Aug 14, 2025
5dbf9b2
Merge branch 'main' into 61-revert-to-working-toml
jellepoland Aug 14, 2025
0797475
#61 commiting in between, to resolve Settings problem temporarily
jellepoland Aug 14, 2025
dce5e0e
#61, #108, #59, #60 yaml_geometry_loader v1, and creating multi-level…
jellepoland Aug 14, 2025
8d1aa25
#111 updating menu
jellepoland Aug 21, 2025
b6f0c77
#61 aerodynamic examples working, structural examples have path probl…
jellepoland Oct 6, 2025
6c3ae28
PATH PROBLEMS
jellepoland Oct 6, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,13 @@ SPDX-FileCopyrightText: 2025 Uwe Fechner, Bart van de Lint
SPDX-License-Identifier: MPL-2.0
-->

# v0.4.2 ???
## Added
- new example files, testing the workings of the structural solver: #file:hanging_mass.jl , #file:simple_pulley.jl #file:catenary_line.jl #file:tether_deflection_by_wind.jl #file:catenary_line.jl
cmd:
JULIA_PKG_PRECOMPILE_AUTO=0 ./bin/run_julia --precompile false --copy-manifest false -e 'include("examples/menu.jl")'


# v0.4.1 13-08-2025
## Fixed
- Update Artifacts.toml.default
Expand Down
16 changes: 12 additions & 4 deletions Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ version = "0.4.1"
[deps]
AtmosphericModels = "c59cac55-771d-4f45-b14d-1c681463a295"
CodecZlib = "944b1d66-785c-5afd-91f1-9de20f533193"
ControlPlots = "23c2ee80-7a9e-4350-b264-8e670f12517c"
ControlSystemsBase = "aaaaaaaa-a6ca-5380-bf3e-84a91bcd477e"
DiffEqBase = "2b5f629d-d688-5b77-993f-72d75c75574e"
DocStringExtensions = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae"
Expand All @@ -15,11 +16,15 @@ LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
LinearSolve = "7ed4a6bd-45f5-4d41-b270-4a48e9bafcae"
ModelingToolkit = "961ee093-0014-501f-94e3-6117800e7a78"
NonlinearSolve = "8913a72c-1f9b-4ce2-8d82-65094dcecaec"
OpenSSL_jll = "458c3c95-2e84-50aa-8efc-19380b2a3a95"
OrderedCollections = "bac558e1-5e72-5ebc-8fee-abe8a469f55d"
OrdinaryDiffEqBDF = "6ad6398a-0878-4a85-9266-38940aa047c8"
OrdinaryDiffEqCore = "bbf590c4-e513-4bbe-9b18-05decba2e5d8"
OrdinaryDiffEqNonlinearSolve = "127b3ac7-2247-4354-8eb6-78cf4e7c58e8"
Parameters = "d96e819e-fc66-5662-9728-84c9c7592b0a"
Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
PlotlyJS = "f0f68f2c-4968-5e81-91da-67840de0976a"
Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80"
PrecompileTools = "aea7be01-6a6a-4083-8856-8a6e6704d82a"
Printf = "de0858da-6303-5e67-8744-51eddeeeb8d7"
REPL = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb"
Expand All @@ -42,9 +47,7 @@ Timers = "21f18d07-b854-4dab-86f0-c15a3821819a"
UnPack = "3a884ed6-31ef-47d7-9d2a-63182c4928ed"
VortexStepMethod = "ed3cd733-9f0f-46a9-93e0-89b8d4998dd9"
WinchModels = "7dcfa46b-7979-4771-bbf4-0aee0da42e1f"

[weakdeps]
ControlPlots = "23c2ee80-7a9e-4350-b264-8e670f12517c"
YAML = "ddb6d928-2868-570f-bddf-ab3f9cf99eb6"

[extensions]
SymbolicAWEModelsControlPlotsExt = "ControlPlots"
Expand All @@ -59,17 +62,21 @@ ControlSystemsBase = "1.18.1"
DiffEqBase = "6.161.0"
DocStringExtensions = "0.9.4"
Documenter = "1.10.1"
KiteUtils = "0.10.10"
KiteUtils = "0.10.16"
LaTeXStrings = "1.4.0"
LinearAlgebra = "1"
LinearSolve = "2 - 3.24"
ModelingToolkit = "~10.16"
NonlinearSolve = "4.8.0"
OpenSSL_jll = "3.0.16"
OrderedCollections = "1.8.1"
OrdinaryDiffEqBDF = "1.5.0"
OrdinaryDiffEqCore = "1.23.0"
OrdinaryDiffEqNonlinearSolve = "1.6.1"
Parameters = "0.12"
Pkg = "1"
PlotlyJS = "0.18.17"
Plots = "1.40"
PrecompileTools = "1.2.1"
Printf = "1"
REPL = "1"
Expand All @@ -94,6 +101,7 @@ Timers = "0.1.5"
UnPack = "1.0.2"
VortexStepMethod = "2.0.0"
WinchModels = "0.3.6"
YAML = "0.4.14"
julia = "1"

[extras]
Expand Down
107 changes: 107 additions & 0 deletions data/TUDELFT_V3_KITE/aero_geometry.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
wing_sections:
# ---------------------------------------------------------------
# headers:
# - airfoil_id: integer, unique identifier for the airfoil (matches wing_airfoils)
# - LE_x: x-coordinate of leading edge
# - LE_y: y-coordinate of leading edge
# - LE_z: z-coordinate of leading edge
# - TE_x: x-coordinate of trailing edge
# - TE_y: y-coordinate of trailing edge
# - TE_z: z-coordinate of trailing edge
# ---------------------------------------------------------------
headers: [airfoil_id, LE_x, LE_y, LE_z, TE_x, TE_y, TE_z]
data:
- [19, 0.10494809354160103, 4.110425010287237, 8.27069488190273, 0.9322352740642089, 4.136759541813347, 8.276769856483405]
- [18, -0.12594856150986303, 4.095312460948618, 8.381752674216157, 0.9480319715306028, 4.119176793915081, 8.387506882641508]
- [17, -0.415204088177974, 4.058392218797549, 8.602739816172805, 0.9806642670037444, 4.0661917809302714, 8.604784652851428]
- [16, -0.5839406178913704, 4.017404143963288, 8.823136130673557, 1.0133061573517872, 4.0126965083918655, 8.821802062421128]
- [15, -0.6731255454312801, 3.9710648600916856, 9.042296994306358, 1.0459407519807051, 3.959304771307195, 9.038711553698102]
- [14, -0.7630010692513897, 3.808661454565653, 9.461650307607462, 1.1148900094481449, 3.8099544198423287, 9.462462687618386]
- [13, -0.8034346573868656, 3.671721332477886, 9.640208096108445, 1.1590484514963157, 3.676560321852442, 9.644355401152323]
- [12, -0.8426236438512831, 3.5037765531662273, 9.793146879047017, 1.2069146554234733, 3.5081098865401383, 9.79813951074277]
- [11, -0.9107041725649544, 3.136094612354681, 10.04874447891271, 1.3282999037052468, 3.1343435230977734, 10.046504069372347]
- [10, -0.9734084029764644, 2.799119438334862, 10.344239736588595, 1.341651389866222, 2.7979060165852596, 10.342401274552168]
- [9, -1.0012604181004636, 2.60606743950073, 10.460915675643339, 1.3470535121521396, 2.607652208222479, 10.4640730423076]
- [8, -1.0255704673876633, 2.3933957820040352, 10.539222758944668, 1.3704766336634273, 2.3946575320852, 10.542717092764684]
- [7, -1.066808167099677, 1.9597511829533572, 10.648710571788577, 1.4286937460004634, 1.9587427796536303, 10.645858306351975]
- [6, -1.102721455861017, 1.5539231291222366, 10.837899390284646, 1.4218476587327253, 1.5529087742581646, 10.834735742551917]
- [5, -1.1174483964012778, 1.3372547196154843, 10.903130724885706, 1.4206278262933396, 1.337221665561774, 10.902962868560538]
- [4, -1.1290037004055944, 1.111273134975715, 10.922140965756022, 1.4350857915331694, 1.1111744842343718, 10.920881486234418]
- [3, -1.1448828836323988, 0.6642030404518473, 10.908203792543517, 1.4733964618305042, 0.6638228115665804, 10.903361447444984]
- [2, -1.1544229650457856, 0.22477286325409476, 10.989264150331223, 1.4484005139953104, 0.2247570459738744, 10.989096462216464]
- [1, -1.1557911914860979, 0.0, 11.00491618799836, 1.443146003226444, 0.0, 11.004972573823276]
- [2, -1.1544229650457856, -0.22477286325409476, 10.989264150331223, 1.4484005139953104, -0.2247570459738744, 10.989096462216464]
- [3, -1.1448828836323988, -0.6642030404518473, 10.908203792543517, 1.4733964618305042, -0.6638228115665804, 10.903361447444984]
- [4, -1.1290037004055944, -1.111273134975715, 10.922140965756022, 1.4350857915331694, -1.1111744842343718, 10.920881486234418]
- [5, -1.1174483964012778, -1.3372547196154843, 10.903130724885706, 1.4206278262933396, -1.337221665561774, 10.902962868560538]
- [6, -1.102721455861017, -1.5539231291222366, 10.837899390284646, 1.4218476587327253, -1.5529087742581646, 10.834735742551917]
- [7, -1.066808167099677, -1.9597511829533572, 10.648710571788577, 1.4286937460004634, -1.9587427796536303, 10.645858306351975]
- [8, -1.0255704673876633, -2.3933957820040352, 10.539222758944668, 1.3704766336634273, -2.3946575320852, 10.542717092764684]
- [9, -1.0012604181004636, -2.60606743950073, 10.460915675643339, 1.3470535121521396, -2.607652208222479, 10.4640730423076]
- [10, -0.9734084029764644, -2.799119438334862, 10.344239736588595, 1.341651389866222, -2.7979060165852596, 10.342401274552168]
- [11, -0.9107041725649544, -3.136094612354681, 10.04874447891271, 1.3282999037052468, -3.1343435230977734, 10.046504069372347]
- [12, -0.8426236438512831, -3.5037765531662273, 9.793146879047017, 1.2069146554234733, -3.5081098865401383, 9.79813951074277]
- [13, -0.8034346573868656, -3.671721332477886, 9.640208096108445, 1.1590484514963157, -3.676560321852442, 9.644355401152323]
- [14, -0.7630010692513897, -3.808661454565653, 9.461650307607462, 1.1148900094481449, -3.8099544198423287, 9.462462687618386]
- [15, -0.6731255454312801, -3.9710648600916856, 9.042296994306358, 1.0459407519807051, -3.959304771307195, 9.038711553698102]
- [16, -0.5839406178913704, -4.017404143963288, 8.823136130673557, 1.0133061573517872, -4.0126965083918655, 8.821802062421128]
- [17, -0.415204088177974, -4.058392218797549, 8.602739816172805, 0.9806642670037444, -4.0661917809302714, 8.604784652851428]
- [18, -0.12594856150986303, -4.095312460948618, 8.381752674216157, 0.9480319715306028, -4.119176793915081, 8.387506882641508]
- [19, 0.10494809354160103, -4.110425010287237, 8.27069488190273, 0.9322352740642089, -4.136759541813347, 8.276769856483405]

wing_airfoils:
# ---------------------------------------------------------------
# headers:
# - airfoil_id: integer, unique identifier for the airfoil
# - type: one of [neuralfoil, breukels_regression, masure_regression, polars]
# - info_dict: dictionary with parameters depending on 'type'
#
# info_dict fields by type:
# - breukels_regression:
# t: Tube diameter non-dimensionalized by chord (required)
# kappa: Maximum camber height/magnitude, non-dimensionalized by chord (required)
# - neuralfoil:
# dat_file_path: Path to airfoil .dat file (x, y columns)
# model_size: NeuralFoil model size (e.g., "xxxlarge")
# xtr_lower: Lower transition location (0=forced, 1=free)
# xtr_upper: Upper transition location
# n_crit: Critical amplification factor (see guidelines below)
# n_crit guidelines:
# Sailplane: 12–14
# Motorglider: 11–13
# Clean wind tunnel: 10–12
# Average wind tunnel: 9 (standard "e^9 method")
# Dirty wind tunnel: 4–8
# - polars:
# csv_file_path: Path to polar CSV file (columns: alpha [rad], cl, cd, cm)
# - masure_regression:
# t, eta, kappa, delta, lamba, phi: Regression parameters
# - inviscid:
# no further data is required
# ---------------------------------------------------------------
alpha_range: [-10, 31, 0.5] # [deg], in this range the polars are calculated
reynolds: !!float 1e6 # Reynolds number
headers: [airfoil_id, type, info_dict]
data:
# The polars were generated using 2D RANS CFD simulations at Re=5e5
# And fitted using PCHIP interpolation
# See --> https://repository.tudelft.nl/record/uuid:865d59fc-ccff-462e-9bac-e81725f1c0c9
- [1, polars, {csv_file_path: "polars_CFD/1.csv"}]
- [2, polars, {csv_file_path: "polars_CFD/2.csv"}]
- [3, polars, {csv_file_path: "polars_CFD/3.csv"}]
- [4, polars, {csv_file_path: "polars_CFD/4.csv"}]
- [5, polars, {csv_file_path: "polars_CFD/5.csv"}]
- [6, polars, {csv_file_path: "polars_CFD/6.csv"}]
- [7, polars, {csv_file_path: "polars_CFD/7.csv"}]
- [8, polars, {csv_file_path: "polars_CFD/8.csv"}]
- [9, polars, {csv_file_path: "polars_CFD/9.csv"}]
- [10, polars, {csv_file_path: "polars_CFD/10.csv"}]
- [11, polars, {csv_file_path: "polars_CFD/11.csv"}]
- [12, polars, {csv_file_path: "polars_CFD/12.csv"}]
- [13, polars, {csv_file_path: "polars_CFD/13.csv"}]
- [14, polars, {csv_file_path: "polars_CFD/14.csv"}]
- [15, polars, {csv_file_path: "polars_CFD/15.csv"}]
- [16, polars, {csv_file_path: "polars_CFD/16.csv"}]
- [17, polars, {csv_file_path: "polars_CFD/17.csv"}]
- [18, polars, {csv_file_path: "polars_CFD/18.csv"}]
- [19, polars, {csv_file_path: "polars_CFD/19.csv"}]
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
alpha,beta,CL,CD,CS,CMy
1.02,0,0.2278625272194466,0.0490919571607997,-0.028991478200473,-0.0971304889257096
4.02,0,0.4610104802890269,0.0516566817024969,-0.06116291297791359,-0.177995425157634
7.02,0,0.6748642166054709,0.0643789856608573,-0.09170612013580448,-0.2399628564061313
10.02,0,0.8685945393341531,0.0841781647387978,-0.12014981939630065,-0.2873743657009342
13.02,0,1.042518829707241,0.1099699784207837,-0.14632493718395287,-0.3234126609849657
15.02,0,1.147266423064987,0.1293063892392999,-0.16260131332214534,-0.3422906659660041
17.02,0,1.248363457881334,0.1505397278170317,-0.17819835351371366,-0.3593648645427019
19.02,0,1.340909392696446,0.172443901716702,-0.19275273990602687,-0.3729793258363525
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
CL,CD,alpha,CS
-0.133333333,0.0728,-3.98,0
-0.066666667,0.0672,-2.98,0
0.073015873,0.0552,-0.98,0
0.225396825,0.051,1.02,0
0.384126984,0.052,3.02,0
0.46031746,0.0536,4.02,0
0.536507937,0.06,5.02,0
0.673015873,0.07,7.02,0
0.803174603,0.075,9.02,0
0.873015873,0.085,10.02,0
0.93015873,0.09,11.02,0
1.041269841,0.115,13.02,0
1.146031746,0.135,15.02,0
1.24,0.151,17.02,0
1.342857143,0.171,19.02,0
0.88,0.31,21.02,0
0.91,0.34,23.02,0
0.93,0.38,25.02,0
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
alpha,CL,CD,CL/CD,CS
-12.0,-0.2382871512913027,0.10555351086138359,-2.2575009523295666,8.493387378390686e-14
-11.0,-0.23078413996904473,0.10186112684362705,-2.265674326608765,6.616874649497016e-14
-10.0,-0.22230140038021914,0.09806363640487119,-2.266909616347621,4.373272668096159e-14
-9.0,-0.21585315982172304,0.0931590398953698,-2.317039334713575,2.739682786368477e-14
-8.0,-0.20625706590216833,0.08814998331707347,-2.339842370250558,1.1046588689401156e-14
-7.0,-0.1998343140258721,0.08290261953105998,-2.410470442987666,-2.389661935808156e-14
-6.0,-0.18199775713691974,0.07765158375393942,-2.343773923705537,-3.872611350474041e-14
-5.0,-0.14850648581010087,0.07109437185188841,-2.0888641666246923,-3.2393754503524565e-14
-4.0,-0.10858858872468641,0.06522454108866148,-1.6648425103839215,-3.0271060429342046e-14
-3.0,-0.06288342322853809,0.06000714503007155,-1.0479322620168838,-2.895668145826433e-14
-2.0,-0.007429949914950523,0.055498453779690086,-0.13387670122207165,-3.2169539191587655e-14
-1.0,0.05656004203302359,0.05159811771021331,1.0961648320327801,-3.44716398526909e-14
0.0,0.12392449645064037,0.04839062569141725,2.5609194896733913,-3.597944298611074e-14
1.0,0.19309362003485317,0.04593968204080192,4.203198878550238,-3.699581064093612e-14
2.0,0.2625331911314792,0.044328371503610776,5.922464151657241,-3.6349856219703554e-14
3.0,0.3323792213186091,0.04356996032047687,7.628632637574346,-3.6413469417385087e-14
4.0,0.40297413442239444,0.04359394940688724,9.243808829092464,-3.773253515649088e-14
5.0,0.4734826904404322,0.04438413803893367,10.667835658430365,-3.826806223929053e-14
6.0,0.5430144326845379,0.04590240400649957,11.829760214903983,-4.0253505670851383e-14
7.0,0.610689137470121,0.04806877475261435,12.704487281255428,-4.406262078692334e-14
8.0,0.6758859112182876,0.05085291168580261,13.290997286336015,-4.723118897422392e-14
9.0,0.7383699770457292,0.054242295408895566,13.612439729544315,-5.20455622927876e-14
10.0,0.7982179068869607,0.05807229829781809,13.74524395079696,-5.5385868816441935e-14
11.0,0.8557802537306283,0.062209616690946774,13.756398114170796,-5.702371714996311e-14
12.0,0.8988323082495834,0.0690977304744752,13.008130687904623,-6.141415623852904e-14
13.0,0.9147135983203839,0.08124056010481986,11.259321663220728,6.491282774779828e-13
14.0,0.9112748609115651,0.0966853408597458,9.425160554933385,4.54748749597064e-13
15.0,0.9085348699441353,0.11140779158846578,8.155038862095148,3.3836985824286487e-13
16.0,0.9062580847970818,0.1257712798490804,7.2056043787146695,2.6754981159878576e-13
17.0,0.8882638215990443,0.13985252773614038,6.3514320118327126,4.0927876403191203e-13
18.0,0.8801641114980264,0.15426592918480644,5.7054990440800015,2.5988028226070375e-13
19.0,0.8799535802082414,0.16798064710830107,5.238422373982847,1.821903726884496e-13
20.0,0.8812698509369349,0.18370556270697425,4.797186530179459,1.3007693874618696e-13
21.0,0.871379428960392,0.198621428734149,4.387137050185641,5.975307998613411e-15
22.0,0.8680573492907033,0.21572711063981947,4.023867685040394,-1.822880946847326e-15
23.0,0.8639910136639356,0.23075669712075686,3.7441644140529626,-5.408316146275571e-16
24.0,0.8613474653095494,0.24594284553183446,3.5022261511488364,-4.729369019706576e-15
25.0,0.8583553232582976,0.2571571564052344,3.3378628666498424,-7.613518753563846e-15
Loading