18 #ifdef DEAL_II_WITH_TRILINOS
24 JacobiPreconditioner::JacobiPreconditioner(
const std::string &name,
26 const double &min_diagonal,
27 const unsigned int &n_sweeps)
31 , min_diagonal(min_diagonal)
43 "This specifies the relaxation parameter in the Jacobi preconditioner.");
47 "This specifies the minimum value the diagonal elements should "
48 "have. This might be necessary when the Jacobi preconditioner is used "
49 "on matrices with zero diagonal elements. In that case, a straight- "
50 "forward application would not be possible since we would divide by "
55 "Sets how many times the given operation should be applied during the "
56 "vmult() operation.");
59 template <
typename Matrix>
74 dealii::TrilinosWrappers::SparseMatrix>(
75 const dealii::TrilinosWrappers::SparseMatrix &);
static void initialize(const std::string &filename="", const std::string &output_filename="", const ParameterHandler::OutputStyle output_style_for_output_filename=ParameterHandler::Short, ParameterHandler &prm=ParameterAcceptor::prm, const ParameterHandler::OutputStyle output_style_for_filename=ParameterHandler::DefaultStyle)
void add_parameter(const std::string &entry, ParameterType ¶meter, const std::string &documentation="", ParameterHandler &prm_=prm, const Patterns::PatternBase &pattern=*Patterns::Tools::Convert< ParameterType >::to_pattern())
double min_diagonal
This specifies the minimum value the diagonal elements should have.
double omega
This specifies the relaxation parameter in the Jacobi preconditioner.
void initialize_preconditioner(const Matrix &matrix)
Initialize the preconditioner using matrix.
unsigned int n_sweeps
Sets how many times the given operation should be applied during the vmult() operation.
void add_parameters()
Declare preconditioner options.