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.SIAMFANLEquationsJLType
SIAMFANLEquationsJL(; 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 are gmres and bicgstab.
  • 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 to missing, which means we will default to letting SIAMFANLEquations construct the jacobian if f.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.
Note

This algorithm is only available if SIAMFANLEquations.jl is installed.