Routines to handle the set of parameters for algebraic multigrids (AMG) like boomerAMG of the HYPRE library, GAMG of the PETSc library or the Notay's K-cycle (in-house implementation) for instance.
More...
|
enum | cs_param_amg_type_t {
CS_PARAM_AMG_NONE
, CS_PARAM_AMG_HYPRE_BOOMER_V
, CS_PARAM_AMG_HYPRE_BOOMER_W
, CS_PARAM_AMG_INHOUSE_K
,
CS_PARAM_AMG_INHOUSE_V
, CS_PARAM_AMG_PETSC_GAMG_V
, CS_PARAM_AMG_PETSC_GAMG_W
, CS_PARAM_AMG_PETSC_HMG_V
,
CS_PARAM_AMG_PETSC_HMG_W
, CS_PARAM_N_AMG_TYPES
} |
|
enum | cs_param_amg_boomer_coarsen_algo_t {
CS_PARAM_AMG_BOOMER_COARSEN_FALGOUT = 6
, CS_PARAM_AMG_BOOMER_COARSEN_PMIS = 8
, CS_PARAM_AMG_BOOMER_COARSEN_HMIS = 10
, CS_PARAM_AMG_BOOMER_COARSEN_CGC = 21
,
CS_PARAM_AMG_BOOMER_COARSEN_CGC_E = 22
, CS_PARAM_AMG_BOOMER_N_COARSEN_ALGOS
} |
| Type of algorithm used in boomerAMG to coarsen a level. Only a selection of algorithms is available here. Values are those given in HYPRE. More...
|
|
enum | cs_param_amg_boomer_interp_algo_t {
CS_PARAM_AMG_BOOMER_INTERP_HYPERBOLIC = 2
, CS_PARAM_AMG_BOOMER_INTERP_EXT_PLUS_I_CC = 6
, CS_PARAM_AMG_BOOMER_INTERP_EXT_PLUS_I = 7
, CS_PARAM_AMG_BOOMER_INTERP_FF1 = 13
,
CS_PARAM_AMG_BOOMER_INTERP_EXTENDED = 14
, CS_PARAM_AMG_BOOMER_INTERP_EXT_PLUS_I_MATRIX = 17
, CS_PARAM_AMG_BOOMER_INTERP_EXT_PLUS_E_MATRIX = 18
, CS_PARAM_AMG_BOOMER_N_INTERP_ALGOS
} |
| Type of algorithm used in boomerAMG to coarsen a level. Only a selection of algorithms is available here. Values are those given in HYPRE. More...
|
|
enum | cs_param_amg_boomer_smoother_t {
CS_PARAM_AMG_BOOMER_JACOBI = 0
, CS_PARAM_AMG_BOOMER_FORWARD_GS = 3
, CS_PARAM_AMG_BOOMER_BACKWARD_GS = 4
, CS_PARAM_AMG_BOOMER_HYBRID_SSOR = 6
,
CS_PARAM_AMG_BOOMER_L1_SGS = 8
, CS_PARAM_AMG_BOOMER_GAUSS_ELIM = 9
, CS_PARAM_AMG_BOOMER_BACKWARD_L1_GS = 13
, CS_PARAM_AMG_BOOMER_FORWARD_L1_GS = 14
,
CS_PARAM_AMG_BOOMER_CG = 15
, CS_PARAM_AMG_BOOMER_CHEBYSHEV = 16
, CS_PARAM_AMG_BOOMER_FCF_JACOBI = 17
, CS_PARAM_AMG_BOOMER_L1_JACOBI = 18
,
CS_PARAM_AMG_BOOMER_N_SMOOTHERS
} |
| Type of algorithm used in boomerAMG to smooth a level. Only a selection of algorithms is available here. Values are those used in HYPRE. More...
|
|
enum | cs_param_amg_gamg_smoother_t {
CS_PARAM_AMG_GAMG_BACKWARD_GS
, CS_PARAM_AMG_GAMG_BILU0
, CS_PARAM_AMG_GAMG_CHEBYSHEV
, CS_PARAM_AMG_GAMG_FORWARD_GS
,
CS_PARAM_AMG_GAMG_HYBRID_SSOR
, CS_PARAM_AMG_GAMG_JACOBI
, CS_PARAM_AMG_GAMG_L1_JACOBI
, CS_PARAM_AMG_GAMG_N_SMOOTHERS
} |
|
enum | cs_param_amg_gamg_coarse_solver_t {
CS_PARAM_AMG_GAMG_BJACOBI_LU
, CS_PARAM_AMG_GAMG_CG
, CS_PARAM_AMG_GAMG_GMRES
, CS_PARAM_AMG_GAMG_LU
,
CS_PARAM_AMG_GAMG_TFS
, CS_PARAM_AMG_GAMG_N_COARSE_SOLVERS
} |
|
enum | cs_param_amg_inhouse_solver_t {
CS_PARAM_AMG_INHOUSE_FORWARD_GS = 1
, CS_PARAM_AMG_INHOUSE_BACKWARD_GS = 2
, CS_PARAM_AMG_INHOUSE_JACOBI = 3
, CS_PARAM_AMG_INHOUSE_PROCESS_GS = 4
,
CS_PARAM_AMG_INHOUSE_PROCESS_SGS = 5
, CS_PARAM_AMG_INHOUSE_CG = 6
, CS_PARAM_AMG_INHOUSE_CR3 = 7
, CS_PARAM_AMG_INHOUSE_GCR = 8
,
CS_PARAM_AMG_INHOUSE_GMRES = 9
, CS_PARAM_AMG_INHOUSE_N_SOLVERS
} |
| Type of algorithm used in the in-house algorithm for smoothing each level or solving the coarse level. Only the most relevant algorithms are available here. More...
|
|
enum | cs_param_amg_inhouse_coarsen_t {
CS_PARAM_AMG_INHOUSE_COARSEN_SPD_DX = 1
, CS_PARAM_AMG_INHOUSE_COARSEN_SPD_MX = 2
, CS_PARAM_AMG_INHOUSE_COARSEN_SPD_PW = 3
, CS_PARAM_AMG_INHOUSE_COARSEN_CONV_DIFF_DX = 4
,
CS_PARAM_AMG_INHOUSE_N_COARSENINGS
} |
| Type of algorithm used in the in-house algorithm to coarsen each level. This enum avoids using the associated cs_grid_coarsening_t type which includes higher level headers. More...
|
|
|
static bool | cs_param_amg_boomer_is_needed (cs_param_solver_type_t solver, cs_param_precond_type_t precond, cs_param_amg_type_t amg) |
| Return true if the settings rely on boomeramg, otherwise false. More...
|
|
static bool | cs_param_amg_gamg_is_needed (cs_param_solver_type_t solver, cs_param_precond_type_t precond, cs_param_amg_type_t amg) |
| Return true if the settings rely on gamg, otherwise false. More...
|
|
static bool | cs_param_amg_hmg_is_needed (cs_param_solver_type_t solver, cs_param_precond_type_t precond, cs_param_amg_type_t amg) |
| Return true if the settings rely on hmg, otherwise false. More...
|
|
static bool | cs_param_amg_inhouse_is_needed (cs_param_solver_type_t solver, cs_param_precond_type_t precond, cs_param_amg_type_t amg) |
| Return true if the settings rely on the in-house implementation, otherwise false. More...
|
|
const char * | cs_param_amg_get_type_name (cs_param_amg_type_t type) |
| Get the name of the type of algebraic multigrid (AMG) More...
|
|
cs_param_solver_class_t | cs_param_amg_get_class (cs_param_amg_type_t amg_type) |
| Retrieve the related solver class from the amg type. More...
|
|
cs_param_amg_boomer_t * | cs_param_amg_boomer_create (void) |
| Create a new structure storing a set of parameters used when calling boomerAMG. Set default values for all parameters. More...
|
|
cs_param_amg_boomer_t * | cs_param_amg_boomer_copy (const cs_param_amg_boomer_t *bamgp) |
| Copy the given set of parameters used when calling boomerAMG into a new structure. More...
|
|
const char * | cs_param_amg_get_boomer_smoother_name (cs_param_amg_boomer_smoother_t smoother) |
| Get the name of the smoother used with BoomerAMG (HYPRE library) More...
|
|
void | cs_param_amg_boomer_log (const char *name, const cs_param_amg_boomer_t *bamgp) |
| Log the set of parameters used for setting BoomerAMG. More...
|
|
cs_param_amg_gamg_t * | cs_param_amg_gamg_create (void) |
| Create a new structure storing a set of parameters used when calling GAMG. Set default values for all parameters. More...
|
|
cs_param_amg_gamg_t * | cs_param_amg_gamg_copy (const cs_param_amg_gamg_t *gamgp) |
| Copy the given set of parameters used when calling GAMG into a new structure. More...
|
|
const char * | cs_param_amg_get_gamg_smoother_name (cs_param_amg_gamg_smoother_t smoother) |
| Get the name of the smoother used with GAMG (PETSc library) More...
|
|
const char * | cs_param_amg_get_gamg_coarse_solver_name (cs_param_amg_gamg_coarse_solver_t coarse) |
| Get the name of the smoother used with GAMG (PETSc library) More...
|
|
void | cs_param_amg_gamg_log (const char *name, const cs_param_amg_gamg_t *gamgp) |
| Log the set of parameters used for setting GAMG. More...
|
|
cs_param_amg_hmg_t * | cs_param_amg_hmg_create (void) |
| Create a new structure storing a set of parameters used when calling HMG. Set all parameters at their default value. More...
|
|
cs_param_amg_hmg_t * | cs_param_amg_hmg_copy (const cs_param_amg_hmg_t *hmgp) |
| Copy the given set of parameters used when calling HMG into a new structure. More...
|
|
void | cs_param_amg_hmg_log (const char *name, const cs_param_amg_hmg_t *hmgp) |
| Log the set of parameters used for setting HMG. More...
|
|
cs_param_amg_inhouse_t * | cs_param_amg_inhouse_create (bool used_as_solver, bool used_as_k_cycle) |
| Create a new structure storing a set of parameters used when calling the in-house AMG algo. Set default values for all parameters. More...
|
|
cs_param_amg_inhouse_t * | cs_param_amg_inhouse_copy (const cs_param_amg_inhouse_t *amgp) |
| Copy the given set of parameters used when calling in-house AMG algo. into a new structure. More...
|
|
const char * | cs_param_amg_get_inhouse_solver_name (cs_param_amg_inhouse_solver_t solver) |
| Get the name of the solver used with in-house AMG algo. More...
|
|
void | cs_param_amg_inhouse_log (const char *name, const cs_param_amg_inhouse_t *amgp) |
| Log the set of parameters used for setting in-house AMG algorithms. More...
|
|
Routines to handle the set of parameters for algebraic multigrids (AMG) like boomerAMG of the HYPRE library, GAMG of the PETSc library or the Notay's K-cycle (in-house implementation) for instance.