Sparse approximate interface smoother. More...
Public Types | |
| typedef Backend::value_type | value_type |
| typedef Backend::vector | vector |
| typedef math::scalar_of< value_type >::type | scalar_type |
| typedef Alina::detail::empty_params | params |
| Relaxation parameters. | |
Public Member Functions | |
| template<class Matrix> | |
| SPAI1Relaxation (const Matrix &A, const params &, const typename Backend::params &backend_prm) | |
| Constructs smoother for the system matrix. | |
| template<class Matrix, class VectorRHS, class VectorX, class VectorTMP> | |
| void | apply_pre (const Matrix &A, const VectorRHS &rhs, VectorX &x, VectorTMP &tmp) const |
| Apply pre-relaxation. | |
| template<class Matrix, class VectorRHS, class VectorX, class VectorTMP> | |
| void | apply_post (const Matrix &A, const VectorRHS &rhs, VectorX &x, VectorTMP &tmp) const |
| Apply post-relaxation. | |
| template<class Matrix, class VectorRHS, class VectorX> | |
| void | apply (const Matrix &, const VectorRHS &rhs, VectorX &x) const |
| size_t | bytes () const |
| Memory used in bytes. | |
Public Attributes | |
| std::shared_ptr< typename Backend::matrix > | M |
Sparse approximate interface smoother.
Sparsity pattern of the approximate inverse matrix coincides with that of A.
| Backend | Backend for temporary structures allocation. |
Definition at line 1962 of file Relaxation.h.
| typedef Alina::detail::empty_params Arcane::Alina::SPAI1Relaxation< Backend >::params |
Relaxation parameters.
Definition at line 1971 of file Relaxation.h.
| typedef math::scalar_of<value_type>::type Arcane::Alina::SPAI1Relaxation< Backend >::scalar_type |
Definition at line 1968 of file Relaxation.h.
| typedef Backend::value_type Arcane::Alina::SPAI1Relaxation< Backend >::value_type |
Definition at line 1965 of file Relaxation.h.
| typedef Backend::vector Arcane::Alina::SPAI1Relaxation< Backend >::vector |
Definition at line 1966 of file Relaxation.h.
|
inline |
Constructs smoother for the system matrix.
| A | The system matrix. |
| prm | Relaxation parameters. |
| backend_prm | Backend parameters. |
Definition at line 1975 of file Relaxation.h.
References Arcane::arccoreParallelFor().
|
inline |
Definition at line 2052 of file Relaxation.h.
|
inline |
Apply post-relaxation.
| A | System matrix. |
| rhs | Right-hand side. |
| x | Solution vector. |
| tmp | Scratch vector. |
| prm | Relaxation parameters. |
Definition at line 2045 of file Relaxation.h.
|
inline |
Apply pre-relaxation.
| A | System matrix. |
| rhs | Right-hand side. |
| x | Solution vector. |
| tmp | Scratch vector. |
| prm | Relaxation parameters. |
Definition at line 2037 of file Relaxation.h.
|
inlinevirtual |
Memory used in bytes.
Implements Arcane::Alina::RelaxationBase.
Definition at line 2057 of file Relaxation.h.
| std::shared_ptr<typename Backend::matrix> Arcane::Alina::SPAI1Relaxation< Backend >::M |
Definition at line 2062 of file Relaxation.h.