12#ifndef BELFEM_CL_SOLVERPARAMETERS_HPP
13#define BELFEM_CL_SOLVERPARAMETERS_HPP
46 real mCompressionCutoff = 1e-8 ;
51 bool mHaveCompressionCutoff = false ;
59 uint mMemoryBudget = 0 ;
60 bool mHaveMemoryBudget = false ;
69 bool mUseMatrixMatching = true ;
87 bool mUseMetisNodeNDP = true ;
145 real mRelativeTolerance = 1e-10;
156 bool mHaveRelativeTolerance = false ;
172 real mAbsoluteTolerance = 1e-14 ;
178 bool mHaveAbsoluteTolerance = false ;
180 bool mUseInitialGuess = false ;
188 uint mMaxNumIterations = 0 ;
307 get_solver_type_from_input(
const input::Section * aInput )
const ;
bool use_matrix_matching() const
Definition cl_SolverParameters.cpp:354
void set_preconditioner(const Preconditioner aPreconditioner)
Definition cl_SolverParameters.cpp:169
real compression_cutoff() const
Definition cl_SolverParameters.cpp:289
void set_memory_budget(const uint aMegaBytes)
Definition cl_SolverParameters.cpp:314
SolverParameters(SolverParameters &&aOther)=delete
uint max_iterations() const
deck-stated Krylov iteration budget; 0 = library default
Definition cl_SolverParameters.cpp:283
void set_reordering_method(const ReorderingMethod aReorderingMethod)
Definition cl_SolverParameters.cpp:181
~SolverParameters()=default
real relative_tolerance() const
Definition cl_SolverParameters.cpp:259
void set_matrix_matching(const bool aUse)
Definition cl_SolverParameters.cpp:216
void set_compression_method(const CompressionMethod aCompressionMethod)
Definition cl_SolverParameters.cpp:187
bool have_compression_cutoff() const
true if the cutoff was stated rather than inherited
Definition cl_SolverParameters.cpp:308
CompressionMethod compression_method() const
Definition cl_SolverParameters.cpp:253
DistributedMatrixType distributed_matrix_type() const
Definition cl_SolverParameters.cpp:229
void set_use_initial_guess(const bool aUse)
Definition cl_SolverParameters.cpp:210
real absolute_tolerance() const
Definition cl_SolverParameters.cpp:271
bool use_initial_guess() const
Definition cl_SolverParameters.cpp:348
SolverType type() const
Definition cl_SolverParameters.cpp:222
void set_compression_cutoff(const real aCutoff)
Definition cl_SolverParameters.cpp:295
void set_krylov_method(const KrylovMethod aKrylovMethod)
Definition cl_SolverParameters.cpp:175
KrylovMethod krylov_method() const
Definition cl_SolverParameters.cpp:241
void set_distributed_matrix_type(const DistributedMatrixType aType)
Definition cl_SolverParameters.cpp:163
bool have_absolute_tolerance() const
Definition cl_SolverParameters.cpp:277
bool have_memory_budget() const
true if the deck ( or a caller ) stated a budget
Definition cl_SolverParameters.cpp:336
Preconditioner preconditioner() const
Definition cl_SolverParameters.cpp:235
uint memory_budget() const
MB per process; 0 when not stated.
Definition cl_SolverParameters.cpp:342
SolverParameters(const SolverType aType)
Definition cl_SolverParameters.cpp:21
SolverParameters & operator=(SolverParameters &&aOther)=delete
void set_relative_tolerance(const real aEpsilon)
Definition cl_SolverParameters.cpp:193
bool use_metis_nodendp() const
Definition cl_SolverParameters.cpp:360
void synchronize()
Definition cl_SolverParameters.cpp:366
ReorderingMethod reordering_method() const
Definition cl_SolverParameters.cpp:247
bool have_relative_tolerance() const
Definition cl_SolverParameters.cpp:265
void set_absolute_tolerance(const real aEpsilon)
Definition cl_SolverParameters.cpp:200
USER GUIDES:
Definition cl_Capacitor.cpp:16
DistributedMatrixType
Definition en_SolverEnums.hpp:66
@ CSR
Definition en_SolverEnums.hpp:68
unsigned int uint
Definition typedefs.hpp:30
int proc_t
Definition commtypes.hpp:29
const SolverType gDefaultSolver
Definition en_SolverEnums.hpp:209
SolverType
Definition en_SolverEnums.hpp:23
ReorderingMethod
Definition en_SolverEnums.hpp:116
@ AUTOMATIC
Definition en_SolverEnums.hpp:120
KrylovMethod
PETSC only.
Definition en_SolverEnums.hpp:101
@ AUTO
Definition en_SolverEnums.hpp:109
Preconditioner
PETSC only.
Definition en_SolverEnums.hpp:79
@ ASM
Definition en_SolverEnums.hpp:81
double real
Definition typedefs.hpp:36
CompressionMethod
Definition en_SolverEnums.hpp:129
@ AUTOMATIC
Definition en_SolverEnums.hpp:132