ParGeMSLR
|
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... | |
The GEMSLR options.
template pargemslr::GemslrSetupStruct< DataType >::GemslrSetupStruct | ( | ) |
The constructor, set the default values.
pargemslr::GemslrSetupStruct< DataType >::GemslrSetupStruct | ( | const GemslrSetupStruct< DataType > & | str | ) |
The copy constructor.
pargemslr::GemslrSetupStruct< DataType >::GemslrSetupStruct | ( | GemslrSetupStruct< DataType > && | str | ) |
The move constructor.
GemslrSetupStruct< DataType > & pargemslr::GemslrSetupStruct< DataType >::operator= | ( | const GemslrSetupStruct< DataType > & | str | ) |
The operator=.
GemslrSetupStruct< DataType > & pargemslr::GemslrSetupStruct< DataType >::operator= | ( | GemslrSetupStruct< DataType > && | str | ) |
The operator=.
template void pargemslr::GemslrSetupStruct< DataType >::SetDefault | ( | ) |
Set the default values.
bool pargemslr::GemslrSetupStruct< DataType >::_cuda_lowrank_only |
Are we only going to put the low-rank part on the device?
DataType pargemslr::GemslrSetupStruct< DataType >::_diag_shift_milu |
The diagonal shift for the modified ILU.
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...
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.
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...
std::conditional<PargemslrIsDoublePrecision<DataType>::value, double, float>::type pargemslr::GemslrSetupStruct< DataType >::_inner_iters_tol_setup |
The default convergence_tolorance to lock the eigenvalue.
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.
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.
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.
int pargemslr::GemslrSetupStruct< DataType >::_kmin_setup |
The minimal number of subdomains user wants on each level in the recursive Kway partition.
GemslrLevelSetupStruct<DataType> pargemslr::GemslrSetupStruct< DataType >::_level_setups |
The global setup of low-rank correction on this level.
int pargemslr::GemslrSetupStruct< DataType >::_location |
Set the solve location.
int pargemslr::GemslrSetupStruct< DataType >::_ncomp_B_setup |
The target number of subdomians on each level in the B part if GeMSLR is used.
int pargemslr::GemslrSetupStruct< DataType >::_ncomp_setup |
The target number of subdomians on each level.
int pargemslr::GemslrSetupStruct< DataType >::_nlev_B_setup |
The total number of levels user wants to have in the B part if GeMSLR is used.
int pargemslr::GemslrSetupStruct< DataType >::_nlev_setup |
The total number of levels user wants to have.
int pargemslr::GemslrSetupStruct< DataType >::_partition_option_B_setup |
Set the partition option. For B part is GeMSLR is used.
int pargemslr::GemslrSetupStruct< DataType >::_partition_option_setup |
Set the partition option.
kGemslrPartitionRKway: Recursive Kway partition.
int pargemslr::GemslrSetupStruct< DataType >::_perm_option_B_setup |
Set the local B reordering option. For B part is GeMSLR is used.
int pargemslr::GemslrSetupStruct< DataType >::_perm_option_setup |
Set the local B reordering option.
kGemslrLocalReorderingNoExtra Turn off the local reordering.
kGemslrLocalReorderingRCM Use the local RCM.
int pargemslr::GemslrSetupStruct< DataType >::_smoothing_option_setup |
The GEMSLR B smoothing options.
int pargemslr::GemslrSetupStruct< DataType >::_solve_option_setup |
The GEMSLR options.
int pargemslr::GemslrSetupStruct< DataType >::_solve_phase_setup |
Set the solve phase of the preconditioner.
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.
bool pargemslr::GemslrSetupStruct< DataType >::_vertexsep_setup |
Set to true to use vertex seperator. Note that k must be power of 2 for vertex seperator.