Skip to content
Merged
Show file tree
Hide file tree
Changes from 41 commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
9196bce
Fix warnings
ufechner7 Apr 6, 2026
b5014f3
Fix warnings
ufechner7 Apr 7, 2026
4cb1bd1
Large fix to avoid a closure
ufechner7 Apr 7, 2026
75fe2f0
Fix warning
ufechner7 Apr 7, 2026
ffd4ab1
Fix warning
ufechner7 Apr 7, 2026
50fb311
Fix warning
ufechner7 Apr 7, 2026
9783c57
Fix error
ufechner7 Apr 7, 2026
ca1c57d
Fix warnings
ufechner7 Apr 7, 2026
24bc519
Fix warnings
ufechner7 Apr 7, 2026
b076469
Fix warnings
ufechner7 Apr 7, 2026
74b5378
Fix warning
ufechner7 Apr 11, 2026
3ae1d50
Suppress one message
ufechner7 Apr 11, 2026
13d8f74
Update test/Project.toml
ufechner7 Apr 11, 2026
ceea7d6
Fix warning
ufechner7 Apr 11, 2026
611d177
Fix warning
ufechner7 Apr 11, 2026
b212b0b
Fix warnings
ufechner7 Apr 11, 2026
21ebe19
Fix tests
ufechner7 Apr 11, 2026
f7b041e
Fix warnings
ufechner7 Apr 11, 2026
2343460
Fix warnings
ufechner7 Apr 11, 2026
f8d3d55
Fix warnings
ufechner7 Apr 11, 2026
b941732
Fix warnings
ufechner7 Apr 11, 2026
9d86d40
Fix warning
ufechner7 Apr 11, 2026
9f67197
Fixed multi-wing bug
ufechner7 Apr 11, 2026
15b1340
Fix set_va! with omega on multi-wing bod
ufechner7 Apr 11, 2026
bd7e854
Remove unused argument reference_point
ufechner7 Apr 11, 2026
f73eda8
Rename unused parameter to _p
ufechner7 Apr 11, 2026
d75cfa7
Fix Copilot remark
ufechner7 Apr 11, 2026
8a49e3d
Activate examples project in the examples
ufechner7 Apr 11, 2026
57b7de9
Add using SciMLBase
ufechner7 Apr 11, 2026
73814df
Do not export solve_base!
ufechner7 Apr 11, 2026
85bda52
Fix issue found by Copilot related to set_va!
ufechner7 Apr 11, 2026
801c411
Update test/solver/test_solver.jl
ufechner7 Apr 11, 2026
1c805c3
Fix docstring
ufechner7 Apr 11, 2026
8eedaa1
Fix allocations
ufechner7 Apr 11, 2026
f532fe7
Fix warnings
ufechner7 Apr 11, 2026
4d57ca5
Add package Pkg
ufechner7 Apr 11, 2026
831c7fc
Fix warnings
ufechner7 Apr 11, 2026
2ada45c
Fix warnings
ufechner7 Apr 11, 2026
cfe5a53
Fix warning
ufechner7 Apr 11, 2026
e49ad9b
Update default manifest
ufechner7 Apr 11, 2026
fd8829c
Update src/solver.jl
ufechner7 Apr 11, 2026
e944b82
Add file to .gitignore
ufechner7 Apr 11, 2026
e681da6
Update default manifest
ufechner7 Apr 11, 2026
f3c920e
Instantiate the environment
ufechner7 Apr 11, 2026
103a694
Next try
ufechner7 Apr 11, 2026
b3b7a57
Next try
ufechner7 Apr 11, 2026
9e8d381
Avoid closure
ufechner7 Apr 11, 2026
c405a7a
Increase timeout limit
ufechner7 Apr 11, 2026
b7d744f
Use workspaces
ufechner7 Apr 11, 2026
cbee7e8
Add jetls_examples
ufechner7 Apr 11, 2026
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
15 changes: 14 additions & 1 deletion .JETLSConfig.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,17 @@ formatter = "JuliaFormatter"
auto_instantiate = false # boolean, default: true

[diagnostic]
all_files = false # boolean, default: true
all_files = false # boolean, default: true

[[diagnostic.patterns]]
pattern = "no matching method found `copy!\\(::Random\\.TaskLocalRNG, ::Nothing\\)`"
match_by = "message"
match_type = "regex"
severity = "off"

