BoundaryValueDiffEqMIRKN

Monotonic Implicit Runge Kutta Nyström(MIRKN) Methods. To only use the MIRKN methods form BoundaryValueDiffEq.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(), optimize = nothing, 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.
  • optimize: Internal Optimization solver. Any solver which conforms to the SciML OptimizationProblem interface can be used. Note that any autodiff argument for the solver will be ignored and a custom jacobian algorithm will be used. Optimization solvers should first be loaded to allow this functionality.
  • 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

@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(), optimize = nothing, 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.
  • optimize: Internal Optimization solver. Any solver which conforms to the SciML OptimizationProblem interface can be used. Note that any autodiff argument for the solver will be ignored and a custom jacobian algorithm will be used. Optimization solvers should first be loaded to allow this functionality.
  • 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

@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