SIAMFANLEquations.jl
This is an extension for importing solvers from SIAMFANLEquations.jl into the SciML interface. Note that these solvers do not come by default, and thus one needs to install the package before using these solvers:
using Pkg
Pkg.add("SIAMFANLEquations")
using SIAMFANLEquations, NonlinearSolve
Solver API
NonlinearSolve.SIAMFANLEquationsJL
— TypeSIAMFANLEquationsJL(; method = :newton, delta = 1e-3, linsolve = nothing,
autodiff = missing)
Keyword Arguments
method
: the choice of method for solving the nonlinear system.delta
: initial pseudo time step, default is 1e-3.linsolve
: JFNK linear solvers, choices aregmres
andbicgstab
.m
: Depth for Anderson acceleration, default as 0 for Picard iteration.beta
: Anderson mixing parameter, change f(x) to (1-beta)x+beta*f(x), equivalent to accelerating damped Picard iteration.autodiff
: Defaults tomissing
, which means we will default to lettingSIAMFANLEquations
construct the jacobian iff.jac
is not provided. In other cases, we use it to generate a jacobian similar to other NonlinearSolve solvers.
Submethod Choice
:newton
: Classical Newton method.:pseudotransient
: Pseudo transient method.:secant
: Secant method for scalar equations.:anderson
: Anderson acceleration for fixed point iterations.
This algorithm is only available if SIAMFANLEquations.jl
is installed.