ParGeMSLR
Public Member Functions | Public Attributes | List of all members
pargemslr::GemslrSetupStruct< DataType > Struct Template Reference

The GEMSLR options. More...

#include <gemslr.hpp>

Public Member Functions

 GemslrSetupStruct ()
 The constructor, set the default values. More...
 
void SetDefault ()
 Set the default values. More...
 
 GemslrSetupStruct (const GemslrSetupStruct< DataType > &str)
 The copy constructor. More...
 
 GemslrSetupStruct (GemslrSetupStruct< DataType > &&str)
 The move constructor. More...
 
GemslrSetupStruct< DataType > & operator= (const GemslrSetupStruct< DataType > &str)
 The operator=. More...
 
GemslrSetupStruct< DataType > & operator= (GemslrSetupStruct< DataType > &&str)
 The operator=. More...
 

Public Attributes

GemslrLevelSetupStruct< DataType > _level_setups
 The global setup of low-rank correction on this level. More...
 
int _location
 Set the solve location. More...
 
int _partition_option_setup
 Set the partition option. More...
 
int _perm_option_setup
 Set the local B reordering option. More...
 
int _nlev_setup
 The total number of levels user wants to have. More...
 
int _ncomp_setup
 The target number of subdomians on each level. More...
 
int _kmin_setup
 The minimal number of subdomains user wants on each level in the recursive Kway partition. More...
 
int _kfactor_setup
 In the recursive Kway partition, from the second level, each time the number of terget subdomains is divided by _kfactor_setup, until reaching _kmin_setup. More...
 
bool _vertexsep_setup
 Set to true to use vertex seperator. Note that k must be power of 2 for vertex seperator. More...
 
bool _global_partition_setup
 Set to true to use vertex seperator. Note that k must be power of 2 for vertex seperator. More...
 
int _partition_option_B_setup
 Set the partition option. For B part is GeMSLR is used. More...
 
int _perm_option_B_setup
 Set the local B reordering option. For B part is GeMSLR is used. More...
 
int _nlev_B_setup
 The total number of levels user wants to have in the B part if GeMSLR is used. More...
 
int _ncomp_B_setup
 The target number of subdomians on each level in the B part if GeMSLR is used. More...
 
int _kmin_B_setup
 The minimal number of subdomains user wants on each level in the recursive Kway partition in the B part if GeMSLR is used. More...
 
int _kfactor_B_setup
 In the recursive Kway partition, from the second level, each time the number of terget subdomains is divided by _kfactor_setup, until reaching _kmin_setup. For B part is GeMSLR is used. More...
 
bool _vertexsep_B_setup
 Set to true to use vertex seperator. Note that k must be power of 2 for vertex seperator. For B part is GeMSLR is used. More...
 
int _solve_phase_setup
 Set the solve phase of the preconditioner. More...
 
bool _cuda_lowrank_only
 Are we only going to put the low-rank part on the device? More...
 
bool _enable_inner_iters_setup
 The level of inner iteration. Solve Sx = b with preconditioned GMRES where GeMSLR is used as a preconditioner. More...
 
int _inner_iters_maxits_setup
 The level of inner iteration. Solve Sx = b with preconditioned GMRES where GeMSLR is used as a preconditioner. More...
 
std::conditional< PargemslrIsDoublePrecision< DataType >::value, double, float >::type _inner_iters_tol_setup
 The default convergence_tolorance to lock the eigenvalue. More...
 
int _solve_option_setup
 The GEMSLR options. More...
 
int _smoothing_option_setup
 The GEMSLR B smoothing options. More...
 
DataType _diag_shift_milu
 The diagonal shift for the modified ILU. More...
 

Detailed Description

template<typename DataType>
struct pargemslr::GemslrSetupStruct< DataType >

The GEMSLR options.

Constructor & Destructor Documentation

◆ GemslrSetupStruct() [1/3]

template<typename DataType >
template pargemslr::GemslrSetupStruct< DataType >::GemslrSetupStruct ( )

The constructor, set the default values.

◆ GemslrSetupStruct() [2/3]

template<typename DataType >
pargemslr::GemslrSetupStruct< DataType >::GemslrSetupStruct ( const GemslrSetupStruct< DataType > &  str)

The copy constructor.

◆ GemslrSetupStruct() [3/3]

template<typename DataType >
pargemslr::GemslrSetupStruct< DataType >::GemslrSetupStruct ( GemslrSetupStruct< DataType > &&  str)

The move constructor.

Member Function Documentation

◆ operator=() [1/2]

template<typename DataType >
GemslrSetupStruct< DataType > & pargemslr::GemslrSetupStruct< DataType >::operator= ( const GemslrSetupStruct< DataType > &  str)

The operator=.

◆ operator=() [2/2]

template<typename DataType >
GemslrSetupStruct< DataType > & pargemslr::GemslrSetupStruct< DataType >::operator= ( GemslrSetupStruct< DataType > &&  str)

The operator=.

◆ SetDefault()

template<typename DataType >
template void pargemslr::GemslrSetupStruct< DataType >::SetDefault ( )

Set the default values.

Member Data Documentation

◆ _cuda_lowrank_only

template<typename DataType >
bool pargemslr::GemslrSetupStruct< DataType >::_cuda_lowrank_only

Are we only going to put the low-rank part on the device?

◆ _diag_shift_milu

