Any member of the JuliaNLSolvers organization here?

Is there anyone from the JuliaNLSolvers organization here? I see the organization has only two members: JuliaNLSolvers · GitHub

Perhaps a good time to look for additional members?

Someone should approve this workflow: handle underflow of norm(J[:,i])^2 by stevengj · Pull Request #296 · JuliaNLSolvers/NLsolve.jl · GitHub

For reference, NonlinearSolve.jl handles this effectively:

Just to be clear: AI and I spent three hours migrating to NonlinearSolve. It doesn’t work. It cannot solve the problem that NLsolve handles easily. Therefore, for me, maintaining and fixing NLsolve is essential.

What’s your MWE?

This code works: KiteModels.jl/test/test-steady-state-kps4.jl at bestie · OpenSourceAWE/KiteModels.jl · GitHub

The same code with NonlinearSolve doesn’t work. I do not yet have an MWE as proof.

I’ll take it from there.

1 Like

I ran that code with NonlinearSolve TrustRegion and… it just worked out of the box, it even passed the one test that NLsolve.jl didn’t pass.

So here’s a PR which passes all of your tests locally:

Is there some test there that isn’t in the repo?

1 Like

It doesn’t pass the tests locally:

julia> include("test/test-steady-state-kps4.jl")
  Activating project at `~/repos/KiteModels.jl/test`
┌ Warning: find_steady_state!: solver did not converge! retcode=Stalled
└ @ KiteModels ~/repos/KiteModels.jl/src/KPS4.jl:704
test_find_steady_state: Test Failed at /home/ufechner/repos/KiteModels.jl/test/test-steady-state-kps4.jl:42
  Expression: pre_tension > 1.0001
   Evaluated: 1.0 > 1.0001

Stacktrace:
 [1] macro expansion
   @ ~/.julia/juliaup/julia-1.11.9+0.x64.linux.gnu/share/julia/stdlib/v1.11/Test/src/Test.jl:680 [inlined]
 [2] macro expansion
   @ ~/repos/KiteModels.jl/test/test-steady-state-kps4.jl:42 [inlined]
 [3] macro expansion
   @ ~/.julia/juliaup/julia-1.11.9+0.x64.linux.gnu/share/julia/stdlib/v1.11/Test/src/Test.jl:1709 [inlined]
 [4] top-level scope
   @ ~/repos/KiteModels.jl/test/test-steady-state-kps4.jl:30
┌ Warning: find_steady_state!: solver did not converge! retcode=MaxIters
└ @ KiteModels ~/repos/KiteModels.jl/src/KPS4.jl:704
test_find_steady_state: Test Failed at /home/ufechner/repos/KiteModels.jl/test/test-steady-state-kps4.jl:42
  Expression: pre_tension > 1.0001
   Evaluated: 1.0 > 1.0001

Stacktrace:
 [1] macro expansion
   @ ~/.julia/juliaup/julia-1.11.9+0.x64.linux.gnu/share/julia/stdlib/v1.11/Test/src/Test.jl:680 [inlined]
 [2] macro expansion
   @ ~/repos/KiteModels.jl/test/test-steady-state-kps4.jl:42 [inlined]
 [3] macro expansion
   @ ~/.julia/juliaup/julia-1.11.9+0.x64.linux.gnu/share/julia/stdlib/v1.11/Test/src/Test.jl:1709 [inlined]
 [4] top-level scope
   @ ~/repos/KiteModels.jl/test/test-steady-state-kps4.jl:30
test_find_steady_state: Test Failed at /home/ufechner/repos/KiteModels.jl/test/test-steady-state-kps4.jl:45
  Expression: isapprox(tether_length(kps4_local), 1.008954l, rtol = 0.01)
   Evaluated: isapprox(197.42057783848486, 201.7908; rtol = 0.01)

Stacktrace:
 [1] macro expansion
   @ ~/.julia/juliaup/julia-1.11.9+0.x64.linux.gnu/share/julia/stdlib/v1.11/Test/src/Test.jl:680 [inlined]
 [2] macro expansion
   @ ~/repos/KiteModels.jl/test/test-steady-state-kps4.jl:45 [inlined]
 [3] macro expansion
   @ ~/.julia/juliaup/julia-1.11.9+0.x64.linux.gnu/share/julia/stdlib/v1.11/Test/src/Test.jl:1709 [inlined]
 [4] top-level scope
   @ ~/repos/KiteModels.jl/test/test-steady-state-kps4.jl:30
┌ Warning: find_steady_state!: solver did not converge! retcode=MaxIters
└ @ KiteModels ~/repos/KiteModels.jl/src/KPS4.jl:704
test_find_steady_state: Test Failed at /home/ufechner/repos/KiteModels.jl/test/test-steady-state-kps4.jl:42
  Expression: pre_tension > 1.0001
   Evaluated: 1.0 > 1.0001

Stacktrace:
 [1] macro expansion
   @ ~/.julia/juliaup/julia-1.11.9+0.x64.linux.gnu/share/julia/stdlib/v1.11/Test/src/Test.jl:680 [inlined]
 [2] macro expansion
   @ ~/repos/KiteModels.jl/test/test-steady-state-kps4.jl:42 [inlined]
 [3] macro expansion
   @ ~/.julia/juliaup/julia-1.11.9+0.x64.linux.gnu/share/julia/stdlib/v1.11/Test/src/Test.jl:1709 [inlined]
 [4] top-level scope
   @ ~/repos/KiteModels.jl/test/test-steady-state-kps4.jl:30
test_find_steady_state: Test Failed at /home/ufechner/repos/KiteModels.jl/test/test-steady-state-kps4.jl:45
  Expression: isapprox(tether_length(kps4_local), 1.008954l, rtol = 0.01)
   Evaluated: isapprox(389.9800737647081, 395.50996799999996; rtol = 0.01)

Stacktrace:
 [1] macro expansion
   @ ~/.julia/juliaup/julia-1.11.9+0.x64.linux.gnu/share/julia/stdlib/v1.11/Test/src/Test.jl:680 [inlined]
 [2] macro expansion
   @ ~/repos/KiteModels.jl/test/test-steady-state-kps4.jl:45 [inlined]
 [3] macro expansion
   @ ~/.julia/juliaup/julia-1.11.9+0.x64.linux.gnu/share/julia/stdlib/v1.11/Test/src/Test.jl:1709 [inlined]
 [4] top-level scope
   @ ~/repos/KiteModels.jl/test/test-steady-state-kps4.jl:30
Test Summary:          | Pass  Fail  Total  Time
test_find_steady_state |   10     5     15  1.6s
ERROR: LoadError: Some tests did not pass: 10 passed, 5 failed, 0 errored, 0 broken.
in expression starting at /home/ufechner/repos/KiteModels.jl/test/test-steady-state-kps4.jl:29

For whatever reason, the only test that was running on your pull request on Github was the test if the licenses are correct: Replace NLsolve.jl with NonlinearSolve.jl TrustRegion · OpenSourceAWE/KiteModels.jl@eb90218 · GitHub

It’s a difference of Julia v1.12 vs v1.11. Interesting.

Found it and fixed. That was an interesting computer and Julia-version specific bug :sweat_smile: but it should all be good now.

10 Likes

If I may, you continue to amaze me Chris. Thanks!