DifferentialEquations.jl
DifferentialEquations.jl copied to clipboard
Integrator stepped past tstops but the algorithm was dtchangeable
I am receiving the error message, Something went wrong. Integrator stepped past tstops but the algorithm was dtchangeable. Please report this error. when running script_1.jl at this repository.
I previously opened issue #642 regarding this error, which was eventually closed after some proposed fixes in this pull request. Those fixes seem to have kicked the can further down the road, so that now this error occurs at step number ~740 instead of ~140.
Here is the full stacktrace.
> ERROR: LoadError: Something went wrong. Integrator stepped past tstops but the algorithm was dtchangeable. Please report this error.
Stacktrace:
[1] error(s::String)
@ Base ./error.jl:33
[2] handle_tstop!(integrator::OrdinaryDiffEq.ODEIntegrator{Tsit5{typeof(OrdinaryDiffEq.trivial_limiter!), typeof(OrdinaryDiffEq.trivial_limiter!), Static.False}, true, Vector{Float64}, Nothing, Float64, SciMLBase.NullParameters, Float64, Float64, Float64, Float64, Vector{Vector{Float64}}, ODESolution{Float64, 2, Vector{Vector{Float64}}, Nothing, Nothing, Vector{Float64}, Vector{Vector{Vector{Float64}}}, ODEProblem{Vector{Float64}, Tuple{Float64, Float64}, true, SciMLBase.NullParameters, ODEFunction{true, typeof(ODErhs_right!), LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing}, Base.Pairs{Symbol, CallbackSet{Tuple{}, Tuple{DiscreteCallback{DiffEqCallbacks.var"#7#8", ManifoldProjection{false, DiffEqCallbacks.NonAutonomousFunction{typeof(energyManifold_right), false}, DiffEqCallbacks.NLSOLVEJL_SETUP{0, true}, Dict{Symbol, Any}}, typeof(DiffEqCallbacks.Manifold_initialize), typeof(SciMLBase.FINALIZE_DEFAULT)}, DiscreteCallback{typeof(sinkRight), typeof(ejectRight!), typeof(SciMLBase.INITIALIZE_DEFAULT), typeof(SciMLBase.FINALIZE_DEFAULT)}}}, Tuple{Symbol}, NamedTuple{(:callback,), Tuple{CallbackSet{Tuple{}, Tuple{DiscreteCallback{DiffEqCallbacks.var"#7#8", ManifoldProjection{false, DiffEqCallbacks.NonAutonomousFunction{typeof(energyManifold_right), false}, DiffEqCallbacks.NLSOLVEJL_SETUP{0, true}, Dict{Symbol, Any}}, typeof(DiffEqCallbacks.Manifold_initialize), typeof(SciMLBase.FINALIZE_DEFAULT)}, DiscreteCallback{typeof(sinkRight), typeof(ejectRight!), typeof(SciMLBase.INITIALIZE_DEFAULT), typeof(SciMLBase.FINALIZE_DEFAULT)}}}}}}, SciMLBase.StandardODEProblem}, Tsit5{typeof(OrdinaryDiffEq.trivial_limiter!), typeof(OrdinaryDiffEq.trivial_limiter!), Static.False}, OrdinaryDiffEq.InterpolationData{ODEFunction{true, typeof(ODErhs_right!), LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing}, Vector{Vector{Float64}}, Vector{Float64}, Vector{Vector{Vector{Float64}}}, OrdinaryDiffEq.Tsit5Cache{Vector{Float64}, Vector{Float64}, Vector{Float64}, OrdinaryDiffEq.Tsit5ConstantCache{Float64, Float64}, typeof(OrdinaryDiffEq.trivial_limiter!), typeof(OrdinaryDiffEq.trivial_limiter!), Static.False}}, DiffEqBase.DEStats}, ODEFunction{true, typeof(ODErhs_right!), LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing}, OrdinaryDiffEq.Tsit5Cache{Vector{Float64}, Vector{Float64}, Vector{Float64}, OrdinaryDiffEq.Tsit5ConstantCache{Float64, Float64}, typeof(OrdinaryDiffEq.trivial_limiter!), typeof(OrdinaryDiffEq.trivial_limiter!), Static.False}, OrdinaryDiffEq.DEOptions{Float64, Float64, Float64, Float64, PIController{Rational{Int64}}, typeof(DiffEqBase.ODE_DEFAULT_NORM), typeof(LinearAlgebra.opnorm), Nothing, CallbackSet{Tuple{}, Tuple{DiscreteCallback{DiffEqCallbacks.var"#7#8", ManifoldProjection{false, DiffEqCallbacks.NonAutonomousFunction{typeof(energyManifold_right), false}, DiffEqCallbacks.NLSOLVEJL_SETUP{0, true}, Dict{Symbol, Any}}, typeof(DiffEqCallbacks.Manifold_initialize), typeof(SciMLBase.FINALIZE_DEFAULT)}, DiscreteCallback{typeof(sinkRight), typeof(ejectRight!), typeof(SciMLBase.INITIALIZE_DEFAULT), typeof(SciMLBase.FINALIZE_DEFAULT)}}}, typeof(DiffEqBase.ODE_DEFAULT_ISOUTOFDOMAIN), typeof(DiffEqBase.ODE_DEFAULT_PROG_MESSAGE), typeof(DiffEqBase.ODE_DEFAULT_UNSTABLE_CHECK), DataStructures.BinaryHeap{Float64, DataStructures.FasterForward}, DataStructures.BinaryHeap{Float64, DataStructures.FasterForward}, Nothing, Nothing, Int64, Tuple{}, Tuple{}, Tuple{}}, Vector{Float64}, Float64, Nothing, OrdinaryDiffEq.DefaultInit})
@ OrdinaryDiffEq ~/.julia/packages/OrdinaryDiffEq/iN7BJ/src/integrators/integrator_utils.jl:380
[3] solve!(integrator::OrdinaryDiffEq.ODEIntegrator{Tsit5{typeof(OrdinaryDiffEq.trivial_limiter!), typeof(OrdinaryDiffEq.trivial_limiter!), Static.False}, true, Vector{Float64}, Nothing, Float64, SciMLBase.NullParameters, Float64, Float64, Float64, Float64, Vector{Vector{Float64}}, ODESolution{Float64, 2, Vector{Vector{Float64}}, Nothing, Nothing, Vector{Float64}, Vector{Vector{Vector{Float64}}}, ODEProblem{Vector{Float64}, Tuple{Float64, Float64}, true, SciMLBase.NullParameters, ODEFunction{true, typeof(ODErhs_right!), LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing}, Base.Pairs{Symbol, CallbackSet{Tuple{}, Tuple{DiscreteCallback{DiffEqCallbacks.var"#7#8", ManifoldProjection{false, DiffEqCallbacks.NonAutonomousFunction{typeof(energyManifold_right), false}, DiffEqCallbacks.NLSOLVEJL_SETUP{0, true}, Dict{Symbol, Any}}, typeof(DiffEqCallbacks.Manifold_initialize), typeof(SciMLBase.FINALIZE_DEFAULT)}, DiscreteCallback{typeof(sinkRight), typeof(ejectRight!), typeof(SciMLBase.INITIALIZE_DEFAULT), typeof(SciMLBase.FINALIZE_DEFAULT)}}}, Tuple{Symbol}, NamedTuple{(:callback,), Tuple{CallbackSet{Tuple{}, Tuple{DiscreteCallback{DiffEqCallbacks.var"#7#8", ManifoldProjection{false, DiffEqCallbacks.NonAutonomousFunction{typeof(energyManifold_right), false}, DiffEqCallbacks.NLSOLVEJL_SETUP{0, true}, Dict{Symbol, Any}}, typeof(DiffEqCallbacks.Manifold_initialize), typeof(SciMLBase.FINALIZE_DEFAULT)}, DiscreteCallback{typeof(sinkRight), typeof(ejectRight!), typeof(SciMLBase.INITIALIZE_DEFAULT), typeof(SciMLBase.FINALIZE_DEFAULT)}}}}}}, SciMLBase.StandardODEProblem}, Tsit5{typeof(OrdinaryDiffEq.trivial_limiter!), typeof(OrdinaryDiffEq.trivial_limiter!), Static.False}, OrdinaryDiffEq.InterpolationData{ODEFunction{true, typeof(ODErhs_right!), LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing}, Vector{Vector{Float64}}, Vector{Float64}, Vector{Vector{Vector{Float64}}}, OrdinaryDiffEq.Tsit5Cache{Vector{Float64}, Vector{Float64}, Vector{Float64}, OrdinaryDiffEq.Tsit5ConstantCache{Float64, Float64}, typeof(OrdinaryDiffEq.trivial_limiter!), typeof(OrdinaryDiffEq.trivial_limiter!), Static.False}}, DiffEqBase.DEStats}, ODEFunction{true, typeof(ODErhs_right!), LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing}, OrdinaryDiffEq.Tsit5Cache{Vector{Float64}, Vector{Float64}, Vector{Float64}, OrdinaryDiffEq.Tsit5ConstantCache{Float64, Float64}, typeof(OrdinaryDiffEq.trivial_limiter!), typeof(OrdinaryDiffEq.trivial_limiter!), Static.False}, OrdinaryDiffEq.DEOptions{Float64, Float64, Float64, Float64, PIController{Rational{Int64}}, typeof(DiffEqBase.ODE_DEFAULT_NORM), typeof(LinearAlgebra.opnorm), Nothing, CallbackSet{Tuple{}, Tuple{DiscreteCallback{DiffEqCallbacks.var"#7#8", ManifoldProjection{false, DiffEqCallbacks.NonAutonomousFunction{typeof(energyManifold_right), false}, DiffEqCallbacks.NLSOLVEJL_SETUP{0, true}, Dict{Symbol, Any}}, typeof(DiffEqCallbacks.Manifold_initialize), typeof(SciMLBase.FINALIZE_DEFAULT)}, DiscreteCallback{typeof(sinkRight), typeof(ejectRight!), typeof(SciMLBase.INITIALIZE_DEFAULT), typeof(SciMLBase.FINALIZE_DEFAULT)}}}, typeof(DiffEqBase.ODE_DEFAULT_ISOUTOFDOMAIN), typeof(DiffEqBase.ODE_DEFAULT_PROG_MESSAGE), typeof(DiffEqBase.ODE_DEFAULT_UNSTABLE_CHECK), DataStructures.BinaryHeap{Float64, DataStructures.FasterForward}, DataStructures.BinaryHeap{Float64, DataStructures.FasterForward}, Nothing, Nothing, Int64, Tuple{}, Tuple{}, Tuple{}}, Vector{Float64}, Float64, Nothing, OrdinaryDiffEq.DefaultInit})
@ OrdinaryDiffEq ~/.julia/packages/OrdinaryDiffEq/iN7BJ/src/solve.jl:484
[4] #__solve#499
@ ~/.julia/packages/OrdinaryDiffEq/iN7BJ/src/solve.jl:5 [inlined]
[5] #solve_call#37
@ ~/.julia/packages/DiffEqBase/L3EZU/src/solve.jl:61 [inlined]
[6] solve_up(prob::ODEProblem{Vector{Float64}, Tuple{Float64, Float64}, true, SciMLBase.NullParameters, ODEFunction{true, typeof(ODErhs_right!), LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing}, Base.Pairs{Symbol, CallbackSet{Tuple{}, Tuple{DiscreteCallback{DiffEqCallbacks.var"#7#8", ManifoldProjection{false, DiffEqCallbacks.NonAutonomousFunction{typeof(energyManifold_right), false}, DiffEqCallbacks.NLSOLVEJL_SETUP{0, true}, Dict{Symbol, Any}}, typeof(DiffEqCallbacks.Manifold_initialize), typeof(SciMLBase.FINALIZE_DEFAULT)}, DiscreteCallback{typeof(sinkRight), typeof(ejectRight!), typeof(SciMLBase.INITIALIZE_DEFAULT), typeof(SciMLBase.FINALIZE_DEFAULT)}}}, Tuple{Symbol}, NamedTuple{(:callback,), Tuple{CallbackSet{Tuple{}, Tuple{DiscreteCallback{DiffEqCallbacks.var"#7#8", ManifoldProjection{false, DiffEqCallbacks.NonAutonomousFunction{typeof(energyManifold_right), false}, DiffEqCallbacks.NLSOLVEJL_SETUP{0, true}, Dict{Symbol, Any}}, typeof(DiffEqCallbacks.Manifold_initialize), typeof(SciMLBase.FINALIZE_DEFAULT)}, DiscreteCallback{typeof(sinkRight), typeof(ejectRight!), typeof(SciMLBase.INITIALIZE_DEFAULT), typeof(SciMLBase.FINALIZE_DEFAULT)}}}}}}, SciMLBase.StandardODEProblem}, sensealg::Nothing, u0::Vector{Float64}, p::SciMLBase.NullParameters, args::Tsit5{typeof(OrdinaryDiffEq.trivial_limiter!), typeof(OrdinaryDiffEq.trivial_limiter!), Static.False}; kwargs::Base.Pairs{Symbol, Float64, Tuple{Symbol, Symbol}, NamedTuple{(:abstol, :reltol), Tuple{Float64, Float64}}})
@ DiffEqBase ~/.julia/packages/DiffEqBase/L3EZU/src/solve.jl:87
[7] #solve#38
@ ~/.julia/packages/DiffEqBase/L3EZU/src/solve.jl:73 [inlined]
[8] top-level scope
@ script_1.jl:43
[9] include(fname::String)
@ Base.MainInclude ./client.jl:451
[10] top-level scope
@ REPL[24]:1
in expression starting at script_1.jl:26