@@ -5,25 +5,46 @@ for stage in (1, 2, 3, 4, 5, 6, 7)
55
66 @eval begin
77 """
8- $($ alg) (; nlsolve = NewtonRaphson(), max_num_subintervals = 3000)
8+ $($ alg) (; nlsolve = nothing, optimize = nothing, zeta = Float64[],
9+ jac_alg = BVPJacobianAlgorithm(), max_num_subintervals = 3000)
910
10- $($ stage) th stage Gauss Legendre collocation methods with adaptivity adapted from Ascher's implementation.
11+ $($ stage) -stage Gauss-Legendre collocation method with Ascher error-control
12+ adaptivity and mesh refinement for boundary-value problems, including problems
13+ with algebraic constraints.
14+
15+ ## Fields
16+
17+ - `nlsolve`: Nonlinear solver used for the collocation system. `nothing`
18+ selects the package default.
19+ - `optimize`: Optimization solver used by the mesh-refinement machinery.
20+ `nothing` selects the package default.
21+ - `zeta`: Side-condition locations for problems that require them. The default
22+ empty vector is appropriate when no side conditions are present.
23+ - `jac_alg`: `BVPJacobianAlgorithm` that selects the Jacobian construction
24+ strategy for the collocation system.
25+ - `max_num_subintervals`: Maximum number of mesh subintervals permitted while
26+ refining the solution.
1127
1228 ## Keyword Arguments
1329
14- - `nlsolve`: Internal Nonlinear solver. Any solver which conforms to the SciML
15- `NonlinearProblem` interface can be used. Note that any autodiff argument for
16- the solver will be ignored and a custom jacobian algorithm will be used.
17- - `optimize`: Internal Optimization solver. Any solver which conforms to the SciML
18- `OptimizationProblem` interface can be used. Note that any autodiff argument for
19- the solver will be ignored and a custom jacobian algorithm will be used.
20- - `max_num_subintervals`: Number of maximal subintervals, default as 3000.
21- - `zeta`: side condition points, should always be provided.
30+ - `nlsolve = nothing`: Internal nonlinear solver. Any solver implementing the
31+ SciML `NonlinearProblem` interface may be used. Its autodifferentiation
32+ setting is ignored because this solver uses `jac_alg`.
33+ - `optimize = nothing`: Internal optimization solver. Any solver implementing
34+ the SciML `OptimizationProblem` interface may be used. Its
35+ autodifferentiation setting is ignored because this solver uses `jac_alg`.
36+ - `zeta = Float64[]`: Side-condition locations. Supply the points required by
37+ the problem; leave empty when the problem has no side conditions.
38+ - `jac_alg = BVPJacobianAlgorithm()`: Jacobian construction strategy. For
39+ type stability, provide ForwardDiff chunk sizes in the AD types selected by
40+ this value.
41+ - `max_num_subintervals = 3000`: Maximum number of mesh subintervals.
2242
23- !!! note
43+ ## Example
2444
25- For type-stability, the chunksizes for ForwardDiff ADTypes in
26- `BVPJacobianAlgorithm` must be provided.
45+ ```julia
46+ alg = $($ alg) (zeta = [0.0, 0.5, 1.0])
47+ ```
2748
2849 ## References
2950
0 commit comments