-
-
Notifications
You must be signed in to change notification settings - Fork 27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CompositeAlgorithm and switching compatibility #64
Comments
I updated the type of the returned solution and added some tests in https://github.com/JuliaDiffEq/DelayDiffEq.jl/tree/composite. However, something seems to be incorrect/broken as the following example of the first Robertson problem in #67 shows: sol = solve(prob_dde_rober1, MethodOfSteps(AutoTsit5(Rosenbrock23())); initial_order = 1)
all(sol.alg_choice .== 1)
plot(sol) |
If you check the solution, at the end the current algorithm should be |
if typeof(integrator.alg) <: OrdinaryDiffEqCompositeAlgorithm
copyat_or_push!(integrator.sol.alg_choice,integrator.saveiter,integrator.cache.current)
end I don't think we update |
I merged master into your branch and fixed the current in the cache and now it's interpolating properly. |
@YingboMa letting you know this is working |
Is the branch missing anything or is it ready to merge? LGTM? |
No, I guess it's complete and ready to merge. Thanks for the fix! |
Thank you too. Good team effort 👍 |
This library is almost compatible with the CompositeAlgorithm. The issue is just the return. The solution of the
integrator.integrator
is appropriately theCompositeSolution
, but theintegrator
's solution is just anODESolution
. The former is required because it has thealg_choice
field which makes the interpolant match the chosen algorithm.The text was updated successfully, but these errors were encountered: