BoundaryValueDiffEqMIRKN
Monotonic Implicit Runge Kutta Nyström(MIRKN) Methods. To only use the MIRKN methods form BoundaryVaueDiffEq.jl, you need to install them use the Julia package manager:
using Pkg
Pkg.add("BoundaryValueDiffEqMIRKN")
solve(prob::SecondOrderBVProblem, alg, dt; kwargs...)
solve(prob::TwoPointSecondOrderBVProblem, alg, dt; kwargs...)
MIRKN don't have defect control adaptivity
Full List of Methods
MIRKN4
: 4 stage Monotonic Implicit Runge-Kutta-Nyström method, with no error control adaptivity.MIRKN6
: 4 stage Monotonic Implicit Runge-Kutta-Nyström method, with no error control adaptivity.
Detailed Solvers Explanation
BoundaryValueDiffEqMIRKN.MIRKN4
— Type MIRKN4(; nlsolve = NewtonRaphson(), jac_alg = BVPJacobianAlgorithm(),
defect_threshold = 0.1, max_num_subintervals = 3000)
4th order Monotonic Implicit Runge Kutta Nyström method.
Keyword Arguments
- `nlsolve`: Internal Nonlinear solver. Any solver which conforms to the SciML
`NonlinearProblem` interface can be used. Note that any autodiff argument for
the solver will be ignored and a custom jacobian algorithm will be used.
- `jac_alg`: Jacobian Algorithm used for the nonlinear solver. Defaults to
`BVPJacobianAlgorithm()`, which automatically decides the best algorithm to
use based on the input types and problem type.
- For `TwoPointBVProblem`, only `diffmode` is used (defaults to
`AutoSparse(AutoForwardDiff())` if possible else `AutoSparse(AutoFiniteDiff())`).
- For `BVProblem`, `bc_diffmode` and `nonbc_diffmode` are used. For
`nonbc_diffmode` defaults to `AutoSparse(AutoForwardDiff())` if possible else
`AutoSparse(AutoFiniteDiff())`. For `bc_diffmode`, defaults to `AutoForwardDiff` if
possible else `AutoFiniteDiff`.
- `defect_threshold`: Threshold for defect control.
- `max_num_subintervals`: Number of maximal subintervals, default as 3000.
!!! note For type-stability, the chunksizes for ForwardDiff ADTypes in BVPJacobianAlgorithm
must be provided.
References
bibtex @article{Muir2001MonoImplicitRM, title={Mono-Implicit Runge-Kutta-Nystr{"o}m Methods with Application to Boundary Value Ordinary Differential Equations}, author={Paul H. Muir and Mark F. Adams}, journal={BIT Numerical Mathematics}, year={2001}, volume={41}, pages={776-799} }
BoundaryValueDiffEqMIRKN.MIRKN6
— Type MIRKN6(; nlsolve = NewtonRaphson(), jac_alg = BVPJacobianAlgorithm(),
defect_threshold = 0.1, max_num_subintervals = 3000)
6th order Monotonic Implicit Runge Kutta Nyström method.
Keyword Arguments
- `nlsolve`: Internal Nonlinear solver. Any solver which conforms to the SciML
`NonlinearProblem` interface can be used. Note that any autodiff argument for
the solver will be ignored and a custom jacobian algorithm will be used.
- `jac_alg`: Jacobian Algorithm used for the nonlinear solver. Defaults to
`BVPJacobianAlgorithm()`, which automatically decides the best algorithm to
use based on the input types and problem type.
- For `TwoPointBVProblem`, only `diffmode` is used (defaults to
`AutoSparse(AutoForwardDiff())` if possible else `AutoSparse(AutoFiniteDiff())`).
- For `BVProblem`, `bc_diffmode` and `nonbc_diffmode` are used. For
`nonbc_diffmode` defaults to `AutoSparse(AutoForwardDiff())` if possible else
`AutoSparse(AutoFiniteDiff())`. For `bc_diffmode`, defaults to `AutoForwardDiff` if
possible else `AutoFiniteDiff`.
- `defect_threshold`: Threshold for defect control.
- `max_num_subintervals`: Number of maximal subintervals, default as 3000.
!!! note For type-stability, the chunksizes for ForwardDiff ADTypes in BVPJacobianAlgorithm
must be provided.
References
bibtex @article{Muir2001MonoImplicitRM, title={Mono-Implicit Runge-Kutta-Nystr{"o}m Methods with Application to Boundary Value Ordinary Differential Equations}, author={Paul H. Muir and Mark F. Adams}, journal={BIT Numerical Mathematics}, year={2001}, volume={41}, pages={776-799} }