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

From KratosWiki
Revision as of 16:29, 2 July 2013 by Rrossi (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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
 Mixed UP
 Skyline LU factorization
 Super LU
 Parallel MKL Pardiso
Personal tools