Gauss-Seidel relaxation. More...
Classes | |
| struct | params |
| Relaxation parameters. More... | |
| struct | parallel_sweep |
Public Member Functions | |
| template<class Matrix> | |
| GaussSeidelRelaxation (const Matrix &A, const params &prm, const typename Backend::params &) | |
| 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 |
| Apply pre-relaxation. | |
| template<class Matrix, class VectorRHS, class VectorX, class VectorTMP> | |
| void | apply_post (const Matrix &A, const VectorRHS &rhs, VectorX &x, VectorTMP &) const |
| Apply post-relaxation. | |
| 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. | |
Public Attributes | |
| bool | is_serial |
Static Private Member Functions | |
| template<class Matrix, class VectorRHS, class VectorX> | |
| static void | serial_sweep (const Matrix &A, const VectorRHS &rhs, VectorX &x, bool forward) |
Private Attributes | |
| std::shared_ptr< parallel_sweep< true > > | forward |
| std::shared_ptr< parallel_sweep< false > > | backward |
Gauss-Seidel relaxation.
| Backend | Backend for temporary structures allocation. |
Definition at line 508 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 537 of file Relaxation.h.
|
inline |
Definition at line 567 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 558 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 548 of file Relaxation.h.
|
inlinevirtual |
Memory used in bytes.
Implements Arcane::Alina::RelaxationBase.
Definition at line 580 of file Relaxation.h.
|
inlinestaticprivate |
Definition at line 593 of file Relaxation.h.
|
private |
Definition at line 819 of file Relaxation.h.
|
private |
Definition at line 818 of file Relaxation.h.
| bool Arcane::Alina::GaussSeidelRelaxation< Backend >::is_serial |
Definition at line 533 of file Relaxation.h.