|
ParGeMSLR
|
The GEMSLR information on each level, contains the solver for B and the low-rank information for S. More...
#include <parallel_gemslr.hpp>
Public Member Functions | |
| int | Clear () |
| Free the current level structure, set everything to 0. More... | |
| ParallelGemslrLevelClass () | |
| The constructor of ParallelGemslrLevelClass, set everything to 0. More... | |
| ~ParallelGemslrLevelClass () | |
| The destructor of ParallelGemslrLevelClass. More... | |
| ParallelGemslrLevelClass (const ParallelGemslrLevelClass< MatrixType, VectorType, DataType > &str) | |
| The copy constructor of ParallelGemslrLevelClass. More... | |
| ParallelGemslrLevelClass (ParallelGemslrLevelClass< MatrixType, VectorType, DataType > &&str) | |
| The move constructor of ParallelGemslrLevelClass. More... | |
| ParallelGemslrLevelClass< MatrixType, VectorType, DataType > & | operator= (const ParallelGemslrLevelClass< MatrixType, VectorType, DataType > &str) |
| The operator= of ParallelGemslrLevelClass. More... | |
| ParallelGemslrLevelClass< MatrixType, VectorType, DataType > & | operator= (ParallelGemslrLevelClass< MatrixType, VectorType, DataType > &&str) |
| The operator= of ParallelGemslrLevelClass. 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 | |
| parallel_log | _parlog |
| The parallel log data structure. More... | |
| int | _lrc |
| The size of low-rank correction on this level. More... | |
| int | _ncomps |
| Number of subdomains on this level. More... | |
| std::vector< CsrMatrixClass< DataType > > | _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 | _A_mat |
| The A matrix on this level. More... | |
| MatrixType | _C_mat |
| The C matrix on this level. More... | |
| MatrixType | _S_mat |
| The S matrix on this level. More... | |
| int | _nI |
| Number of interior nodes on the top level. More... | |
| ParallelGemslrEBFCMatrixClass< MatrixType, VectorType, DataType > | _EBFC |
| The EBFC matrix on this level. More... | |
| SolverClass< CsrMatrixClass< DataType >, SequentialVectorClass< DataType >, DataType > ** | _B_precond |
| The preconditioners for B matrix. More... | |
| SolverClass< CsrMatrixClass< DataType >, SequentialVectorClass< DataType >, 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... | |
| DenseMatrixClass< DataType > | _WHk |
| The WH matrix for the low-rank correction (W*H)*W' on this level. More... | |
| DenseMatrixClass< DataType > | _cHk |
| The H matrix for the low-rank correction W*H*W' on the last level. More... | |
| DenseMatrixClass< DataType > | _cWk |
| The W matrix for the low-rank correction W*H*W' on the last level. More... | |
| DenseMatrixClass< DataType > | _cWHk |
| The WH matrix for the low-rank correction (W*H)*W' on the last level. More... | |
| IntVectorClass< int > | _pperm |
| The row permutation vector. More... | |
| IntVectorClass< int > | _qperm |
| The column permutation vector. More... | |
| CommunicationHelperClass | _comm_helper |
| The communication helper. More... | |
| SequentialVectorClass< DataType > | _work_vector |
| Temp vector on this level. More... | |
| int | _work_vector_unit_length |
| The unit length of the work vector. More... | |
| VectorType | _x_temp |
| Temp vector, length equal to the size of this level, used to setup the Ptr for this level. More... | |
| VectorType | _xlr_temp |
| Temp vector. More... | |
| VectorType | _xlr1_temp |
| Temp vector. More... | |
| VectorType | _xlr2_temp |
| Temp vector. More... | |
| VectorType | _xlr1_temp_h |
| Temp vector. More... | |
| VectorType | _xlr2_temp_h |
| Temp vector. More... | |
| VectorType | _sol_temp |
| The temp vector for permuted x. More... | |
| VectorType | _rhs_temp |
| The temp vector for permuted rhs. More... | |
| VectorType | _sol2_temp |
| The temp vector for permuted x. More... | |
| VectorType | _rhs2_temp |
| The temp vector for permuted rhs. More... | |
| VectorType | _sol3_temp |
| The temp vector for permuted x for the upper level. More... | |
| VectorType | _rhs3_temp |
| The temp vector for permuted rhs for the upper level. 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 data type.
| template pargemslr::precond_gemslrlevel_csr_par_complexd::ParallelGemslrLevelClass | ( | ) |
The constructor of ParallelGemslrLevelClass, set everything to 0.
| template pargemslr::precond_gemslrlevel_csr_par_complexd::~ParallelGemslrLevelClass | ( | ) |
The destructor of ParallelGemslrLevelClass, simply call the free function.
| pargemslr::ParallelGemslrLevelClass< MatrixType, VectorType, DataType >::ParallelGemslrLevelClass | ( | const ParallelGemslrLevelClass< MatrixType, VectorType, DataType > & | str | ) |
The copy constructor of ParallelGemslrLevelClass.
| pargemslr::ParallelGemslrLevelClass< MatrixType, VectorType, DataType >::ParallelGemslrLevelClass | ( | ParallelGemslrLevelClass< MatrixType, VectorType, DataType > && | str | ) |
The move constructor of ParallelGemslrLevelClass.
| template int pargemslr::precond_gemslrlevel_csr_par_complexd::Clear | ( | ) |
Free the current level structure, set everything to 0.
| template int pargemslr::precond_gemslrlevel_csr_par_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. |
| ParallelGemslrLevelClass< MatrixType, VectorType, DataType > & pargemslr::ParallelGemslrLevelClass< MatrixType, VectorType, DataType >::operator= | ( | const ParallelGemslrLevelClass< MatrixType, VectorType, DataType > & | str | ) |
The operator= of ParallelGemslrLevelClass.
| ParallelGemslrLevelClass< MatrixType, VectorType, DataType > & pargemslr::ParallelGemslrLevelClass< MatrixType, VectorType, DataType >::operator= | ( | ParallelGemslrLevelClass< MatrixType, VectorType, DataType > && | str | ) |
The operator= of ParallelGemslrLevelClass.
| MatrixType pargemslr::ParallelGemslrLevelClass< MatrixType, VectorType, DataType >::_A_mat |
The A matrix on this level.
| std::vector<CsrMatrixClass<DataType> > pargemslr::ParallelGemslrLevelClass< MatrixType, VectorType, DataType >::_B_mat_v |
The B matrix on this level. C matrix if this is the last level.
| SolverClass<CsrMatrixClass<DataType>, SequentialVectorClass<DataType>, DataType>** pargemslr::ParallelGemslrLevelClass< MatrixType, VectorType, DataType >::_B_precond |
The preconditioners for B matrix.
| SolverClass<CsrMatrixClass<DataType>, SequentialVectorClass<DataType>, DataType>** pargemslr::ParallelGemslrLevelClass< MatrixType, VectorType, DataType >::_B_solver |
The solvers for B matrix.
| MatrixType pargemslr::ParallelGemslrLevelClass< MatrixType, VectorType, DataType >::_C_mat |
The C matrix on this level.
| DenseMatrixClass<DataType> pargemslr::ParallelGemslrLevelClass< MatrixType, VectorType, DataType >::_cHk |
The H matrix for the low-rank correction W*H*W' on the last level.
| CommunicationHelperClass pargemslr::ParallelGemslrLevelClass< MatrixType, VectorType, DataType >::_comm_helper |
The communication helper.
| DenseMatrixClass<DataType> pargemslr::ParallelGemslrLevelClass< MatrixType, VectorType, DataType >::_cWHk |
The WH matrix for the low-rank correction (W*H)*W' on the last level.
| DenseMatrixClass<DataType> pargemslr::ParallelGemslrLevelClass< MatrixType, VectorType, DataType >::_cWk |
The W matrix for the low-rank correction W*H*W' on the last level.
| MatrixType pargemslr::ParallelGemslrLevelClass< MatrixType, VectorType, DataType >::_E_mat |
The E matrix on this level.
| ParallelGemslrEBFCMatrixClass<MatrixType, VectorType, DataType> pargemslr::ParallelGemslrLevelClass< MatrixType, VectorType, DataType >::_EBFC |
The EBFC matrix on this level.
| MatrixType pargemslr::ParallelGemslrLevelClass< MatrixType, VectorType, DataType >::_F_mat |
The F matrix on this level.
| DenseMatrixClass<DataType> pargemslr::ParallelGemslrLevelClass< MatrixType, VectorType, DataType >::_Hk |
The H matrix for the low-rank correction W*H*W' on this level.
| int pargemslr::ParallelGemslrLevelClass< MatrixType, VectorType, DataType >::_lrc |
The size of low-rank correction on this level.
| int pargemslr::ParallelGemslrLevelClass< MatrixType, VectorType, DataType >::_ncomps |
Number of subdomains on this level.
| int pargemslr::ParallelGemslrLevelClass< MatrixType, VectorType, DataType >::_nI |
Number of interior nodes on the top level.
| parallel_log pargemslr::ParallelGemslrLevelClass< MatrixType, VectorType, DataType >::_parlog |
The parallel log data structure.
| IntVectorClass<int> pargemslr::ParallelGemslrLevelClass< MatrixType, VectorType, DataType >::_pperm |
The row permutation vector.
| IntVectorClass<int> pargemslr::ParallelGemslrLevelClass< MatrixType, VectorType, DataType >::_qperm |
The column permutation vector.
| VectorType pargemslr::ParallelGemslrLevelClass< MatrixType, VectorType, DataType >::_rhs2_temp |
The temp vector for permuted rhs.
| VectorType pargemslr::ParallelGemslrLevelClass< MatrixType, VectorType, DataType >::_rhs3_temp |
The temp vector for permuted rhs for the upper level.
| VectorType pargemslr::ParallelGemslrLevelClass< MatrixType, VectorType, DataType >::_rhs_temp |
The temp vector for permuted rhs.
| MatrixType pargemslr::ParallelGemslrLevelClass< MatrixType, VectorType, DataType >::_S_mat |
The S matrix on this level.
| VectorType pargemslr::ParallelGemslrLevelClass< MatrixType, VectorType, DataType >::_sol2_temp |
The temp vector for permuted x.
| VectorType pargemslr::ParallelGemslrLevelClass< MatrixType, VectorType, DataType >::_sol3_temp |
The temp vector for permuted x for the upper level.
| VectorType pargemslr::ParallelGemslrLevelClass< MatrixType, VectorType, DataType >::_sol_temp |
The temp vector for permuted x.
| DenseMatrixClass<DataType> pargemslr::ParallelGemslrLevelClass< MatrixType, VectorType, DataType >::_WHk |
The WH matrix for the low-rank correction (W*H)*W' on this level.
| DenseMatrixClass<DataType> pargemslr::ParallelGemslrLevelClass< MatrixType, VectorType, DataType >::_Wk |
The W matrix for the low-rank correction W*H*W' on this level.
| SequentialVectorClass<DataType> pargemslr::ParallelGemslrLevelClass< MatrixType, VectorType, DataType >::_work_vector |
Temp vector on this level.
| int pargemslr::ParallelGemslrLevelClass< MatrixType, VectorType, DataType >::_work_vector_unit_length |
The unit length of the work vector.
| VectorType pargemslr::ParallelGemslrLevelClass< MatrixType, VectorType, DataType >::_x_temp |
Temp vector, length equal to the size of this level, used to setup the Ptr for this level.
| VectorType pargemslr::ParallelGemslrLevelClass< MatrixType, VectorType, DataType >::_xlr1_temp |
Temp vector.
| VectorType pargemslr::ParallelGemslrLevelClass< MatrixType, VectorType, DataType >::_xlr1_temp_h |
Temp vector.
| VectorType pargemslr::ParallelGemslrLevelClass< MatrixType, VectorType, DataType >::_xlr2_temp |
Temp vector.
| VectorType pargemslr::ParallelGemslrLevelClass< MatrixType, VectorType, DataType >::_xlr2_temp_h |
Temp vector.
| VectorType pargemslr::ParallelGemslrLevelClass< MatrixType, VectorType, DataType >::_xlr_temp |
Temp vector.
1.8.18