12#ifndef BELFEM_CL_SOLVER_HPP
13#define BELFEM_CL_SOLVER_HPP
146 const real aEpsilon = 1e-8 );
162 const real aEpsilon );
void set_mumps_reordering(const MumpsSerialReodrdering aSerial, const MumpsParallelReodrdering aParallel)
Silently ignored unless the solver is MUMPS.
Definition cl_Solver.cpp:257
void set_symmetry_mode(const SymmetryMode &aMode)
symmetry mode, needed for some solvers
Definition cl_Solver.cpp:164
const SolverParameters & parameters() const
read-only view of the parameters this solver was built with ( e.g.
Definition cl_Solver.cpp:156
Solver(const SolverType aSolverType=gDefaultSolver)
Collective: the constructor synchronizes the solver settings ( not the solver type ) from rank 0 to e...
Definition cl_Solver.cpp:29
void solve(SpMatrix &aMatrix, Vector< real > &aLHS, Vector< real > &aRHS)
Solves A x = b.
Definition cl_Solver.cpp:172
Solver & operator=(const Solver &)=delete
Solver & operator=(Solver &&)=delete
void set_mumps_error_analysis(const MumpsErrorAnalysis aSetting)
Definition cl_Solver.cpp:303
void free()
Releases the factorization ( the destructor does it too ); the next solve() re-initializes from scrat...
Definition cl_Solver.cpp:229
void set_mumps_blr(const MumpsBlockLowRanking aBlr, const real aEpsilon)
Definition cl_Solver.cpp:275
solver::Wrapper * wrapper()
Borrowed: the Solver owns and deletes the wrapper; do not keep it past the Solver's lifetime.
Definition cl_Solver.hpp:202
void set_petsc(const Preconditioner aPreconditioner, const KrylovMethod aKrylovMethod, const real aEpsilon=1e-8)
this does only do something if PETSc is used
Definition cl_Solver.cpp:237
Solver(const Solver &)=delete
SolverType type() const
Definition cl_Solver.cpp:148
Configuration for a Solver.
Definition cl_SolverParameters.hpp:27
Sparse matrix in CSR or CSC format.
Definition cl_SpMatrix.hpp:52
parent class for solver specific data
Definition cl_SolverWrapper.hpp:31
USER GUIDES:
Definition cl_Capacitor.cpp:16
MumpsSerialReodrdering
MUMPS only.
Definition en_SolverEnums.hpp:142
MumpsErrorAnalysis
MUMPS only.
Definition en_SolverEnums.hpp:187
const SolverType gDefaultSolver
Definition en_SolverEnums.hpp:209
SolverType
Definition en_SolverEnums.hpp:23
KrylovMethod
PETSC only.
Definition en_SolverEnums.hpp:101
SymmetryMode
Definition en_SolverEnums.hpp:36
@ Unsymmetric
Definition en_SolverEnums.hpp:37
Preconditioner
PETSC only.
Definition en_SolverEnums.hpp:79
double real
Definition typedefs.hpp:36
MumpsBlockLowRanking
MUMPS only.
Definition en_SolverEnums.hpp:173
MumpsParallelReodrdering
MUMPS only.
Definition en_SolverEnums.hpp:160