You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@warn("Interrupted. Larger maxiters is needed. If you are using an integrator for non-stiff ODEs or an automatic switching algorithm (the default), you may want to consider using a method for stiff equations. See the solver pages for more details (e.g. https://docs.sciml.ai/DiffEqDocs/stable/solvers/ode_solve/#Stiff-Problems).")
590
615
end
@@ -597,42 +622,35 @@ function check_error(integrator::DEIntegrator)
597
622
# We also exit if the ODE is unstable according to a user chosen callback
598
623
# but only if we accepted the step to prevent from bailing out as unstable
if dt_below_min && (step_rejected || before_next_tstop)
606
632
if verbose
607
-
ifisdefined(integrator, :EEst)
608
-
EEst =", and step error estimate = $(integrator.EEst)"
609
-
else
610
-
EEst =""
611
-
end
612
-
@warn("dt($(integrator.dt)) <= dtmin($(opts.dtmin)) at t=$(integrator.t)$EEst. Aborting. There is either an error in your model specification or the true solution is unstable.")
@warn("dt($(integrator.dt)) <= dtmin($(opts.dtmin)) at t=$(integrator.t)$(controller_string). Aborting. There is either an error in your model specification or the true solution is unstable.")
613
635
end
614
636
return ReturnCode.DtLessThanMin
615
-
elseif!step_accepted&& integrator.t isa AbstractFloat &&
616
-
abs(integrator.dt) <=abs(eps(integrator.t))
637
+
elseifstep_rejected&& integrator.t isa AbstractFloat &&
EEst =", and step error estimate = $(integrator.EEst)"
620
-
else
621
-
EEst =""
622
-
end
623
-
@warn("At t=$(integrator.t), dt was forced below floating point epsilon $(integrator.dt)$EEst. Aborting. There is either an error in your model specification or the true solution is unstable (or the true solution can not be represented in the precision of $(eltype(integrator.u))).")
@warn("At t=$(integrator.t), dt was forced below floating point epsilon $(integrator.dt)$(controller_string). Aborting. There is either an error in your model specification or the true solution is unstable (or the true solution can not be represented in the precision of $(eltype(integrator.u))).")
624
642
end
625
643
return ReturnCode.Unstable
626
644
end
627
645
end
628
-
if step_accepted &&
646
+
if step_accepted &&hasproperty(opts, :unstable_check) &&
0 commit comments