Reference documentation for deal.II version 9.1.1
|
#include <deal.II/lac/trilinos_precondition.h>
Classes | |
struct | AdditionalData |
Public Member Functions | |
PreconditionAMGMueLu () | |
virtual | ~PreconditionAMGMueLu () override=default |
void | initialize (const SparseMatrix &matrix, const AdditionalData &additional_data=AdditionalData()) |
void | initialize (const Epetra_CrsMatrix &matrix, const AdditionalData &additional_data=AdditionalData()) |
void | initialize (const SparseMatrix &matrix, Teuchos::ParameterList &muelu_parameters) |
void | initialize (const Epetra_CrsMatrix &matrix, Teuchos::ParameterList &muelu_parameters) |
template<typename number > | |
void | initialize (const ::SparseMatrix< number > &deal_ii_sparse_matrix, const AdditionalData &additional_data=AdditionalData(), const double drop_tolerance=1e-13, const ::SparsityPattern *use_this_sparsity=nullptr) |
void | clear () |
size_type | memory_consumption () const |
Public Member Functions inherited from TrilinosWrappers::PreconditionBase | |
PreconditionBase () | |
PreconditionBase (const PreconditionBase &) | |
~PreconditionBase () override=default | |
void | clear () |
MPI_Comm | get_mpi_communicator () const |
void | transpose () |
virtual void | vmult (MPI::Vector &dst, const MPI::Vector &src) const |
virtual void | Tvmult (MPI::Vector &dst, const MPI::Vector &src) const |
virtual void | vmult (::Vector< double > &dst, const ::Vector< double > &src) const |
virtual void | Tvmult (::Vector< double > &dst, const ::Vector< double > &src) const |
virtual void | vmult (::LinearAlgebra::distributed::Vector< double > &dst, const ::LinearAlgebra::distributed::Vector< double > &src) const |
virtual void | Tvmult (::LinearAlgebra::distributed::Vector< double > &dst, const ::LinearAlgebra::distributed::Vector< double > &src) const |
Epetra_Operator & | trilinos_operator () const |
IndexSet | locally_owned_domain_indices () const |
IndexSet | locally_owned_range_indices () const |
Public Member Functions inherited from Subscriptor | |
Subscriptor () | |
Subscriptor (const Subscriptor &) | |
Subscriptor (Subscriptor &&) noexcept | |
virtual | ~Subscriptor () |
Subscriptor & | operator= (const Subscriptor &) |
Subscriptor & | operator= (Subscriptor &&) noexcept |
void | subscribe (std::atomic< bool > *const validity, const std::string &identifier="") const |
void | unsubscribe (std::atomic< bool > *const validity, const std::string &identifier="") const |
unsigned int | n_subscriptions () const |
template<typename StreamType > | |
void | list_subscribers (StreamType &stream) const |
void | list_subscribers () const |
template<class Archive > | |
void | serialize (Archive &ar, const unsigned int version) |
Private Attributes | |
std::shared_ptr< SparseMatrix > | trilinos_matrix |
Additional Inherited Members | |
Public Types inherited from TrilinosWrappers::PreconditionBase | |
using | size_type = ::types::global_dof_index |
Static Public Member Functions inherited from TrilinosWrappers::PreconditionBase | |
static ::ExceptionBase & | ExcNonMatchingMaps (std::string arg1) |
Static Public Member Functions inherited from Subscriptor | |
static ::ExceptionBase & | ExcInUse (int arg1, std::string arg2, std::string arg3) |
static ::ExceptionBase & | ExcNoSubscriber (std::string arg1, std::string arg2) |
Protected Attributes inherited from TrilinosWrappers::PreconditionBase | |
Teuchos::RCP< Epetra_Operator > | preconditioner |
Epetra_MpiComm | communicator |
std::shared_ptr< Epetra_Map > | vector_distributor |
This class implements an algebraic multigrid (AMG) preconditioner based on the Trilinos MueLu implementation, which is a black-box preconditioner that works well for many PDE-based linear problems. The interface of PreconditionerAMGMueLu is the same as the interface of PreconditionerAMG except for the higher_order_elements parameter which does not exist in PreconditionerAMGMueLu.
Definition at line 1734 of file trilinos_precondition.h.
TrilinosWrappers::PreconditionAMGMueLu::PreconditionAMGMueLu | ( | ) |
Constructor.
Definition at line 56 of file trilinos_precondition_muelu.cc.
|
overridevirtualdefault |
Destructor.
void TrilinosWrappers::PreconditionAMGMueLu::initialize | ( | const SparseMatrix & | matrix, |
const AdditionalData & | additional_data = AdditionalData() |
||
) |
Let Trilinos compute a multilevel hierarchy for the solution of a linear system with the given matrix. The function uses the matrix format specified in TrilinosWrappers::SparseMatrix.
Definition at line 73 of file trilinos_precondition_muelu.cc.
void TrilinosWrappers::PreconditionAMGMueLu::initialize | ( | const Epetra_CrsMatrix & | matrix, |
const AdditionalData & | additional_data = AdditionalData() |
||
) |
Let Trilinos compute a multilevel hierarchy for the solution of a linear system with the given matrix. As opposed to the other initialize function above, this function uses an object of type Epetra_CrsMatrixCrs.
Definition at line 82 of file trilinos_precondition_muelu.cc.
void TrilinosWrappers::PreconditionAMGMueLu::initialize | ( | const SparseMatrix & | matrix, |
Teuchos::ParameterList & | muelu_parameters | ||
) |
Let Trilinos compute a multilevel hierarchy for the solution of a linear system with the given matrix. The function uses the matrix format specified in TrilinosWrappers::SparseMatrix.
This function is similar to the one above, but allows the user to set most of the options of the Trilinos ML preconditioner. In order to find out about all the options for ML, we refer to the ML documentation page. Not all ML options have a corresponding MueLu option.
Definition at line 186 of file trilinos_precondition_muelu.cc.
void TrilinosWrappers::PreconditionAMGMueLu::initialize | ( | const Epetra_CrsMatrix & | matrix, |
Teuchos::ParameterList & | muelu_parameters | ||
) |
Let Trilinos compute a multilevel hierarchy for the solution of a linear system with the given matrix. As opposed to the other initialize function above, this function uses an object of type Epetra_CrsMatrix.
Definition at line 195 of file trilinos_precondition_muelu.cc.
void TrilinosWrappers::PreconditionAMGMueLu::initialize | ( | const ::SparseMatrix< number > & | deal_ii_sparse_matrix, |
const AdditionalData & | additional_data = AdditionalData() , |
||
const double | drop_tolerance = 1e-13 , |
||
const ::SparsityPattern * | use_this_sparsity = nullptr |
||
) |
Let Trilinos compute a multilevel hierarchy for the solution of a linear system with the given matrix. This function takes a deal.ii matrix and copies the content into a Trilinos matrix, so the function can be considered rather inefficient.
Definition at line 208 of file trilinos_precondition_muelu.cc.
void TrilinosWrappers::PreconditionAMGMueLu::clear | ( | ) |
Destroys the preconditioner, leaving an object like just after having called the constructor.
Definition at line 240 of file trilinos_precondition_muelu.cc.
PreconditionAMGMueLu::size_type TrilinosWrappers::PreconditionAMGMueLu::memory_consumption | ( | ) | const |
Prints an estimate of the memory consumption of this class.
Definition at line 249 of file trilinos_precondition_muelu.cc.
|
private |
A copy of the deal.II matrix into Trilinos format.
Definition at line 1954 of file trilinos_precondition.h.