schwz  Generated automatically from develop
Classes | Public Types | Public Member Functions | Public Attributes | List of all members
schwz::Settings Struct Reference

The struct that contains the solver settings and the parameters to be set by the user. More...

#include <settings.hpp>

Collaboration diagram for schwz::Settings:
[legend]

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_guardcuda_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.
 

Detailed Description

The struct that contains the solver settings and the parameters to be set by the user.

settings

Member Data Documentation

◆ enable_logging

bool schwz::Settings::enable_logging = false

Flag to enable logging for local iterative solvers.

Note: Probably will have a significant performance hit.

◆ explicit_laplacian

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

local_solver_settings schwz::Settings::local_solver
Initial value:
=
local_solver_settings::iterative_solver_ginkgo

◆ naturally_ordered_factor

bool schwz::Settings::naturally_ordered_factor = false

Disables the re-ordering of the matrix before computing the triangular factors during the CHOLMOD factorization.

Note
This is mainly to allow compatibility with GPU solution.

The documentation for this struct was generated from the following file: