@@ -6,37 +6,51 @@ for order in (4, 6)
66
77 @eval begin
88 """
9- $($ alg) (; nlsolve = NewtonRaphson() , optimize = nothing, jac_alg = BVPJacobianAlgorithm(),
9+ $($ alg) (; nlsolve = nothing , optimize = nothing, jac_alg = BVPJacobianAlgorithm(),
1010 defect_threshold = 0.1, max_num_subintervals = 3000)
1111
1212 $($ order) th order Monotonic Implicit Runge Kutta Nyström method.
1313
14+ ## Fields
15+
16+ - `nlsolve`: Optional nonlinear solver algorithm. `nothing` selects the package default.
17+ - `optimize`: Optional optimization solver algorithm. `nothing` disables optimization-based
18+ initialization.
19+ - `jac_alg`: Jacobian construction configuration used by the nonlinear solver.
20+ - `defect_threshold`: Defect-control threshold used to refine the mesh.
21+ - `max_num_subintervals`: Maximum number of mesh subintervals permitted during refinement.
22+
1423 ## Keyword Arguments
1524
16- - `nlsolve`: Internal Nonlinear solver. Any solver which conforms to the SciML
17- `NonlinearProblem` interface can be used. Note that any autodiff argument for
18- the solver will be ignored and a custom jacobian algorithm will be used.
19- - `optimize`: Internal Optimization solver. Any solver which conforms to the SciML
20- `OptimizationProblem` interface can be used. Note that any autodiff argument for
21- the solver will be ignored and a custom jacobian algorithm will be used. Optimization
22- solvers should first be loaded to allow this functionality.
23- - `jac_alg`: Jacobian Algorithm used for the nonlinear solver. Defaults to
24- `BVPJacobianAlgorithm()`, which automatically decides the best algorithm to
25- use based on the input types and problem type.
25+ - `nlsolve = nothing`: Internal nonlinear solver. Any solver that conforms to the SciML
26+ `NonlinearProblem` interface can be used. Its autodiff setting is ignored because MIRKN
27+ uses `jac_alg` to construct the Jacobian.
28+ - `optimize = nothing`: Internal optimization solver. Any solver that conforms to the
29+ SciML `OptimizationProblem` interface can be used for initialization. Load the solver
30+ package before constructing the algorithm.
31+ - `jac_alg = BVPJacobianAlgorithm()`: Jacobian algorithm used for the nonlinear solver.
32+ It automatically selects an algorithm from the problem and input types.
2633 - For `TwoPointBVProblem`, only `diffmode` is used (defaults to
2734 `AutoSparse(AutoForwardDiff())` if possible else `AutoSparse(AutoFiniteDiff())`).
2835 - For `BVProblem`, `bc_diffmode` and `nonbc_diffmode` are used. For
2936 `nonbc_diffmode` defaults to `AutoSparse(AutoForwardDiff())` if possible else
3037 `AutoSparse(AutoFiniteDiff())`. For `bc_diffmode`, defaults to `AutoForwardDiff` if
3138 possible else `AutoFiniteDiff`.
32- - `defect_threshold`: Threshold for defect control.
33- - `max_num_subintervals`: Number of maximal subintervals, default as 3000 .
39+ - `defect_threshold = 0.1 `: Threshold for defect control.
40+ - `max_num_subintervals = 3000 `: Maximum number of mesh subintervals.
3441
3542 !!! note
3643
3744 For type-stability, the chunksizes for ForwardDiff ADTypes in
3845 `BVPJacobianAlgorithm` must be provided.
3946
47+ ## Examples
48+
49+ ```jldoctest
50+ julia> MIRKN$($ order) ().max_num_subintervals
51+ 3000
52+ ```
53+
4054 ## References
4155
4256 ```bibtex
0 commit comments