Reference documentation for deal.II version 8.4.2
Classes | Public Member Functions | Private Attributes | List of all members

#include <deal.II/lac/trilinos_precondition.h>

Inheritance diagram for TrilinosWrappers::PreconditionAMGMueLu:
[legend]

Classes

struct  AdditionalData
 

Public Member Functions

 ~PreconditionAMGMueLu ()
 
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=0)
 
void clear ()
 
size_type memory_consumption () const
 
- Public Member Functions inherited from TrilinosWrappers::PreconditionBase
 PreconditionBase ()
 
 PreconditionBase (const PreconditionBase &)
 
 ~PreconditionBase ()
 
void clear ()
 
virtual void vmult (VectorBase &dst, const VectorBase &src) const
 
virtual void Tvmult (VectorBase &dst, const VectorBase &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 (::parallel::distributed::Vector< double > &dst, const ::parallel::distributed::Vector< double > &src) const
 
virtual void Tvmult (::parallel::distributed::Vector< double > &dst, const ::parallel::distributed::Vector< double > &src) const
 
Epetra_Operator & trilinos_operator () const
 
 DeclException1 (ExcNonMatchingMaps, std::string,<< "The sparse matrix the preconditioner is based on "<< "uses a map that is not compatible to the one in vector "<< arg1<< ". Check preconditioner and matrix setup.")
 
- Public Member Functions inherited from Subscriptor
 Subscriptor ()
 
 Subscriptor (const Subscriptor &)
 
virtual ~Subscriptor ()
 
Subscriptoroperator= (const Subscriptor &)
 
void subscribe (const char *identifier=0) const
 
void unsubscribe (const char *identifier=0) const
 
unsigned int n_subscriptions () const
 
void list_subscribers () const
 
 DeclException3 (ExcInUse, int, char *, std::string &,<< "Object of class "<< arg2<< " is still used by "<< arg1<< " other objects."<< "\"<< "(Additional information: "<< arg3<< ")\"<< "See the entry in the Frequently Asked Questions of "<< "deal.II (linked to from http://www.dealii.org/) for "<< "a lot more information on what this error means and "<< "how to fix programs in which it happens.")
 
 DeclException2 (ExcNoSubscriber, char *, char *,<< "No subscriber with identifier <"<< arg2<< "> subscribes to this object of class "<< arg1<< ". Consequently, it cannot be unsubscribed.")
 
template<class Archive >
void serialize (Archive &ar, const unsigned int version)
 

Private Attributes

std_cxx11::shared_ptr< SparseMatrixtrilinos_matrix
 

Additional Inherited Members

- Public Types inherited from TrilinosWrappers::PreconditionBase
typedef ::types::global_dof_index size_type
 
- Protected Attributes inherited from TrilinosWrappers::PreconditionBase
std_cxx11::shared_ptr< Epetra_Operator > preconditioner
 
Epetra_MpiComm communicator
 
std_cxx11::shared_ptr< Epetra_Map > vector_distributor
 

Detailed Description

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.

This class requires Trilinos 11.14 or higher.

This interface should not be considered as stable.

Author
Bruno Turcksin, 2014

Definition at line 1583 of file trilinos_precondition.h.

Constructor & Destructor Documentation

§ ~PreconditionAMGMueLu()

TrilinosWrappers::PreconditionAMGMueLu::~PreconditionAMGMueLu ( )

Destructor.

Member Function Documentation

§ initialize() [1/5]

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.

§ initialize() [2/5]

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.

§ initialize() [3/5]

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 user's guide. Not all ML options have a corresponding MueLu option.

§ initialize() [4/5]

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.

§ initialize() [5/5]

template<typename number >
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 = 0 
)

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.

§ clear()

void TrilinosWrappers::PreconditionAMGMueLu::clear ( )

Destroys the preconditioner, leaving an object like just after having called the constructor.

§ memory_consumption()

size_type TrilinosWrappers::PreconditionAMGMueLu::memory_consumption ( ) const

Prints an estimate of the memory consumption of this class.

Member Data Documentation

§ trilinos_matrix

std_cxx11::shared_ptr<SparseMatrix> TrilinosWrappers::PreconditionAMGMueLu::trilinos_matrix
private

A copy of the deal.II matrix into Trilinos format.

Definition at line 1790 of file trilinos_precondition.h.


The documentation for this class was generated from the following file: