DifferentialEquations.jl icon indicating copy to clipboard operation
DifferentialEquations.jl copied to clipboard

Integrator stepped past tstops but the algorithm was dtchangeable

Open Emadmasroor opened this issue 3 years ago • 0 comments

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

Emadmasroor avatar Mar 22 '22 15:03 Emadmasroor