Distributed CPR preconditioner. More...
Classes | |
| struct | params |
Public Types | |
| using | BackendType = PPrecond::BackendType |
| typedef BackendType::value_type | value_type |
| typedef math::scalar_of< value_type >::type | scalar_type |
| typedef BackendType::matrix | bmatrix |
| typedef BackendType::vector | vector |
| typedef BackendType::params | backend_params |
| typedef DistributedMatrix< BackendType > | matrix |
| typedef BuiltinBackend< value_type >::matrix | build_matrix |
Public Member Functions | |
| template<class Matrix> | |
| DistributedCPRPreconditioner (mpi_communicator comm, const Matrix &K, const params &prm=params(), const backend_params &bprm=backend_params()) | |
| DistributedCPRPreconditioner (mpi_communicator comm, std::shared_ptr< matrix > K, const params &prm=params(), const backend_params &bprm=backend_params()) | |
| template<class Vec1, class Vec2> | |
| void | apply (const Vec1 &rhs, Vec2 &&x) const |
| std::shared_ptr< matrix > | system_matrix_ptr () const |
| const matrix & | system_matrix () const |
Public Attributes | |
| params | prm |
Private Member Functions | |
| void | init (std::shared_ptr< matrix > K, const backend_params &bprm) |
| void | invert (multi_array< value_type, 2 > &A, value_type *y) |
Private Attributes | |
| mpi_communicator | comm |
| size_t | n |
| size_t | np |
| std::shared_ptr< PPrecond > | P |
| std::shared_ptr< SPrecond > | S |
| std::shared_ptr< bmatrix > | Fpp |
| std::shared_ptr< bmatrix > | Scatter |
| std::shared_ptr< vector > | rp |
| std::shared_ptr< vector > | xp |
| std::shared_ptr< vector > | rs |
Friends | |
| template<class P, class S> | |
| std::ostream & | operator<< (std::ostream &os, const DistributedCPRPreconditioner< P, S > &cpr) |
Distributed CPR preconditioner.
Definition at line 44 of file DistributedCPRPreconditioner.h.
| typedef BackendType::params Arcane::Alina::DistributedCPRPreconditioner< PPrecond, SPrecond >::backend_params |
Definition at line 59 of file DistributedCPRPreconditioner.h.
| using Arcane::Alina::DistributedCPRPreconditioner< PPrecond, SPrecond >::BackendType = PPrecond::BackendType |
Definition at line 53 of file DistributedCPRPreconditioner.h.
| typedef BackendType::matrix Arcane::Alina::DistributedCPRPreconditioner< PPrecond, SPrecond >::bmatrix |
Definition at line 57 of file DistributedCPRPreconditioner.h.
| typedef BuiltinBackend<value_type>::matrix Arcane::Alina::DistributedCPRPreconditioner< PPrecond, SPrecond >::build_matrix |
Definition at line 62 of file DistributedCPRPreconditioner.h.
| typedef DistributedMatrix<BackendType> Arcane::Alina::DistributedCPRPreconditioner< PPrecond, SPrecond >::matrix |
Definition at line 61 of file DistributedCPRPreconditioner.h.
| typedef math::scalar_of<value_type>::type Arcane::Alina::DistributedCPRPreconditioner< PPrecond, SPrecond >::scalar_type |
Definition at line 56 of file DistributedCPRPreconditioner.h.
| typedef BackendType::value_type Arcane::Alina::DistributedCPRPreconditioner< PPrecond, SPrecond >::value_type |
Definition at line 55 of file DistributedCPRPreconditioner.h.
| typedef BackendType::vector Arcane::Alina::DistributedCPRPreconditioner< PPrecond, SPrecond >::vector |
Definition at line 58 of file DistributedCPRPreconditioner.h.
|
inline |
Definition at line 93 of file DistributedCPRPreconditioner.h.
|
inline |
Definition at line 104 of file DistributedCPRPreconditioner.h.
|
inline |
Definition at line 116 of file DistributedCPRPreconditioner.h.
|
inlineprivate |
Definition at line 155 of file DistributedCPRPreconditioner.h.
|
inlineprivate |
Definition at line 444 of file DistributedCPRPreconditioner.h.
|
inline |
Definition at line 135 of file DistributedCPRPreconditioner.h.
|
inline |
Definition at line 130 of file DistributedCPRPreconditioner.h.
|
friend |
Definition at line 477 of file DistributedCPRPreconditioner.h.
|
private |
Definition at line 146 of file DistributedCPRPreconditioner.h.
|
private |
Definition at line 152 of file DistributedCPRPreconditioner.h.
|
private |
Definition at line 147 of file DistributedCPRPreconditioner.h.
|
private |
Definition at line 147 of file DistributedCPRPreconditioner.h.
|
private |
Definition at line 149 of file DistributedCPRPreconditioner.h.
| params Arcane::Alina::DistributedCPRPreconditioner< PPrecond, SPrecond >::prm |
Definition at line 142 of file DistributedCPRPreconditioner.h.
|
private |
Definition at line 153 of file DistributedCPRPreconditioner.h.
|
private |
Definition at line 153 of file DistributedCPRPreconditioner.h.
|
private |
Definition at line 150 of file DistributedCPRPreconditioner.h.
|
private |
Definition at line 152 of file DistributedCPRPreconditioner.h.
|
private |
Definition at line 153 of file DistributedCPRPreconditioner.h.