Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot use any of the ODEInterface.jl algorithms #695

Open
MrSantiagoPrado opened this issue Nov 24, 2020 · 3 comments
Open

Cannot use any of the ODEInterface.jl algorithms #695

MrSantiagoPrado opened this issue Nov 24, 2020 · 3 comments

Comments

@MrSantiagoPrado
Copy link

I'm using Windows 64-bit and I can't get any of the methods in this package to work. I usually work in notebooks but below is a transcript from my terminal so the issues are clear:

               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.3.1 (2019-12-30)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release
|__/                   |

julia> using DifferentialEquations
[ Info: Precompiling DifferentialEquations [0c46a032-eb83-5123-abaf-570d42b7fbaa]

julia> using ODEInterface

julia> @ODEInterface.import_huge

julia> loadODEsolvers()
ERROR: UndefVarError: loadODEsolvers not defined
Stacktrace:
 [1] top-level scope at REPL[4]:1

julia> loadODESolvers()
Dict{AbstractString,ODEInterface.SolverDLinfo} with 23 entries:
  "colnew_i32"  => SolverDLinfo("colnew_i32", "", Ptr{Nothing} @0x0000000000000000, (), ErrorException("Cannot find one of [\"colnew_i32\", \"COLNEW_I32\", \"Colnew_i32\"]…
  "radau_i32"   => SolverDLinfo("radau_i32", "", Ptr{Nothing} @0x0000000000000000, (), ErrorException("Cannot find one of [\"radau_i32\", \"RADAU_I32\", \"Radau_i32\"] in …
  "bvpsol"      => SolverDLinfo("bvpsol", "", Ptr{Nothing} @0x0000000000000000, (), ErrorException("Cannot find one of [\"bvpsol\", \"BVPSOL\", \"Bvpsol\"] in libpaths or …
  "seulex"      => SolverDLinfo("seulex", "", Ptr{Nothing} @0x0000000000000000, (), ErrorException("Cannot find one of [\"seulex\", \"SEULEX\", \"Seulex\"] in libpaths or …
  "odex_i32"    => SolverDLinfo("odex_i32", "", Ptr{Nothing} @0x0000000000000000, (), ErrorException("Cannot find one of [\"odex_i32\", \"ODEX_I32\", \"Odex_i32\"] in libp…
  "seulex_i32"  => SolverDLinfo("seulex_i32", "", Ptr{Nothing} @0x0000000000000000, (), ErrorException("Cannot find one of [\"seulex_i32\", \"SEULEX_I32\", \"Seulex_i32\"]…
  "bvp_m_proxy" => SolverDLinfo("bvp_m_proxy", "", Ptr{Nothing} @0x0000000000000000, (), ErrorException("Cannot find one of [\"bvp_m_proxy\", \"BVP_M_PROXY\", \"Bvp_m_prox…
  "dopri5_i32"  => SolverDLinfo("dopri5_i32", "", Ptr{Nothing} @0x0000000000000000, (), ErrorException("Cannot find one of [\"dopri5_i32\", \"DOPRI5_I32\", \"Dopri5_i32\"]…
  "radau5_i32"  => SolverDLinfo("radau5_i32", "", Ptr{Nothing} @0x0000000000000000, (), ErrorException("Cannot find one of [\"radau5_i32\", \"RADAU5_I32\", \"Radau5_i32\"]…
  "ddeabm_i32"  => SolverDLinfo("ddeabm_i32", "", Ptr{Nothing} @0x0000000000000000, (), ErrorException("Cannot find one of [\"ddeabm_i32\", \"DDEABM_I32\", \"Ddeabm_i32\"]…
  "colnew"      => SolverDLinfo("colnew", "", Ptr{Nothing} @0x0000000000000000, (), ErrorException("Cannot find one of [\"colnew\", \"COLNEW\", \"Colnew\"] in libpaths or …
  "rodas_i32"   => SolverDLinfo("rodas_i32", "", Ptr{Nothing} @0x0000000000000000, (), ErrorException("Cannot find one of [\"rodas_i32\", \"RODAS_I32\", \"Rodas_i32\"] in …
  "ddebdf_i32"  => SolverDLinfo("ddebdf_i32", "", Ptr{Nothing} @0x0000000000000000, (), ErrorException("Cannot find one of [\"ddebdf_i32\", \"DDEBDF_I32\", \"Ddebdf_i32\"]…
  "dop853_i32"  => SolverDLinfo("dop853_i32", "", Ptr{Nothing} @0x0000000000000000, (), ErrorException("Cannot find one of [\"dop853_i32\", \"DOP853_I32\", \"Dop853_i32\"]…
  "radau"       => SolverDLinfo("radau", "", Ptr{Nothing} @0x0000000000000000, (), ErrorException("Cannot find one of [\"radau\", \"RADAU\", \"Radau\"] in libpaths or in […
  "rodas"       => SolverDLinfo("rodas", "", Ptr{Nothing} @0x0000000000000000, (), ErrorException("Cannot find one of [\"rodas\", \"RODAS\", \"Rodas\"] in libpaths or in […
  "ddeabm"      => SolverDLinfo("ddeabm", "", Ptr{Nothing} @0x0000000000000000, (), ErrorException("Cannot find one of [\"ddeabm\", \"DDEABM\", \"Ddeabm\"] in libpaths or …
  "dop853"      => SolverDLinfo("dop853", "", Ptr{Nothing} @0x0000000000000000, (), ErrorException("Cannot find one of [\"dop853\", \"DOP853\", \"Dop853\"] in libpaths or …
  "ddebdf"      => SolverDLinfo("ddebdf", "", Ptr{Nothing} @0x0000000000000000, (), ErrorException("Cannot find one of [\"ddebdf\", \"DDEBDF\", \"Ddebdf\"] in libpaths or …
  "dopri5"      => SolverDLinfo("dopri5", "", Ptr{Nothing} @0x0000000000000000, (), ErrorException("Cannot find one of [\"dopri5\", \"DOPRI5\", \"Dopri5\"] in libpaths or …
  "odex"        => SolverDLinfo("odex", "", Ptr{Nothing} @0x0000000000000000, (), ErrorException("Cannot find one of [\"odex\", \"ODEX\", \"Odex\"] in libpaths or in [\"C:…
  "radau5"      => SolverDLinfo("radau5", "", Ptr{Nothing} @0x0000000000000000, (), ErrorException("Cannot find one of [\"radau5\", \"RADAU5\", \"Radau5\"] in libpaths or …
  "bvpsol_i32"  => SolverDLinfo("bvpsol_i32", "", Ptr{Nothing} @0x0000000000000000, (), ErrorException("Cannot find one of [\"bvpsol_i32\", \"BVPSOL_I32\", \"Bvpsol_i32\"]…

julia> function test(du,u,p,t)
       du[1]=u[1]
       end
test (generic function with 1 method)

julia> prob_test=ODEProblem(test,[1.0],(0.0,10.0))
ODEProblem with uType Array{Float64,1} and tType Float64. In-place: true
timespan: (0.0, 10.0)
u0: [1.0]

julia> sol=solve(prob_test,alg=radau())
ERROR: MethodError: no method matching radau()
Closest candidates are:
  radau(::Any, ::Real, ::Real, ::Array{T,1} where T, ::ODEInterface.AbstractOptionsODE) at C:\Users\13-AD008LA\.julia\packages\ODEInterface\lvq2F\src\Radau.jl:744
Stacktrace:
 [1] top-level scope at REPL[8]:1

If I try it in the notebook the error message is "Cannot find method(s) for radau! I've tried to loadODESolvers(), but it didn't work. Please check ODEInterface.help_solversupport() and call loadODESolvers and check also this output. For further information see also ODEInterface.help_install."

@ChrisRackauckas
Copy link
Member

xref luchr/ODEInterface.jl#27

It seems like you don't have a working Fortran compiler? This is why we don't include ODEInterface by default: it requires specific compilers so you need to do a bit of extra work to get it installed.

@MrSantiagoPrado
Copy link
Author

How do I install the Fortran compiler?

@ChrisRackauckas
Copy link
Member

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants