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 ;
68 bool mUseMatrixMatching = true ;
86 bool mUseMetisNodeNDP = true ;
143 real mRelativeTolerance = 1e-10;
152 bool mHaveRelativeTolerance = false ;
168 real mAbsoluteTolerance = 1e-14 ;
174 bool mHaveAbsoluteTolerance = false ;
176 bool mUseInitialGuess = false ;
184 uint mMaxNumIterations = 0 ;
308 get_solver_type_from_input(
const input::Section * aInput )
const ;
bool use_matrix_matching() const
Definition cl_SolverParameters.cpp:362
void set_preconditioner(const Preconditioner aPreconditioner)
Definition cl_SolverParameters.cpp:165
real compression_cutoff() const
Definition cl_SolverParameters.cpp:297
void set_memory_budget(const uint aMegaBytes)
Definition cl_SolverParameters.cpp:322
SolverParameters(SolverParameters &&aOther)=delete
uint max_iterations() const
deck-stated Krylov iteration budget; 0 = library default
Definition cl_SolverParameters.cpp:282
void set_reordering_method(const ReorderingMethod aReorderingMethod)
Definition cl_SolverParameters.cpp:177
~SolverParameters()=default
real relative_tolerance() const
Definition cl_SolverParameters.cpp:258
void set_matrix_matching(const bool aUse)
Definition cl_SolverParameters.cpp:215
void set_compression_method(const CompressionMethod aCompressionMethod)
Definition cl_SolverParameters.cpp:183
bool have_compression_cutoff() const
true if the cutoff was stated rather than inherited
Definition cl_SolverParameters.cpp:316
void set_max_iterations(const int aMaxIterations)
Definition cl_SolverParameters.cpp:288
CompressionMethod compression_method() const
Definition cl_SolverParameters.cpp:252
DistributedMatrixType distributed_matrix_type() const
Definition cl_SolverParameters.cpp:228
void set_use_initial_guess(const bool aUse)
Definition cl_SolverParameters.cpp:209
real absolute_tolerance() const
Definition cl_SolverParameters.cpp:270
bool use_initial_guess() const
Definition cl_SolverParameters.cpp:356
SolverType type() const
Definition cl_SolverParameters.cpp:221
void set_compression_cutoff(const real aCutoff)
Definition cl_SolverParameters.cpp:303
void set_krylov_method(const KrylovMethod aKrylovMethod)
Definition cl_SolverParameters.cpp:171
KrylovMethod krylov_method() const
Definition cl_SolverParameters.cpp:240
void set_distributed_matrix_type(const DistributedMatrixType aType)
Definition cl_SolverParameters.cpp:159
bool have_absolute_tolerance() const
Definition cl_SolverParameters.cpp:276
bool have_memory_budget() const
true if the deck ( or a caller ) stated a budget
Definition cl_SolverParameters.cpp:344
Preconditioner preconditioner() const
Definition cl_SolverParameters.cpp:234
uint memory_budget() const
MB per process; 0 when not stated.
Definition cl_SolverParameters.cpp:350
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:189
bool use_metis_nodendp() const
Definition cl_SolverParameters.cpp:368
void synchronize()
Definition cl_SolverParameters.cpp:374
ReorderingMethod reordering_method() const
Definition cl_SolverParameters.cpp:246
bool have_relative_tolerance() const
Definition cl_SolverParameters.cpp:264
void set_absolute_tolerance(const real aEpsilon)
Definition cl_SolverParameters.cpp:199
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