-
Notifications
You must be signed in to change notification settings - Fork 17
Implicit solvers
Simon Byrne edited this page Jun 25, 2021
·
15 revisions
Some docs here: https://diffeq.sciml.ai/dev/features/linear_nonlinear/
-
Val{true}implies it operates in-place
-
Calls
build_nlsolver, dispatching onAbstractNLSolverAlgorithmtype: these are defined in DiffEqBase. e.g.NLNewton, which would callbuild_nlsolver.a.
nf = nlsolve_f(f, alg), which extracts the implicit part if using aSplitFunctionb.
SciMLBase.islinear(f): this appears to only betrueiff(orf.f1) is anAbstractDiffEqOperatorthatisconstant? If so, then it setsufandjac_configtonothing, and callslinsolve(Val{:init},nf,u)c.
build_uf: returns aSciMLBase.UJacobianWrapper, which captures the function, parameter and time, and can be called with just(dest, src)args (to make it easier to use the AD tools I assume?).c.
build_J_W:- [`islinearfunction(f, alg)`]()Returns
NLNewtonConstantCacheobject