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...)
Defect control adaptivity

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.MIRKN4Type
  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} }

source
BoundaryValueDiffEqMIRKN.MIRKN6Type
  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} }

source