金索尔

KINSOL是基于Newton-Krylov解算器技术的非线性代数系统的求解器。它是在Brown和Saad之前的Fortran包NKSOL的基础上用C语言重新编写的。KINSOL采用不精确牛顿法。由于该解算器主要用于大型系统,因此提供了三种迭代方法来求解得到的线性系统——GMRES、Bi CGStab和TFQMR。这些都是Krylov方法,通过缩放和预处理在所有日晷代码通用的模块中实现。为了方便使用较小系统的用户,KINSOL还为线性系统提供了直接(稠密和带状)线性解算器。在这种情况下,非线性迭代是一种修正的牛顿法。除了基本的Krylov方法模块外,KINSOL包还包括一个名为KINBBDPRE的模块,它为并行版本提供了一个带块对角线预处理程序。为了与Fortran应用程序一起使用,还提供了一组称为fkilm的Fortran/C接口例程。这些都是用C编写的,但是假设用户调用程序和所有用户提供的例程都是用Fortran编写的。