The :curved reference wing (the one test/thesis_oriol_cayon.jl builds) does not converge: solve! with the VSM LOOP solver returns FAILURE, with NaN in lr.gamma_new, at α = 5.71° and at α = 10°, |va| = 20. Measured on main at 2b312ea (2026-09-16) while working on #317, with N = 40 panels. Its test checks geometry only and never solves, so the suite does not see it.
ba = ref_wing(:curved) # the thesis_oriol_cayon.jl curved wing, N = 40
set_va!(ba, 20.0 .* [cosd(5.7106), 0.0, sind(5.7106)])
s = Solver(ba; aerodynamic_model_type=VSM)
sol = solve!(s, ba)
sol.solver_status, s.lr.converged, count(isnan, s.lr.gamma_new) # FAILURE, false, > 0
What I would do: first find whether the NaN comes from the geometry (a panel frame or AIC entry) or from the iteration, then add a solve to the :curved test so the reference wing is pinned to converge. Not reproduced on current main yet; this records it so it is not lost. #315 is a different LOOP convergence failure (the fixed point at α = 0).
The
:curvedreference wing (the onetest/thesis_oriol_cayon.jlbuilds) does not converge:solve!with the VSM LOOP solver returnsFAILURE, with NaN inlr.gamma_new, at α = 5.71° and at α = 10°,|va| = 20. Measured on main at 2b312ea (2026-09-16) while working on #317, with N = 40 panels. Its test checks geometry only and never solves, so the suite does not see it.What I would do: first find whether the NaN comes from the geometry (a panel frame or AIC entry) or from the iteration, then add a solve to the
:curvedtest so the reference wing is pinned to converge. Not reproduced on current main yet; this records it so it is not lost. #315 is a different LOOP convergence failure (the fixed point at α = 0).