template<typename DataType >
DataType pargemslr::GemslrSetupStruct< DataType >::_diag_shift_milu

The diagonal shift for the modified ILU.

◆ _enable_inner_iters_setup

template<typename DataType >
bool pargemslr::GemslrSetupStruct< DataType >::_enable_inner_iters_setup

The level of inner iteration. Solve Sx = b with preconditioned GMRES where GeMSLR is used as a preconditioner.
Set to false to turn off inneritaration. Set to true to turn on...

◆ _global_partition_setup

template<typename DataType >
bool pargemslr::GemslrSetupStruct< DataType >::_global_partition_setup

Set to true to use vertex seperator. Note that k must be power of 2 for vertex seperator.

◆ _inner_iters_maxits_setup

template<typename DataType >
int pargemslr::GemslrSetupStruct< DataType >::_inner_iters_maxits_setup

The level of inner iteration. Solve Sx = b with preconditioned GMRES where GeMSLR is used as a preconditioner.
Set to less than 0 to turn off inneritaration. Set to 1 means start from the S of the root level...

◆ _inner_iters_tol_setup

template<typename DataType >
std::conditional<PargemslrIsDoublePrecision<DataType>::value, double, float>::type pargemslr::GemslrSetupStruct< DataType >::_inner_iters_tol_setup

The default convergence_tolorance to lock the eigenvalue.

◆ _kfactor_B_setup

template<typename DataType >
int pargemslr::GemslrSetupStruct< DataType >::_kfactor_B_setup

In the recursive Kway partition, from the second level, each time the number of terget subdomains is divided by _kfactor_setup, until reaching _kmin_setup. For B part is GeMSLR is used.

◆ _kfactor_setup

template<typename DataType >
int pargemslr::GemslrSetupStruct< DataType >::_kfactor_setup

In the recursive Kway partition, from the second level, each time the number of terget subdomains is divided by _kfactor_setup, until reaching _kmin_setup.

◆ _kmin_B_setup

template<typename DataType >
int pargemslr::GemslrSetupStruct< DataType >::_kmin_B_setup

The minimal number of subdomains user wants on each level in the recursive Kway partition in the B part if GeMSLR is used.

◆ _kmin_setup

template<typename DataType >
int pargemslr::GemslrSetupStruct< DataType >::_kmin_setup

The minimal number of subdomains user wants on each level in the recursive Kway partition.

◆ _level_setups

template<typename DataType >
GemslrLevelSetupStruct<DataType> pargemslr::GemslrSetupStruct< DataType >::_level_setups

The global setup of low-rank correction on this level.

◆ _location

template<typename DataType >
int pargemslr::GemslrSetupStruct< DataType >::_location

Set the solve location.

◆ _ncomp_B_setup

template<typename DataType >
int pargemslr::GemslrSetupStruct< DataType >::_ncomp_B_setup

The target number of subdomians on each level in the B part if GeMSLR is used.

◆ _ncomp_setup

template<typename DataType >
int pargemslr::GemslrSetupStruct< DataType >::_ncomp_setup

The target number of subdomians on each level.

◆ _nlev_B_setup

template<typename DataType >
int pargemslr::GemslrSetupStruct< DataType >::_nlev_B_setup

The total number of levels user wants to have in the B part if GeMSLR is used.

◆ _nlev_setup

template<typename DataType >
int pargemslr::GemslrSetupStruct< DataType >::_nlev_setup

The total number of levels user wants to have.

◆ _partition_option_B_setup

template<typename DataType >
int pargemslr::GemslrSetupStruct< DataType >::_partition_option_B_setup

Set the partition option. For B part is GeMSLR is used.

◆ _partition_option_setup

template<typename DataType >
int pargemslr::GemslrSetupStruct< DataType >::_partition_option_setup

Set the partition option.
kGemslrPartitionRKway: Recursive Kway partition.

◆ _perm_option_B_setup

template<typename DataType >
int pargemslr::GemslrSetupStruct< DataType >::_perm_option_B_setup

Set the local B reordering option. For B part is GeMSLR is used.

◆ _perm_option_setup

template<typename DataType >
int pargemslr::GemslrSetupStruct< DataType >::_perm_option_setup

Set the local B reordering option.
kGemslrLocalReorderingNoExtra Turn off the local reordering.
kGemslrLocalReorderingRCM Use the local RCM.

◆ _smoothing_option_setup

template<typename DataType >
int pargemslr::GemslrSetupStruct< DataType >::_smoothing_option_setup

The GEMSLR B smoothing options.

◆ _solve_option_setup

template<typename DataType >
int pargemslr::GemslrSetupStruct< DataType >::_solve_option_setup

The GEMSLR options.

◆ _solve_phase_setup

template<typename DataType >
int pargemslr::GemslrSetupStruct< DataType >::_solve_phase_setup

Set the solve phase of the preconditioner.

◆ _vertexsep_B_setup

template<typename DataType >
bool pargemslr::GemslrSetupStruct< DataType >::_vertexsep_B_setup

Set to true to use vertex seperator. Note that k must be power of 2 for vertex seperator. For B part is GeMSLR is used.

◆ _vertexsep_setup

template<typename DataType >
bool pargemslr::GemslrSetupStruct< DataType >::_vertexsep_setup

Set to true to use vertex seperator. Note that k must be power of 2 for vertex seperator.


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