[[diagnostic.patterns]]
pattern = "IncorrectCallArgs"
match_by = "code"
match_type = "literal"
severity = "off"
path = "src/solver.jl"
Comment thread
ufechner7 marked this conversation as resolved.
54 changes: 28 additions & 26 deletions Manifest-v1.12.toml.default
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,9 @@ version = "0.1.44"

[[deps.Adapt]]
deps = ["LinearAlgebra", "Requires"]
git-tree-sha1 = "35ea197a51ce46fcd01c4a44befce0578a1aaeca"
git-tree-sha1 = "0761717147821d696c9470a7a86364b2fbd22fd8"
uuid = "79e6a3ab-5dfb-504d-930d-738a2a938a0e"
version = "4.5.0"
version = "4.5.2"
weakdeps = ["SparseArrays", "StaticArrays"]

[deps.Adapt.extensions]
Expand Down Expand Up @@ -106,9 +106,9 @@ version = "1.11.0"

[[deps.BracketingNonlinearSolve]]
deps = ["CommonSolve", "ConcreteStructs", "NonlinearSolveBase", "PrecompileTools", "Reexport", "SciMLBase"]
git-tree-sha1 = "d9b66401c1fa982c7ca984d0566af5a9b3551420"
git-tree-sha1 = "7ad7171d693ae5552ac43862e7f6b61df4471c2b"
uuid = "70df07ce-3d50-431d-a3e7-ca6ddb60ac1e"
version = "1.12.0"
version = "1.12.1"
weakdeps = ["ChainRulesCore", "ForwardDiff"]

[deps.BracketingNonlinearSolve.extensions]
Expand Down Expand Up @@ -365,16 +365,18 @@ version = "1.1.3"

[[deps.FunctionWrappersWrappers]]
deps = ["FunctionWrappers", "PrecompileTools", "TruncatedStacktraces"]
git-tree-sha1 = "5201523536a43bf8aef3914b7f60b552b098ef8e"
git-tree-sha1 = "3e13d0b39d117a03d3fb5c88a039e94787a37fcb"
uuid = "77dc65aa-8811-40c2-897b-53d922fa7daf"
version = "1.1.0"
version = "1.4.0"

[deps.FunctionWrappersWrappers.extensions]
FunctionWrappersWrappersEnzymeExt = ["Enzyme", "EnzymeCore"]
FunctionWrappersWrappersMooncakeExt = "Mooncake"

[deps.FunctionWrappersWrappers.weakdeps]
Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9"
EnzymeCore = "f151be2c-9106-41f4-ab19-57ee4f262869"
Mooncake = "da2b9cff-9c12-43a0-ae48-6db2b0edb7d6"

[[deps.Future]]
deps = ["Random"]
Expand Down Expand Up @@ -505,9 +507,9 @@ version = "1.18.0+0"

[[deps.LineSearch]]
deps = ["ADTypes", "CommonSolve", "ConcreteStructs", "FastClosures", "LinearAlgebra", "MaybeInplace", "PrecompileTools", "SciMLBase", "SciMLJacobianOperators", "StaticArraysCore"]
git-tree-sha1 = "9f7253c0574b4b585c8909232adb890930da980a"
git-tree-sha1 = "69da095e4c24ed3c4a168bb76dc9c620a6d7239c"
uuid = "87fe0de2-c867-4266-b59a-2f0a94fc965b"
version = "0.1.6"
version = "0.1.7"

[deps.LineSearch.extensions]
LineSearchLineSearchesExt = "LineSearches"
Expand All @@ -522,9 +524,9 @@ version = "1.12.0"

[[deps.LinearSolve]]
deps = ["ArrayInterface", "ConcreteStructs", "DocStringExtensions", "EnumX", "GPUArraysCore", "InteractiveUtils", "Krylov", "Libdl", "LinearAlgebra", "MKL_jll", "Markdown", "OpenBLAS_jll", "PrecompileTools", "Preferences", "RecursiveArrayTools", "Reexport", "SciMLBase", "SciMLLogging", "SciMLOperators", "Setfield", "StaticArraysCore"]
git-tree-sha1 = "7652309d5839b0477a8c5a1d5142d6ebb36864f6"
git-tree-sha1 = "35b6d3b3cfa50f97a7e13bfdd3b82d9f9fcb68af"
uuid = "7ed4a6bd-45f5-4d41-b270-4a48e9bafcae"
version = "3.70.0"
version = "3.72.0"

