Unified interface to the sparse direct solvers. More...
#include <cl_Solver.hpp>
Public Member Functions | |
| Solver (const SolverType aSolverType=gDefaultSolver) | |
| Solver (const SolverParameters aParams) | |
| ~Solver () | |
| Solver (const Solver &)=delete | |
| Solver (Solver &&)=delete | |
| Solver & | operator= (const Solver &)=delete |
| Solver & | operator= (Solver &&)=delete |
| SolverType | type () const |
| return the type of the solver | |
| const SolverParameters & | parameters () const |
| read-only view of the parameters this solver was built with ( e.g. | |
| void | set_symmetry_mode (const SymmetryMode &aMode) |
| symmetry mode, needed for some solvers | |
| void | solve (SpMatrix &aMatrix, Vector< real > &aLHS, Vector< real > &aRHS) |
| solves the system | |
| void | solve (SpMatrix &aMatrix, Matrix< real > &aLHS, Matrix< real > &aRHS) |
| solves the system | |
| void | set_petsc (const Preconditioner aPreconditioner, const KrylovMethod aKrylovMethod, const real aEpsilon=1e-8) |
| this does only do something if PETSc is used | |
| void | set_mumps_reordering (const MumpsSerialReodrdering aSerial, const MumpsParallelReodrdering aParallel) |
| mumps only | |
| void | set_mumps_blr (const MumpsBlockLowRanking aBlr, const real aEpsilon) |
| void | set_mumps_error_analysis (const MumpsErrorAnalysis aSetting) |
| void | free () |
| this does only do something if PARDISO is used | |
| solver::Wrapper * | wrapper () |
| expose wrapper object | |
Unified interface to the sparse direct solvers.
| belfem::Solver::Solver | ( | const SolverType | aSolverType = gDefaultSolver | ) |
| belfem::Solver::Solver | ( | const SolverParameters | aParams | ) |
| belfem::Solver::~Solver | ( | ) |
|
delete |
|
delete |
| void belfem::Solver::free | ( | ) |
this does only do something if PARDISO is used
tidy up solver manually ( also done by destructor )
| const SolverParameters & belfem::Solver::parameters | ( | ) | const |
read-only view of the parameters this solver was built with ( e.g.
for setup-time consistency checks against the nonlinear tolerances )
| void belfem::Solver::set_mumps_blr | ( | const MumpsBlockLowRanking | aBlr, |
| const real | aEpsilon ) |
| void belfem::Solver::set_mumps_error_analysis | ( | const MumpsErrorAnalysis | aSetting | ) |
| void belfem::Solver::set_mumps_reordering | ( | const MumpsSerialReodrdering | aSerial, |
| const MumpsParallelReodrdering | aParallel ) |
mumps only
| void belfem::Solver::set_petsc | ( | const Preconditioner | aPreconditioner, |
| const KrylovMethod | aKrylovMethod, | ||
| const real | aEpsilon = 1e-8 ) |
this does only do something if PETSc is used
| aPreconditioner | |
| aKrylovMethod | |
| aEpsilon |
| void belfem::Solver::set_symmetry_mode | ( | const SymmetryMode & | aMode | ) |
symmetry mode, needed for some solvers
| aMode |
solves the system
| aMatrix | |
| aLHS | Left Hand Side |
| aRHS | Right Hand Side |
solves the system
| aMatrix | |
| aLHS | Left Hand Side |
| aRHS | Right Hand Side |
| SolverType belfem::Solver::type | ( | ) | const |
return the type of the solver
|
inline |
expose wrapper object