Reference documentation for deal.II version Git 48a3da0 2016-05-30 00:15:31 -0400
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members

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

Inheritance diagram for TrilinosWrappers::PreconditionBase:
[legend]

Classes

struct  AdditionalData
 

Public Types

typedef ::types::global_dof_index size_type
 

Public Member Functions

 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
 
- Public Member Functions inherited from Subscriptor
 Subscriptor ()
 
 Subscriptor (const Subscriptor &)
 
 Subscriptor (Subscriptor &&)
 
virtual ~Subscriptor ()
 
Subscriptoroperator= (const Subscriptor &)
 
Subscriptoroperator= (Subscriptor &&)
 
void subscribe (const char *identifier=0) const
 
void unsubscribe (const char *identifier=0) const
 
unsigned int n_subscriptions () const
 
void list_subscribers () const
 
template<class Archive >
void serialize (Archive &ar, const unsigned int version)
 

Static Public Member Functions

static::ExceptionBase & ExcNonMatchingMaps (std::string arg1)
 
- Static Public Member Functions inherited from Subscriptor
static::ExceptionBase & ExcInUse (int arg1, char *arg2, std::string &arg3)
 
static::ExceptionBase & ExcNoSubscriber (char *arg1, char *arg2)
 

Protected Attributes

std_cxx11::shared_ptr< Epetra_Operator > preconditioner
 
Epetra_MpiComm communicator
 
std_cxx11::shared_ptr< Epetra_Map > vector_distributor
 

Detailed Description

The base class for all preconditioners based on Trilinos sparse matrices.

Author
Martin Kronbichler, 2008

Definition at line 77 of file trilinos_precondition.h.

Member Typedef Documentation

Declare the type for container size.

Definition at line 83 of file trilinos_precondition.h.

Constructor & Destructor Documentation

TrilinosWrappers::PreconditionBase::PreconditionBase ( )

Constructor. Does not do anything. The initialize function of the derived classes will have to create the preconditioner from a given sparse matrix.

Definition at line 37 of file trilinos_precondition.cc.

TrilinosWrappers::PreconditionBase::PreconditionBase ( const PreconditionBase base)

Copy constructor.

Definition at line 46 of file trilinos_precondition.cc.

TrilinosWrappers::PreconditionBase::~PreconditionBase ( )

Destructor.

Definition at line 58 of file trilinos_precondition.cc.

Member Function Documentation

void TrilinosWrappers::PreconditionBase::clear ( )

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

Definition at line 63 of file trilinos_precondition.cc.

virtual void TrilinosWrappers::PreconditionBase::vmult ( VectorBase dst,
const VectorBase src 
) const
virtual

Apply the preconditioner.

Reimplemented in TrilinosWrappers::PreconditionIdentity.

virtual void TrilinosWrappers::PreconditionBase::Tvmult ( VectorBase dst,
const VectorBase src 
) const
virtual

Apply the transpose preconditioner.

Reimplemented in TrilinosWrappers::PreconditionIdentity.

virtual void TrilinosWrappers::PreconditionBase::vmult ( ::Vector< double > &  dst,
const ::Vector< double > &  src 
) const
virtual

Apply the preconditioner on deal.II data structures instead of the ones provided in the Trilinos wrapper class.

Reimplemented in TrilinosWrappers::PreconditionIdentity.

virtual void TrilinosWrappers::PreconditionBase::Tvmult ( ::Vector< double > &  dst,
const ::Vector< double > &  src 
) const
virtual

Apply the transpose preconditioner on deal.II data structures instead of the ones provided in the Trilinos wrapper class.

Reimplemented in TrilinosWrappers::PreconditionIdentity.

virtual void TrilinosWrappers::PreconditionBase::vmult ( ::parallel::distributed::Vector< double > &  dst,
const ::parallel::distributed::Vector< double > &  src 
) const
virtual

Apply the preconditioner on deal.II parallel data structures instead of the ones provided in the Trilinos wrapper class.

virtual void TrilinosWrappers::PreconditionBase::Tvmult ( ::parallel::distributed::Vector< double > &  dst,
const ::parallel::distributed::Vector< double > &  src 
) const
virtual

Apply the transpose preconditioner on deal.II parallel data structures instead of the ones provided in the Trilinos wrapper class.

Epetra_Operator& TrilinosWrappers::PreconditionBase::trilinos_operator ( ) const

Return a reference to the underlaying Trilinos Epetra_Operator. So you can use the preconditioner with unwrapped Trilinos solver.

Calling this function from an uninitialized object will cause an exception.

Member Data Documentation

std_cxx11::shared_ptr<Epetra_Operator> TrilinosWrappers::PreconditionBase::preconditioner
protected

This is a pointer to the preconditioner object that is used when applying the preconditioner.

Definition at line 181 of file trilinos_precondition.h.

Epetra_MpiComm TrilinosWrappers::PreconditionBase::communicator
protected

Internal communication pattern in case the matrix needs to be copied from deal.II format.

Definition at line 188 of file trilinos_precondition.h.

std_cxx11::shared_ptr<Epetra_Map> TrilinosWrappers::PreconditionBase::vector_distributor
protected

Internal Trilinos map in case the matrix needs to be copied from deal.II format.

Definition at line 197 of file trilinos_precondition.h.


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