Classes | |
class | concepts::BiCGStab< F, G > |
class | concepts::CG< F > |
class | concepts::Constrained |
class | concepts::DiagonalSolver< F > |
class | concepts::GMRes< F > |
class | concepts::Mumps< F > |
class | concepts::MumpsOverlap< F > |
class | concepts::Pardiso |
class | concepts::PETSc |
class | concepts::SolverConjugate |
class | concepts::SolverFabric< F > |
class | concepts::PrecondSolverFabric< F, G > |
class | concepts::SuperLU< F > |
class | concepts::Umfpack |
Solvers for linear systems.
All solvers which are just an interface to an external solver require that the respective software package is installed and that the library is correctly configured to use it.
concepts::CG is an implementation of the conjugate gradient method.
concepts::GMRes is an implementation of the general minimal residual method.
concepts::PETSc is an interface to PETSc (web links in the class description) featuring many different iterative solvers and preconditioners.
concepts::SuperLU is an interface to SuperLU (web links in the class description), a sparse LU decomposition.
concepts::Pardiso is an interface to Pardiso (web links in the class description), a sparse decomposition (multithreaded if requested).
concepts::Umfpack is an interface to Umfpack (web links in the class description) using the unsymmetric multi-frontal method.
concepts::DiagonalSolver solves a diagonal linear system.
Most of the solvers have a respective fabric class derived from concepts::SolverFabric. The idea is that all parameters (like convergence criteria etc.) are given in the construction of the fabric and the solver itself is constructed by the fabric given the matrix. This construction call is the the same for all solvers as all parameters are known before.
concepts::Constrained is a solver for a system with (non-homogenous) linear constraints. It modifies the stiffness matrix and the right hand side such that the constraints are fulfilled, then the modified system is solved with a given solver (via a concepts::SolverFabric).