[deps.LinearSolve.extensions]
LinearSolveAMDGPUExt = "AMDGPU"
Expand Down Expand Up @@ -670,9 +672,9 @@ version = "1.3.0"

[[deps.NonlinearSolve]]
deps = ["ADTypes", "ArrayInterface", "BracketingNonlinearSolve", "CommonSolve", "ConcreteStructs", "DifferentiationInterface", "FastClosures", "FiniteDiff", "ForwardDiff", "LineSearch", "LinearAlgebra", "LinearSolve", "NonlinearSolveBase", "NonlinearSolveFirstOrder", "NonlinearSolveQuasiNewton", "NonlinearSolveSpectralMethods", "PrecompileTools", "Preferences", "Reexport", "SciMLBase", "SciMLLogging", "Setfield", "SimpleNonlinearSolve", "StaticArraysCore", "SymbolicIndexingInterface"]
git-tree-sha1 = "373b688150f160b68083733657246532389e4280"
git-tree-sha1 = "e88921859836899abe94d08ea0fd42137067280e"
uuid = "8913a72c-1f9b-4ce2-8d82-65094dcecaec"
version = "4.17.0"
version = "4.17.1"

[deps.NonlinearSolve.extensions]
NonlinearSolveFastLevenbergMarquardtExt = "FastLevenbergMarquardt"
Expand Down Expand Up @@ -703,9 +705,9 @@ version = "4.17.0"

[[deps.NonlinearSolveBase]]
deps = ["ADTypes", "Adapt", "ArrayInterface", "CommonSolve", "Compat", "ConcreteStructs", "DifferentiationInterface", "EnzymeCore", "FastClosures", "FunctionWrappers", "FunctionWrappersWrappers", "LinearAlgebra", "LogExpFunctions", "Markdown", "MaybeInplace", "PreallocationTools", "PrecompileTools", "Preferences", "Printf", "RecursiveArrayTools", "SciMLBase", "SciMLJacobianOperators", "SciMLLogging", "SciMLOperators", "SciMLStructures", "Setfield", "StaticArraysCore", "SymbolicIndexingInterface", "TimerOutputs"]
git-tree-sha1 = "e9bad06173df78880b8c0fd51ad9cd940547a195"
git-tree-sha1 = "5bd437a82d7e5eee049a1b488dedc726f0b84bd4"
uuid = "be0214bd-f91f-a760-ac4e-3421ce2b2da0"
version = "2.21.0"
version = "2.24.0"

[deps.NonlinearSolveBase.extensions]
NonlinearSolveBaseBandedMatricesExt = "BandedMatrices"
Expand Down Expand Up @@ -735,25 +737,25 @@ version = "2.21.0"

[[deps.NonlinearSolveFirstOrder]]
deps = ["ADTypes", "ArrayInterface", "CommonSolve", "ConcreteStructs", "FiniteDiff", "ForwardDiff", "LineSearch", "LinearAlgebra", "LinearSolve", "MaybeInplace", "NonlinearSolveBase", "PrecompileTools", "Reexport", "SciMLBase", "SciMLJacobianOperators", "Setfield", "StaticArraysCore"]
git-tree-sha1 = "ae36a13005343aed5e731f146637f61a54702444"
git-tree-sha1 = "ce68820a4f421fb5bee7ec4dcf875aff33886bfb"
uuid = "5959db7a-ea39-4486-b5fe-2dd0bf03d60d"
version = "2.1.0"
version = "2.1.1"

[[deps.NonlinearSolveQuasiNewton]]
deps = ["ArrayInterface", "CommonSolve", "ConcreteStructs", "LinearAlgebra", "LinearSolve", "MaybeInplace", "NonlinearSolveBase", "PrecompileTools", "Reexport", "SciMLBase", "SciMLOperators", "StaticArraysCore"]
git-tree-sha1 = "2ada8e9892fd60b3f01a4984704d66fca682bd50"
git-tree-sha1 = "538432ca1aea8bf63db02929bf870501f8a7c64c"
uuid = "9a2c21bd-3a47-402d-9113-8faf9a0ee114"
version = "1.13.0"
version = "1.13.1"
weakdeps = ["ForwardDiff"]

[deps.NonlinearSolveQuasiNewton.extensions]
NonlinearSolveQuasiNewtonForwardDiffExt = "ForwardDiff"

