Chebyshev polynomial smoother. Plus de détails...
Graphe d'héritage de Arcane::Alina::ChebyshevRelaxation< Backend >:
Graphe de collaboration de Arcane::Alina::ChebyshevRelaxation< Backend >:Classes | |
| struct | params |
| Relaxation parameters. Plus de détails... | |
Types publics | |
| typedef Backend::value_type | value_type |
| typedef Backend::vector | vector |
| typedef math::scalar_of< value_type >::type | scalar_type |
Fonctions membres publiques | |
| template<class Matrix> | |
| ChebyshevRelaxation (const Matrix &A, const params &prm, 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 &) const |
| template<class Matrix, class VectorRHS, class VectorX, class VectorTMP> | |
| void | apply_post (const Matrix &A, const VectorRHS &rhs, VectorX &x, VectorTMP &) const |
| template<class Matrix, class VectorRHS, class VectorX> | |
| void | apply (const Matrix &A, const VectorRHS &rhs, VectorX &x) const |
| size_t | bytes () const |
| Memory used in bytes. | |
Attributs publics | |
| struct Arcane::Alina::ChebyshevRelaxation::params | prm |
Fonctions membres privées | |
| template<class Matrix, class VectorB, class VectorX> | |
| void | solve (const Matrix &A, const VectorB &b, VectorX &x) const |
Attributs privés | |
| std::shared_ptr< typename Backend::matrix_diagonal > | M |
| std::shared_ptr< vector > | p |
| std::shared_ptr< vector > | r |
| scalar_type | c |
| scalar_type | d |
Chebyshev polynomial smoother.
| Backend | Backend for temporary structures allocation. |
Implements Algorithm 1 from P. Ghysels, P. Kłosiewicz, and W. Vanroose. "Improving the arithmetic intensity of multigrid with the help of polynomial smoothers". Numer. Linear Algebra Appl. 2012;19:253-267. DOI: 10.1002/nla.1808
Définition à la ligne 244 du fichier Relaxation.h.
| typedef math::scalar_of<value_type>::type Arcane::Alina::ChebyshevRelaxation< Backend >::scalar_type |
Définition à la ligne 252 du fichier Relaxation.h.
| typedef Backend::value_type Arcane::Alina::ChebyshevRelaxation< Backend >::value_type |
Définition à la ligne 249 du fichier Relaxation.h.
| typedef Backend::vector Arcane::Alina::ChebyshevRelaxation< Backend >::vector |
Définition à la ligne 250 du fichier Relaxation.h.
|
inline |
Constructs smoother for the system matrix.
| A | The system matrix. |
| prm | Relaxation parameters. |
| backend_prm | Backend parameters. |
Définition à la ligne 303 du fichier Relaxation.h.
|
inline |
Définition à la ligne 344 du fichier Relaxation.h.
|
inline |
Définition à la ligne 338 du fichier Relaxation.h.
|
inline |
Définition à la ligne 332 du fichier Relaxation.h.
|
inlinevirtual |
Memory used in bytes.
Implémente Arcane::Alina::RelaxationBase.
Définition à la ligne 350 du fichier Relaxation.h.
|
inlineprivate |
Définition à la ligne 366 du fichier Relaxation.h.
|
private |
Définition à la ligne 363 du fichier Relaxation.h.
|
private |
Définition à la ligne 363 du fichier Relaxation.h.
|
private |
Définition à la ligne 360 du fichier Relaxation.h.
|
mutableprivate |
Définition à la ligne 361 du fichier Relaxation.h.
|
private |
Définition à la ligne 361 du fichier Relaxation.h.