1 #ifndef PARALUTION_PRECONDITIONER_MULTICOLORED_GS_HPP_
2 #define PARALUTION_PRECONDITIONER_MULTICOLORED_GS_HPP_
4 #include "../solver.hpp"
7 #include "../../base/local_vector.hpp"
13 template <
class OperatorType,
class VectorType,
typename ValueType>
21 virtual void Print(
void)
const;
35 virtual void Solve_(
const VectorType &rhs,
42 template <
class OperatorType,
class VectorType,
typename ValueType>
50 virtual void Print(
void)
const;
59 virtual void Solve_(
const VectorType &rhs,
67 #endif // PARALUTION_PRECONDITIONER_MULTICOLORED_GS_HPP_
virtual ~MultiColoredSGS()
Definition: preconditioner_multicolored_gs.cpp:28
virtual void ReBuildNumeric(void)
Rebuild only with numerical computation (no allocation or data structure computation) ...
Definition: preconditioner_multicolored_gs.cpp:61
virtual void SolveD_(void)
Solve the diagonal part (only for SGS)
Definition: preconditioner_multicolored_gs.cpp:137
ValueType omega_
Definition: preconditioner_multicolored_gs.hpp:38
virtual void SolveR_(void)
Solve the upper-trianguler (right) matrix.
Definition: preconditioner_multicolored_gs.cpp:241
virtual void Print(void) const
Print information about the solver.
Definition: preconditioner_multicolored_gs.cpp:214
virtual void SolveR_(void)
Solve the upper-trianguler (right) matrix.
Definition: preconditioner_multicolored_gs.cpp:156
virtual void Print(void) const
Print information about the solver.
Definition: preconditioner_multicolored_gs.cpp:50
virtual void SolveL_(void)
Solve the lower-triangular (left) matrix.
Definition: preconditioner_multicolored_gs.cpp:111
Definition: preconditioner_multicolored_gs.hpp:14
virtual ~MultiColoredGS()
Definition: preconditioner_multicolored_gs.cpp:207
virtual void Solve_(const VectorType &rhs, VectorType *x)
Solve directly without block decomposition.
Definition: preconditioner_multicolored_gs.cpp:181
MultiColoredSGS()
Definition: preconditioner_multicolored_gs.cpp:18
Definition: backend_manager.cpp:43
virtual void SolveL_(void)
Solve the lower-triangular (left) matrix.
Definition: preconditioner_multicolored_gs.cpp:233
const IndexType const IndexType const IndexType const ValueType const ValueType const ValueType * x
Definition: cuda_kernels_coo.hpp:91
virtual void Solve_(const VectorType &rhs, VectorType *x)
Solve directly without block decomposition.
Definition: preconditioner_multicolored_gs.cpp:264
virtual void SolveD_(void)
Solve the diagonal part (only for SGS)
Definition: preconditioner_multicolored_gs.cpp:237
virtual void PostAnalyse_(void)
Post-analyzing if the preconditioner is not decomposed.
Definition: preconditioner_multicolored_gs.cpp:99
virtual void SetRelaxation(const ValueType omega)
Set the relaxation parameter for the SOR/SSOR scheme.
Definition: preconditioner_multicolored_gs.cpp:40
Definition: preconditioner_multicolored_gs.hpp:43
virtual void PostAnalyse_(void)
Post-analyzing if the preconditioner is not decomposed.
Definition: preconditioner_multicolored_gs.cpp:225
MultiColoredGS()
Definition: preconditioner_multicolored_gs.cpp:203
Definition: preconditioner_multicolored.hpp:13