12#ifndef BELFEM_CL_SOLVERMUMPS_HPP
13#define BELFEM_CL_SOLVERMUMPS_HPP
68 struct FrozenFactorization
73 bool mHaveIdentity = false ;
79 const real * mValues = nullptr ;
80 const int_t * mPointers = nullptr ;
83 FrozenFactorization mFrozen ;
91 int_t mMeasuredBudgetMB = 0 ;
99 bool mInitialized = false ;
150 invalidate_factorization();
167 escalate_workspace(
int_t & aJob );
292 const int_t aNumRhsColumns=1 )
override ;
301 const int_t & aNNZ ) ;
Configuration for a Solver.
Definition cl_SolverParameters.hpp:27
Sparse matrix in CSR or CSC format.
Definition cl_SpMatrix.hpp:52
real get_determinant() const override
returns the determinant, if supported by the solver and computation was requested
Definition cl_SolverMUMPS.cpp:2084
void set_reordering(const MumpsSerialReodrdering aSerial, const MumpsParallelReodrdering aParallel)
Definition cl_SolverMUMPS.cpp:2048
real get_omega2() const override
RINFOG( 8 ) alone: omega2.
Definition cl_SolverMUMPS.cpp:2152
void warning_message(const int_t *aInfo, Cell< string > &aWarnings)
Definition cl_SolverMUMPS.cpp:1789
real get_cond1() const override
returns the conditioning number, if supported by the solver and computation was requested
Definition cl_SolverMUMPS.cpp:2094
real get_forward_error() const override
RINFOG( 9 ): estimated forward error of the last solve.
Definition cl_SolverMUMPS.cpp:2114
void set_error_analysis(const MumpsErrorAnalysis aSetting)
Definition cl_SolverMUMPS.cpp:2074
bool supports_factorization_reuse() const override
Definition cl_SolverMUMPS.cpp:516
void solve(SpMatrix &aMatrix, Vector< real > &aLHS, Vector< real > &aRHS) override
Definition cl_SolverMUMPS.cpp:824
real get_backward_error() const override
RINFOG( 7 ) + RINFOG( 8 ): the componentwise backward error.
Definition cl_SolverMUMPS.cpp:2127
void free() override
Definition cl_SolverMUMPS.cpp:404
bool factorization_is_frozen() const override
true while the frozen scope is armed
Definition cl_SolverMUMPS.cpp:573
MUMPS(const SolverParameters *aParams, const proc_t aMasterRank=0)
Definition cl_SolverMUMPS.cpp:70
void initialize(SpMatrix &aMatrix, const SymmetryMode aSymmetryMode=SymmetryMode::Unsymmetric, const int_t aNumRhsColumns=1) override
Definition cl_SolverMUMPS.cpp:204
real get_cond2() const override
returns the conditioning number, if supported by the solver and computation was requested
Definition cl_SolverMUMPS.cpp:2104
void set_block_low_ranking(const MumpsBlockLowRanking aBLK, const real aEpsilon)
Definition cl_SolverMUMPS.cpp:2062
void unfreeze_factorization() override
drop the frozen state and return to ordinary re-factorizing solves.
Definition cl_SolverMUMPS.cpp:565
void freeze_factorization(const SpMatrix &aMatrix) override
arm the frozen state: subsequent solves reuse the factorization that the LAST SUCCESSFUL solve built,...
Definition cl_SolverMUMPS.cpp:524
string error_message(const int_t *aInfo, const int_t &aN, const int_t &aNNZ)
Definition cl_SolverMUMPS.cpp:1244
Wrapper(const string &aLabel, const bool aUsesMPI)
Definition cl_SolverWrapper.cpp:44
Definition cl_SolverMUMPS.cpp:26
USER GUIDES:
Definition cl_Capacitor.cpp:16
MumpsSerialReodrdering
MUMPS only.
Definition en_SolverEnums.hpp:142
MumpsErrorAnalysis
MUMPS only.
Definition en_SolverEnums.hpp:187
int proc_t
Definition commtypes.hpp:29
SymmetryMode
Definition en_SolverEnums.hpp:36
@ Unsymmetric
Definition en_SolverEnums.hpp:37
uint32_t index_t
Definition typedefs.hpp:52
double real
Definition typedefs.hpp:36
MumpsBlockLowRanking
MUMPS only.
Definition en_SolverEnums.hpp:173
int32_t int_t
Definition typedefs.hpp:51
MumpsParallelReodrdering
MUMPS only.
Definition en_SolverEnums.hpp:160