16 #ifndef dealii_precondition_selector_h 17 #define dealii_precondition_selector_h 31 template <
class number>
33 template <
class number>
101 template <
typename MatrixType = SparseMatrix<
double>,
102 typename VectorType = ::Vector<
double>>
116 const typename VectorType::value_type &
omega = 1.);
200 const typename VectorType::value_type
omega;
207 template <
typename MatrixType,
typename VectorType>
210 const typename VectorType::value_type &
omega)
211 : preconditioning(preconditioning)
216 template <
typename MatrixType,
typename VectorType>
224 template <
typename MatrixType,
typename VectorType>
232 template <
typename MatrixType,
typename VectorType>
241 template <
typename MatrixType,
typename VectorType>
251 template <
typename MatrixType,
typename VectorType>
266 A->precondition_Jacobi(dst, src,
omega);
270 A->precondition_SOR(dst, src,
omega);
274 A->precondition_SSOR(dst, src,
omega);
282 template <
typename MatrixType,
typename VectorType>
298 A->precondition_Jacobi(dst, src,
omega);
302 A->precondition_TSOR(dst, src,
omega);
306 A->precondition_SSOR(dst, src,
omega);
314 template <
typename MatrixType,
typename VectorType>
318 return "none|jacobi|sor|ssor";
types::global_dof_index size_type
SmartPointer< const MatrixType, PreconditionSelector< MatrixType, VectorType > > A
void use_matrix(const MatrixType &M)
const VectorType::value_type omega
static ::ExceptionBase & ExcNoMatrixGivenToUse()
#define Assert(cond, exc)
#define DeclException0(Exception0)
#define DEAL_II_NAMESPACE_CLOSE
PreconditionSelector(const std::string &preconditioning, const typename VectorType::value_type &omega=1.)
virtual ~PreconditionSelector() override
static std::string get_precondition_names()
virtual void Tvmult(VectorType &dst, const VectorType &src) const
#define DEAL_II_NAMESPACE_OPEN
typename MatrixType::size_type size_type
virtual void vmult(VectorType &dst, const VectorType &src) const
static ::ExceptionBase & ExcNotImplemented()
std::string preconditioning