16 #ifndef amg_muelu_preconditioner_h
17 #define amg_muelu_preconditioner_h
23 #if defined(DEAL_II_WITH_TRILINOS) && defined(DEAL_II_TRILINOS_WITH_MUELU)
36 :
public dealii::ParameterAcceptor,
37 public dealii::TrilinosWrappers::PreconditionAMGMueLu
57 template <
typename Matrix>
61 using dealii::TrilinosWrappers::PreconditionAMGMueLu::initialize;
A parsed AMG preconditioner based on MueLu which uses parameter files to choose between different opt...
unsigned int smoother_overlap
Determines the overlap in the SSOR/Chebyshev error smoother when run in parallel.
std::string smoother_type
Determines which smoother to use for the AMG cycle.
void initialize_preconditioner(const Matrix &matrix)
Initialize the preconditioner using matrix.
unsigned int smoother_sweeps
Determines how many sweeps of the smoother should be performed.
std::string coarse_type
Determines which solver to use on the coarsest level.
void add_parameters()
Add all parameter options.
AMGMueLuPreconditioner(const std::string &name="", const bool &elliptic=true, const unsigned int &n_cycles=1, const bool &w_cycle=false, const double &aggregation_threshold=1e-4, const unsigned int &smoother_sweeps=2, const unsigned int &smoother_overlap=0, const bool &output_details=false, const std::string &smoother_type="Chebyshev", const std::string &coarse_type="Amesos-KLU")
Constructor.
unsigned int n_cycles
Defines how many multigrid cycles should be performed by the preconditioner.
bool output_details
If this flag is set to true, then internal information from the ML preconditioner is printed to scree...
bool elliptic
Determines whether the AMG preconditioner should be optimized for elliptic problems (ML option smooth...
double aggregation_threshold
This threshold tells the AMG setup how the coarsening should be performed.
bool w_cycle
Defines whether a w-cycle should be used instead of the standard setting of a v-cycle.
SymmetricTensor< 2, dim, Number > e(const Tensor< 2, dim, Number > &F)