KINSOL is a solver for nonlinear algebraic systems. It includes a Newton-Krylov solver as well as Picard and fixed point solvers, both of which can be accelerated with Anderson acceleration. KINSOL is based on the previous Fortran package NKSOL of Brown and Saad.
KINSOL's Newton solver employs the Inexact Newton method. As this solver is intended mainly for large systems, four iterative methods are provided to solve the resulting linear systems--GMRES, Bi-CGStab, TFQMR, and FGMRES. These are Krylov methods, implemented with scaling and preconditioning, and can be used with all versions of the NVECTOR module.
For the sake of convenience to users with smaller systems, KINSOL (used with the serial NVECTOR module) also includes direct (dense, banded, and sparse) linear solvers for the linear systems. In this case the nonlinear iteration is a Modified Newton method.
In addition, KINSOL (used with the serial NVECTOR module) also includes interfaces to the sparse direct solvers, KLU, and the multi-threaded sparse solver, SuperLU_MT.
In addition to the basic Krylov method modules, the KINSOL package includes a module called KINBBDPRE, which provides a band-block-diagonal preconditioner for the native MPI parallel vector.
For use with Fortran applications, a set of Fortran/C interface routines, called FKINSOL, is also supplied. These are written in C, but assume that the user calling program and all user-supplied routines are in Fortran
See Software page for download and documentation.