schwz
Generated automatically from develop
|
The struct that contains the solver settings and the parameters to be set by the user. More...
#include <settings.hpp>
Classes | |
struct | comm_settings |
The settings for the various available communication paradigms. More... | |
struct | convergence_settings |
The various convergence settings available. More... | |
Public Types | |
enum | partition_settings { partition_regular = 0x0, partition_regular2d = 0x4, partition_metis = 0x1, partition_zoltan = 0x2, partition_custom = 0x3 } |
The partition algorithm to be used for partitioning the matrix. | |
enum | local_solver_settings { direct_solver_cholmod = 0x0, direct_solver_umfpack = 0x5, direct_solver_ginkgo = 0x1, iterative_solver_ginkgo = 0x2, iterative_solver_dealii = 0x3, solver_custom = 0x4 } |
The local solver algorithm for the local subdomain solves. | |
Public Member Functions | |
Settings (std::string executor_string="reference") | |
Public Attributes | |
std::string | executor_string |
The string that contains the ginkgo executor paradigm. | |
std::shared_ptr< gko::Executor > | executor = gko::ReferenceExecutor::create() |
The ginkgo executor the code is to be executed on. | |
std::shared_ptr< device_guard > | cuda_device_guard |
The ginkgo executor the code is to be executed on. | |
partition_settings | partition = partition_settings::partition_regular |
gko::int32 | overlap = 2 |
The overlap between the subdomains. | |
std::string | matrix_filename = "null" |
The string that contains the matrix file name to read from . | |
bool | explicit_laplacian = true |
Flag if the laplacian matrix should be generated within the library. More... | |
bool | use_mixed_precision = false |
Flag if mixed precision should be used. | |
bool | enable_random_rhs = false |
Flag to enable a random rhs. | |
bool | print_matrices = false |
Flag to enable printing of matrices. | |
bool | debug_print = false |
Flag to enable some debug printing. | |
local_solver_settings | local_solver |
bool | non_symmetric_matrix = false |
Is the matrix non-symmetric ? , Use GMRES for local solves. | |
unsigned int | restart_iter = 1u |
The restart iter for the GMRES solver. | |
int | reset_local_crit_iter = -1 |
The global iter at which to reset the local solver criterion. | |
bool | naturally_ordered_factor = false |
Disables the re-ordering of the matrix before computing the triangular factors during the CHOLMOD factorization. More... | |
std::string | metis_objtype |
This setting defines the objective type for the metis partitioning. | |
bool | use_precond = false |
Enable the block jacobi local preconditioner for the local solver. | |
bool | write_debug_out = false |
Enable the writing of debug out to file. | |
bool | write_iters_and_residuals = false |
Enable writing the iters and residuals to a file. | |
bool | enable_logging = false |
Flag to enable logging for local iterative solvers. More... | |
bool | write_perm_data = false |
Enable the local permutations from CHOLMOD to a file. | |
int | shifted_iter = 1 |
Iteration shift for node local communication. | |
comm_settings | comm_settings |
convergence_settings | convergence_settings |
std::string | factorization = "cholmod" |
The factorization for the local direct solver. | |
std::string | reorder |
The reordering for the local solve. | |
The struct that contains the solver settings and the parameters to be set by the user.
settings
bool schwz::Settings::enable_logging = false |
Flag to enable logging for local iterative solvers.
Note: Probably will have a significant performance hit.
bool schwz::Settings::explicit_laplacian = true |
Flag if the laplacian matrix should be generated within the library.
If false, an external matrix and rhs needs to be provided
Referenced by schwz::SchwarzBase< ValueType, IndexType, MixedValueType >::initialize().
local_solver_settings schwz::Settings::local_solver |
bool schwz::Settings::naturally_ordered_factor = false |
Disables the re-ordering of the matrix before computing the triangular factors during the CHOLMOD factorization.