KiranRamesh-Aero / UnsteadyFlowSolvers.jl

Solvers for problems involving unsteady fluid flow
MIT License
22 stars 22 forks source link

Package NLsolve.jl no longer exports not_in_place(...). #17

Closed hjabird closed 6 years ago

hjabird commented 6 years ago

Whilst running UNSflow LAUTAT_example2.ipynb the following problem is encountered: UndefVarError: not_in_place not defined

I believe this is because package NLsolve (https://github.com/JuliaNLSolvers/NLSolve.jl) no longer exports not_in_place as of commit #125 (Dec 25 2017). The version with not_in_place is 0.13 (Nov 2017). A modification (bug fix) to not_in_place required a new version 0.12.1 - whether this affects the expected behavior I don't know.

not_in_place is used in the following locations:

UNSflow.jl (1 hit)
    Line 13: export nlsolve, not_in_place
UNSflow\src\solvers.jl (34 hits)
    Line 46:         soln = nlsolve(not_in_place(kelv), [-0.01])
    Line 155:         soln = nlsolve(not_in_place(kelv), -0.01*ones(nsurf))
    Line 225:         soln = nlsolve(not_in_place(kelv), [-0.01])
    Line 570:         soln = nlsolve(not_in_place(kelv), [-0.01])
    Line 1110:         soln = nlsolve(not_in_place(kelv), [-0.01])
    Line 1150:             soln = nlsolve(not_in_place(kelvkutta), [-0.01; 0.01])
    Line 1268:         soln = nlsolve(not_in_place(kelv), [-0.01])
    Line 1300:             soln = nlsolve(not_in_place(kelvkutta), [-0.01; 0.01])
    Line 1607:         soln = nlsolve(not_in_place(kelv), [-0.01])
    Line 1651:             soln = nlsolve(not_in_place(kelvkutta), [-0.01; 0.01])
    Line 1778:                 soln = nlsolve(not_in_place(kelv), [-0.01])
    Line 1847:                         soln = nlsolve(not_in_place(kelvkutta), [-0.01; 0.01])
    Line 1854:                         soln = nlsolve(not_in_place(kelv), [-0.01])
    Line 1966:         soln = nlsolve(not_in_place(kelv), [-0.01])
    Line 1998:             soln = nlsolve(not_in_place(kelvkutta), [-0.01; 0.01])
    Line 2087:         soln = nlsolve(not_in_place(kelv), [-0.01])
    Line 2119:             soln = nlsolve(not_in_place(kelvkutta), [-0.01; 0.01])
    Line 2215:         soln = nlsolve(not_in_place(kelv), [-0.01])
    Line 2247:             soln = nlsolve(not_in_place(kelvkutta), [-0.01; 0.01])
    Line 2342:         soln = nlsolve(not_in_place(kelv), [-0.01])
    Line 2374:             soln = nlsolve(not_in_place(kelvkutta), [-0.01; 0.01])
    Line 2469:         soln = nlsolve(not_in_place(kelv), [-0.01])
    Line 2501:             soln = nlsolve(not_in_place(kelvkutta), [-0.01; 0.01])
    Line 2604:         soln = nlsolve(not_in_place(kelv), [-0.01])
    Line 2648:             soln = nlsolve(not_in_place(kelvkutta), [-0.01; 0.01])
    Line 2744:         soln = nlsolve(not_in_place(kelv), [-0.01])
    Line 2774:             soln = nlsolve(not_in_place(kelvkutta), [-0.01; 0.01])
    Line 2889:         soln = nlsolve(not_in_place(kelv), [-0.01])
    Line 2926:             soln = nlsolve(not_in_place(kelvkutta), [-0.01; 0.01])
    Line 3345:         soln = nlsolve(not_in_place(kelv), [-0.01*ones(surf.nspan); zeros(surf.nspan)])
    Line 3503:                 soln = nlsolve(not_in_place(kelv), [-0.01])
    Line 3728:                 soln = nlsolve(not_in_place(kelv), [-0.01])

A short term solution may be to update the REQUIRE file. Perhaps (whether version 0.12.1 breaks anything I don't know):

julia 0.5
Dierckx
ForwardDiff
PyPlot
NLsolve 0.11 0.14
IJulia

HJAB

KiranRamesh-Aero commented 6 years ago

The not_in_place function is still present in the updated NLsolve package, it's just not being exported. The best solution (IMO) is to add the following to /.julia/v0.x/NLsolve/src/NLsolve.jl export not_in_place