# How to construct a linear solver using the "Linear Solver Factory"

From KratosWiki

The class "LinearSolverFactory" is designed to help in the construction of the Kratos Linear Solvers, and makes an attempt to unify the construction mechanism.

the essential idea is that the "settings" to be used in the construction of a linear solver are defined by constructing a new python class (with arbitrary name) which contains the settings needed for the construction of the solver

A minimal example of this class is

class linear_solver_config:

solver_type = "BiConjugate gradient stabilized" scaling = False

The two parameters "solver_type" and "scaling" denote respectively the solver type to be used and the decision of applying, or not, the scaling to the system matrix coefficients

admissible values for "solver_type" are:

Conjugate gradient BiConjugate gradient stabilized GMRESSolver Mixed UP Skyline LU factorization Super LU AMGCL Parallel MKL Pardiso