Looks like ModelingToolkit
installed without any issue:
add ModelingToolkit@5
Updating registry at `C:\Users\bjd3\.julia\registries\General`
Updating git-repo `https://github.com/JuliaRegistries/General.git`
Resolving package versions...
Updating `K:\bjd3\Test\Project.toml`
[961ee093] + ModelingToolkit v5.6.4
No Changes to `K:\bjd3\Test\Manifest.toml`
Here’s the algorithm that works well for the ODEProblem
:
CompositeAlgorithm{Tuple{Tsit5, Rosenbrock23{0, false, DefaultLinSolve, DataType}}, OrdinaryDiffEq.AutoSwitchCache{Tsit5, Rosenbrock23{0, false, DefaultLinSolve, DataType}, Rational{Int64}, Int64}}((Tsit5(), Rosenbrock23{0, false, DefaultLinSolve, DataType}(DefaultLinSolve(nothing, nothing), Val{:forward})), OrdinaryDiffEq.AutoSwitchCache{Tsit5, Rosenbrock23{0, false, DefaultLinSolve, DataType}, Rational{Int64}, Int64}(9553, Tsit5(), Rosenbrock23{0, false, DefaultLinSolve, DataType}(DefaultLinSolve(nothing, nothing), Val{:forward}), true, 10, 3, 9//10, 9//10, 2, false))
and for the SplitODEProblem
:
KenCarp4{0, false, DefaultLinSolve, NLNewton{Rational{Int64}, Rational{Int64}, Rational{Int64}}, DataType}(DefaultLinSolve(nothing, nothing), NLNewton{Rational{Int64}, Rational{Int64}, Rational{Int64}}(1//100, 10, 1//5, 1//5), Val{:forward}, true, :linear, :PI)
Also, following Handling Instability When Solving ODE Problems - #5 by ChrisRackauckas,
I tried
split_sol = solve(split_prob, tstops=(t0), Rodas4(autodiff=false))
with split_prob
defined as previously posted. It breaks after 6 points and I get:
Warning: dt <= dtmin. Aborting. There is either an error in your model specification or the true solution is unstable.
└ @ SciMLBase C:\Users\bjd3\.julia\packages\SciMLBase\sRVBG\src\integrator_interface.jl:342
I also tried
split_sol = solve(split_prob, tstops=(t0), Rosenbrock23(autodiff=false))
but that was still running after a few minutes whereas the ODEProblem
approach solves in less than a minute so I killed it before it was over… I can time it if you think it’d be useful to see if the integration finally gets done.