@@ -87,7 +87,6 @@ function differentiation_rk_docstring(description::String,
8787 concrete_jac = nothing,
8888 diff_type = Val{:forward},
8989 linsolve = nothing,
90- precs = DEFAULT_PRECS,
9190 """ * extra_keyword_default
9291
9392 keyword_default_description = """
@@ -111,40 +110,7 @@ function differentiation_rk_docstring(description::String,
111110 For example, to use [KLU.jl](https://github.com/JuliaSparse/KLU.jl), specify
112111 `$name (linsolve = KLUFactorization()`).
113112 When `nothing` is passed, uses `DefaultLinearSolver`.
114- - `precs`: Any [LinearSolve.jl-compatible preconditioner](https://docs.sciml.ai/LinearSolve/stable/basics/Preconditioners/)
115- can be used as a left or right preconditioner.
116- Preconditioners are specified by the `Pl,Pr = precs(W,du,u,p,t,newW,Plprev,Prprev,solverdata)`
117- function where the arguments are defined as:
118- - `W`: the current Jacobian of the nonlinear system. Specified as either
119- ``I - \\ gamma J`` or ``I/\\ gamma - J`` depending on the algorithm. This will
120- commonly be a `WOperator` type defined by OrdinaryDiffEq.jl. It is a lazy
121- representation of the operator. Users can construct the W-matrix on demand
122- by calling `convert(AbstractMatrix,W)` to receive an `AbstractMatrix` matching
123- the `jac_prototype`.
124- - `du`: the current ODE derivative
125- - `u`: the current ODE state
126- - `p`: the ODE parameters
127- - `t`: the current ODE time
128- - `newW`: a `Bool` which specifies whether the `W` matrix has been updated since
129- the last call to `precs`. It is recommended that this is checked to only
130- update the preconditioner when `newW == true`.
131- - `Plprev`: the previous `Pl`.
132- - `Prprev`: the previous `Pr`.
133- - `solverdata`: Optional extra data the solvers can give to the `precs` function.
134- Solver-dependent and subject to change.
135- The return is a tuple `(Pl,Pr)` of the LinearSolve.jl-compatible preconditioners.
136- To specify one-sided preconditioning, simply return `nothing` for the preconditioner
137- which is not used. Additionally, `precs` must supply the dispatch:
138- ```julia
139- Pl, Pr = precs(W, du, u, p, t, ::Nothing, ::Nothing, ::Nothing, solverdata)
140- ```
141- which is used in the solver setup phase to construct the integrator
142- type with the preconditioners `(Pl,Pr)`.
143- The default is `precs=DEFAULT_PRECS` where the default preconditioner function
144- is defined as:
145- ```julia
146- DEFAULT_PRECS(W, du, u, p, t, newW, Plprev, Prprev, solverdata) = nothing, nothing
147- ```
113+
148114 """ * extra_keyword_description
149115
150116 generic_solver_docstring (
0 commit comments