ParGeMSLR
|
The GEMSLR information on each level, contains the solver for B and the low-rank information for S. More...
#include <gemslr.hpp>
Public Member Functions | |
int | Clear () |
Free the current level structure, set everything to 0. More... | |
GemslrLevelClass () | |
The constructor of GemslrLevelClass, set everything to 0. More... | |
~GemslrLevelClass () | |
The destructor of GemslrLevelClass. More... | |
GemslrLevelClass (const GemslrLevelClass< MatrixType, VectorType, DataType > &str) | |
The copy constructor of GemslrLevelClass. More... | |
GemslrLevelClass (GemslrLevelClass< MatrixType, VectorType, DataType > &&str) | |
The move constructor of GemslrLevelClass. More... | |
GemslrLevelClass< MatrixType, VectorType, DataType > & | operator= (const GemslrLevelClass< MatrixType, VectorType, DataType > &str) |
The operator= of GemslrLevelClass. More... | |
GemslrLevelClass< MatrixType, VectorType, DataType > & | operator= (GemslrLevelClass< MatrixType, VectorType, DataType > &&str) |
The operator= of GemslrLevelClass. More... | |
int | GetNumNonzeros (long int &nnz_bsolver, long int &nnz_lr) |
Get the number of nonzeros in the low-rank correction and the ILU factorization on this level. More... | |
Public Attributes | |
int | _lrc |
The size of low-rank correction on this level. More... | |
int | _ncomps |
Number of subdomains on this level. More... | |
std::vector< MatrixType > | _B_mat_v |
The B matrix on this level. C matrix if this is the last level. More... | |
MatrixType | _E_mat |
The E matrix on this level. More... | |
MatrixType | _F_mat |
The F matrix on this level. More... | |
MatrixType | _C_mat |
The C matrix on this level. More... | |
MatrixType | _D_mat |
The D matrix on this level. More... | |
GemslrEBFCMatrixClass< MatrixType, VectorType, DataType > | _EBFC |
The EBFC matrix on this level. More... | |
SolverClass< MatrixType, VectorType, DataType > ** | _B_precond |
The preconditioners for B matrix. More... | |
SolverClass< MatrixType, VectorType, DataType > ** | _B_solver |
The solvers for B matrix. More... | |
DenseMatrixClass< DataType > | _Hk |
The H matrix for the low-rank correction W*H*W' on this level. More... | |
DenseMatrixClass< DataType > | _Wk |
The W matrix for the low-rank correction W*H*W' on this level. More... | |
VectorType | _y_temp |
Temp vector. More... | |
VectorType | _z_temp |
Temp vector. More... | |
VectorType | _v_temp |
Temp vector. More... | |
VectorType | _w_temp |
Temp vector. More... | |
VectorType | _xlr_temp |
Temp vector. More... | |
VectorType | _xlr1_temp |
Temp vector. More... | |
VectorType | _xlr2_temp |
Temp vector. More... | |
The GEMSLR information on each level, contains the solver for B and the low-rank information for S. VectorType is the type of the vector. DataType is the real data type.
template pargemslr::precond_gemslrlevel_csr_seq_complexd::GemslrLevelClass | ( | ) |
The constructor of GemslrLevelClass, set everything to 0.
template pargemslr::precond_gemslrlevel_csr_seq_complexd::~GemslrLevelClass | ( | ) |
The destructor of GemslrLevelClass, simply call the free function.
pargemslr::GemslrLevelClass< MatrixType, VectorType, DataType >::GemslrLevelClass | ( | const GemslrLevelClass< MatrixType, VectorType, DataType > & | str | ) |
The copy constructor of GemslrLevelClass.
pargemslr::GemslrLevelClass< MatrixType, VectorType, DataType >::GemslrLevelClass | ( | GemslrLevelClass< MatrixType, VectorType, DataType > && | str | ) |
The move constructor of GemslrLevelClass.
template int pargemslr::precond_gemslrlevel_csr_seq_complexd::Clear | ( | ) |
Free the current level structure, set everything to 0.
template int pargemslr::precond_gemslrlevel_csr_seq_complexd::GetNumNonzeros | ( | long int & | nnz_bsolver, |
long int & | nnz_lr | ||
) |
Get the number of nonzeros in the low-rank correction and the ILU factorization on this level.
Note that this is the sequential version, int would be enough. No need to use the long int.
[out] | nnz_ilu | The nnz for the ILU factorization. |
[out] | nnz_lr | The nnz for the low-rank correction. |
GemslrLevelClass< MatrixType, VectorType, DataType > & pargemslr::GemslrLevelClass< MatrixType, VectorType, DataType >::operator= | ( | const GemslrLevelClass< MatrixType, VectorType, DataType > & | str | ) |
The operator= of GemslrLevelClass.
GemslrLevelClass< MatrixType, VectorType, DataType > & pargemslr::GemslrLevelClass< MatrixType, VectorType, DataType >::operator= | ( | GemslrLevelClass< MatrixType, VectorType, DataType > && | str | ) |
The operator= of GemslrLevelClass.
std::vector<MatrixType > pargemslr::GemslrLevelClass< MatrixType, VectorType, DataType >::_B_mat_v |
The B matrix on this level. C matrix if this is the last level.
SolverClass<MatrixType, VectorType, DataType>** pargemslr::GemslrLevelClass< MatrixType, VectorType, DataType >::_B_precond |
The preconditioners for B matrix.
SolverClass<MatrixType, VectorType, DataType>** pargemslr::GemslrLevelClass< MatrixType, VectorType, DataType >::_B_solver |
The solvers for B matrix.
MatrixType pargemslr::GemslrLevelClass< MatrixType, VectorType, DataType >::_C_mat |
The C matrix on this level.
MatrixType pargemslr::GemslrLevelClass< MatrixType, VectorType, DataType >::_D_mat |
The D matrix on this level.
MatrixType pargemslr::GemslrLevelClass< MatrixType, VectorType, DataType >::_E_mat |
The E matrix on this level.
GemslrEBFCMatrixClass<MatrixType, VectorType, DataType> pargemslr::GemslrLevelClass< MatrixType, VectorType, DataType >::_EBFC |
The EBFC matrix on this level.
MatrixType pargemslr::GemslrLevelClass< MatrixType, VectorType, DataType >::_F_mat |
The F matrix on this level.
DenseMatrixClass<DataType> pargemslr::GemslrLevelClass< MatrixType, VectorType, DataType >::_Hk |
The H matrix for the low-rank correction W*H*W' on this level.
int pargemslr::GemslrLevelClass< MatrixType, VectorType, DataType >::_lrc |
The size of low-rank correction on this level.
int pargemslr::GemslrLevelClass< MatrixType, VectorType, DataType >::_ncomps |
Number of subdomains on this level.
VectorType pargemslr::GemslrLevelClass< MatrixType, VectorType, DataType >::_v_temp |
Temp vector.
VectorType pargemslr::GemslrLevelClass< MatrixType, VectorType, DataType >::_w_temp |
Temp vector.
DenseMatrixClass<DataType> pargemslr::GemslrLevelClass< MatrixType, VectorType, DataType >::_Wk |
The W matrix for the low-rank correction W*H*W' on this level.
VectorType pargemslr::GemslrLevelClass< MatrixType, VectorType, DataType >::_xlr1_temp |
Temp vector.
VectorType pargemslr::GemslrLevelClass< MatrixType, VectorType, DataType >::_xlr2_temp |
Temp vector.
VectorType pargemslr::GemslrLevelClass< MatrixType, VectorType, DataType >::_xlr_temp |
Temp vector.
VectorType pargemslr::GemslrLevelClass< MatrixType, VectorType, DataType >::_y_temp |
Temp vector.
VectorType pargemslr::GemslrLevelClass< MatrixType, VectorType, DataType >::_z_temp |
Temp vector.