Reputation:
I am trying to use the new Initialization Schemes option of DifferentialEquations.jl
https://diffeq.sciml.ai/dev/solvers/dae_solve/#Initialization-Schemes-1
But I do not know how to access the new methods.
using DifferentialEquations
import DifferentialEquations: ShampineCollocationInit
using Sundials
using Plots
function f(out,du,u,p,t)
out[1] = - 0.04u[1] + 1e4*u[2]*u[3] - du[1]
out[2] = + 0.04u[1] - 3e7*u[2]^2 - 1e4*u[2]*u[3] - du[2]
out[3] = u[1] + u[2] + u[3] - 1.0
end
u₀ = [1.0, 0, 0]
du₀ = [-0.04, 0.04, 0.0]
tspan = (0.0,100000.0)
differential_vars = [true,true,false]
prob = DAEProblem(f,du₀,u₀,tspan,differential_vars=differential_vars)
sol = solve(prob,IDA(initializealg = ShampineCollocationInit))
plot(sol, xscale=:log10, tspan=(1e-6, 1e5), layout=(3,1))
The previous example return the following Error:
WARNING: could not import DifferentialEquations.ShampineCollocationInit into Main
LoadError: UndefVarError: ShampineCollocationInit not defined
Stacktrace:
[1] top-level scope at /home/Documents/test.jl:19
in expression starting at /home/Documents/test.jl:19
What am I doing wrong?
Upvotes: 2
Views: 320
Reputation: 19142
Those initialization schemes only apply to the OrdinaryDiffEq algorithms, while the initialization of IDA (Sundials.jl) is defined in the Sundials.jl portion of the documentation this may change in the near future (with a deprecation warning of course) as it gets more and more homogenized.
Upvotes: 0