Review of the past two weeks
In the last two weeks, I attended the JuliaCon! It was so great to finally meet the amazing Julia community and talk with everyone! I focused on the refactorization and sent a PR for the Monotonic-Implicit Runge-Kutta-Nystrom methods, and some progress can be summarized as follows:
Implemented MIRKN methods for SecondOrderBVProblem, the main nonlinear system-solving process is done, and are getting a correct result now, but there are still some issues with the sparsity detection and automatic differentiation stuff that need to be dug in. The detailed pull request can be checked on GitHub: Add MIRKN methods, it is still a Working-In-Progress, need further development to get this done.
Talked with Chris during the JuliaCon, the main focus should be first on the Lobatto methods and Radau methods for BVP, which is originally planned to be implemented by Axel Larsson, the basic working flow is almost done, but the CI are still not passing, I need to help get this PR get merged first to continue the COLDAE part(with Lobatto tableaus, what’s more is the collocation equations for the BVDAE and then we can have our collocation methods for boundary value differential-algebraic equations)
Fixed the existing issues with BoundaryValueDiffEQ.jl, such as fixing CI failing, COLNEW supports multi-points BVP etc, detail PR can be checked on the GitHub.
More TODOs:
Get the Lobatto methods and Radau methods PR merged as soon as possible.
The solution indexing methods in boundary conditions for MIRK methods and Shooting methods are quite different in BoundaryValueDiffEq.jl, for example, as for Shooting methods, we can use
u(t1)
to get the specific component of the solution at the specific time, but for the MIRK methods, we can’t do that, which is quite cumbersome, need to unify this.Fix the sparsity detection and automatic differentiation issues and get that PR merged.
According to the different example problems find possible bugs in the COLDAE implementation and see if there are any improvements we need to complete.