[[deps.NonlinearSolveSpectralMethods]]
deps = ["CommonSolve", "ConcreteStructs", "LineSearch", "MaybeInplace", "NonlinearSolveBase", "PrecompileTools", "Reexport", "SciMLBase"]
git-tree-sha1 = "e3e8be34968ad07be8734c3d6e42b3f14218b694"
git-tree-sha1 = "a3781e12becdf0ce5520bd97ec617e879bf4e9f2"
uuid = "26075421-4e9a-44e1-8bd1-420ed7ad02b2"
version = "1.7.0"
version = "1.7.1"
weakdeps = ["ForwardDiff"]

[deps.NonlinearSolveSpectralMethods.extensions]
Expand Down Expand Up @@ -914,9 +916,9 @@ version = "1.3.1"

[[deps.RuntimeGeneratedFunctions]]
deps = ["ExprTools", "SHA", "Serialization"]
git-tree-sha1 = "7257165d5477fd1025f7cb656019dcb6b0512c38"
git-tree-sha1 = "cfcdc949c4660544ab0fdeed169561cb22f835f4"
uuid = "7e49a35a-f44a-4d26-94aa-eba1b4ca6b47"
version = "0.5.17"
version = "0.5.18"

[[deps.SHA]]
uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce"
Expand Down Expand Up @@ -969,9 +971,9 @@ version = "2.154.0"

[[deps.SciMLJacobianOperators]]
deps = ["ADTypes", "ArrayInterface", "ConcreteStructs", "ConstructionBase", "DifferentiationInterface", "FastClosures", "LinearAlgebra", "SciMLBase", "SciMLOperators"]
git-tree-sha1 = "e96d5e96debf7f80a50d0b976a13dea556ccfd3a"
git-tree-sha1 = "7156a5b51cba1bea33a82a036939ead4131f92bc"
uuid = "19f34311-ddf3-4b8b-af20-060888a46c0e"
version = "0.1.12"
version = "0.1.13"

[[deps.SciMLLogging]]
deps = ["Logging", "LoggingExtras", "Preferences"]
Expand Down Expand Up @@ -1024,9 +1026,9 @@ version = "1.11.0"

[[deps.SimpleNonlinearSolve]]
deps = ["ADTypes", "ArrayInterface", "BracketingNonlinearSolve", "CommonSolve", "ConcreteStructs", "DifferentiationInterface", "FastClosures", "FiniteDiff", "ForwardDiff", "LineSearch", "LinearAlgebra", "MaybeInplace", "NonlinearSolveBase", "PrecompileTools", "Reexport", "SciMLBase", "Setfield", "StaticArraysCore"]
git-tree-sha1 = "744c3f0fb186ad28376199c1e72ca39d0c614b5d"
git-tree-sha1 = "d688de789b7e643326caf9a1051376dadbcd8873"
uuid = "727e6d20-b764-4bd8-a329-72de5adea6c7"
version = "2.11.0"
version = "2.11.1"

[deps.SimpleNonlinearSolve.extensions]
SimpleNonlinearSolveChainRulesCoreExt = "ChainRulesCore"
Expand Down
10 changes: 10 additions & 0 deletions bin/jetls
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#!/bin/bash
# SPDX-FileCopyrightText: 2025 Uwe Fechner
# SPDX-License-Identifier: MIT

cd "$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")"
if [[ $(basename $(pwd)) == "bin" ]]; then
cd ..
fi

jetls check --root=. src/
20 changes: 11 additions & 9 deletions examples/V3_kite.jl
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
using Pkg
Pkg.activate(@__DIR__)

using LinearAlgebra
using VortexStepMethod
using GLMakie
Expand All @@ -7,7 +10,7 @@ PLOT = true
USE_TEX = false
DEFORM = false

project_dir = dirname(dirname(pathof(VortexStepMethod))) # Go up one level from src to project root#
project_dir = dirname(@__DIR__)
literature_paths = [
joinpath(project_dir, "data", "TUDELFT_V3_KITE", "literature_results", "CFD_RANS_Rey_5e5_Poland2025_alpha_sweep_beta_0_NoStruts.csv"),
joinpath(project_dir, "data", "TUDELFT_V3_KITE", "literature_results", "CFD_RANS_Rey_10e5_Poland2025_alpha_sweep_beta_0.csv"),
Expand Down Expand Up @@ -117,8 +120,8 @@ isinteractive() && wait(scr1)

# Polar sweep including force and moment coefficients, with selectable solve or solve! path
function compute_polar_input(
solver,
body_aero,
solver::VortexStepMethod.Solver,
body_aero::VortexStepMethod.BodyAerodynamics,
angle_range;
angle_type::String="angle_of_attack",
angle_of_attack::Float64=0.0,
Expand Down Expand Up @@ -160,14 +163,12 @@ function compute_polar_input(
solver.lr.gamma_new,
solver.reference_point,
solver.density,
solver.aerodynamic_model_type,
solver.core_radius_fraction,
solver.mu,
solver.lr.alpha_dist,
solver.lr.v_a_dist,
solver.sol._chord_dist,
solver.sol._x_airf_dist,
solver.sol._y_airf_dist,
solver.sol._z_airf_dist,
solver.sol._va_dist,
solver.br.va_norm_dist,
Expand All @@ -191,9 +192,9 @@ function compute_polar_input(
end

function plot_polars(
solver_list,
body_aero_list,
label_list;
solver_list::AbstractVector{<:VortexStepMethod.Solver},
body_aero_list::AbstractVector{<:VortexStepMethod.BodyAerodynamics},
label_list::AbstractVector{<:AbstractString};
literature_path_list::Vector{String}=String[],
angle_range=range(-10, 40, step=1),
angle_type::String="angle_of_attack",
Expand Down Expand Up @@ -232,7 +233,8 @@ function plot_polars(

# Literature cases
for (path, lbl) in zip(literature_path_list, label_list[length(solver_list)+1:end])
data = readdlm(path, ',')
data_raw = readdlm(path, ',')
data = data_raw isa Tuple ? data_raw[1] : data_raw
header_raw = string.(data[1, :])
header = lowercase.(strip.(header_raw))
angle_idx = if angle_type == "angle_of_attack"
Expand Down
4 changes: 4 additions & 0 deletions examples/bench.jl
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
using Pkg
Pkg.activate(@__DIR__)

using LinearAlgebra
using GLMakie
using VortexStepMethod
using VortexStepMethod: solve_base!


# Step 1: Define wing parameters
Expand Down
5 changes: 2 additions & 3 deletions examples/cleanup.jl
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@

# delete the generated polars
# it is useful if you want to benchmark the polar generation or if you have changed parameters
# Delete the generated polars.
# Useful if you want to benchmark the polar generation or if you have changed parameters.

file1="data/ram_air_kite/ram_air_kite_foil_cl_polar.csv"
file2="data/ram_air_kite/ram_air_kite_foil_cd_polar.csv"
Expand Down
3 changes: 3 additions & 0 deletions examples/menu.jl
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
using Pkg
Pkg.activate(@__DIR__)

using GLMakie
using VortexStepMethod
using REPL.TerminalMenus
Expand Down
5 changes: 3 additions & 2 deletions examples/pyramid_model.jl
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
using Pkg
Pkg.activate(@__DIR__)

using LinearAlgebra
using VortexStepMethod
using GLMakie

project_dir = dirname(dirname(pathof(VortexStepMethod))) # Go up one level from src to project root

# Load VSM vsm_settings from YAML configuration file
vsm_settings = VSMSettings("pyramid_model/vsm_settings.yaml")

Expand Down
7 changes: 5 additions & 2 deletions examples/ram_air_kite.jl
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
using Pkg
Pkg.activate(@__DIR__)

using GLMakie
using VortexStepMethod
using LinearAlgebra
Expand All @@ -6,7 +9,7 @@ PLOT = true
PRN = true
USE_TEX = false
DEFORM = true
LINEARIZE = false
const LINEARIZE = false

# Create wing geometry
wing = ObjWing(
Expand Down Expand Up @@ -70,7 +73,7 @@ end
# Solving
println("Solve")
results = VortexStepMethod.solve(solver, body_aero; log=true)
@time results = solve(solver, body_aero; log=true)
@time VortexStepMethod.solve(solver, body_aero; log=true)

body_y_coordinates = [panel.aero_center[2] for panel in body_aero.panels]

Expand Down
3 changes: 3 additions & 0 deletions examples/rectangular_wing.jl
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
using Pkg
Pkg.activate(@__DIR__)
Comment thread
ufechner7 marked this conversation as resolved.

using LinearAlgebra
using GLMakie
using VortexStepMethod
Expand Down
3 changes: 3 additions & 0 deletions examples/stall_model.jl
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
using Pkg
Pkg.activate(@__DIR__)

using GLMakie
using LinearAlgebra
using VortexStepMethod
Expand Down
Loading
Loading