Sparse approximate interface smoother. More...
Public Types | |
| typedef Backend::value_type | value_type |
| typedef Backend::matrix_diagonal | matrix_diagonal |
| typedef math::scalar_of< value_type >::type | scalar_type |
| typedef Alina::detail::empty_params | params |
| Relaxation parameters. | |
Public Member Functions | |
| template<class Matrix> | |
| SPAI0Relaxation (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< matrix_diagonal > | M |
Sparse approximate interface smoother.
The inverse matrix is approximated with diagonal matrix.
| Backend | Backend for temporary structures allocation. |
Definition at line 1880 of file Relaxation.h.
| typedef Backend::matrix_diagonal Arcane::Alina::SPAI0Relaxation< Backend >::matrix_diagonal |
Definition at line 1884 of file Relaxation.h.
| typedef Alina::detail::empty_params Arcane::Alina::SPAI0Relaxation< Backend >::params |
Relaxation parameters.
Definition at line 1888 of file Relaxation.h.
| typedef math::scalar_of<value_type>::type Arcane::Alina::SPAI0Relaxation< Backend >::scalar_type |
Definition at line 1886 of file Relaxation.h.
| typedef Backend::value_type Arcane::Alina::SPAI0Relaxation< Backend >::value_type |
Definition at line 1883 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 1892 of file Relaxation.h.
References Arcane::arccoreParallelFor().
|
inline |
Definition at line 1937 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 1929 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 1920 of file Relaxation.h.
|
inlinevirtual |
Memory used in bytes.
Implements Arcane::Alina::RelaxationBase.
Definition at line 1942 of file Relaxation.h.
| std::shared_ptr<matrix_diagonal> Arcane::Alina::SPAI0Relaxation< Backend >::M |
Definition at line 1947 of file Relaxation.h.