Reference documentation for deal.II version Git cb0bd54b52 2019-09-21 16:31:22 -0400
\(\newcommand{\dealcoloneq}{\mathrel{\vcenter{:}}=}\)
Classes | Public Member Functions | List of all members

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

Inheritance diagram for TrilinosWrappers::PreconditionIdentity:
[legend]

Classes

struct  AdditionalData
 

Public Member Functions

void initialize (const SparseMatrix &matrix, const AdditionalData &additional_data=AdditionalData())
 
void vmult (MPI::Vector &dst, const MPI::Vector &src) const override
 
void Tvmult (MPI::Vector &dst, const MPI::Vector &src) const override
 
void vmult (::Vector< double > &dst, const ::Vector< double > &src) const override
 
void Tvmult (::Vector< double > &dst, const ::Vector< double > &src) const override
 
void vmult (LinearAlgebra::distributed::Vector< double > &dst, const ::LinearAlgebra::distributed::Vector< double > &src) const override
 
void Tvmult (LinearAlgebra::distributed::Vector< double > &dst, const ::LinearAlgebra::distributed::Vector< double > &src) const override
 
- 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 (::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 ()
 
Subscriptoroperator= (const Subscriptor &)
 
Subscriptoroperator= (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)
 

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 ::ExceptionBaseExcNonMatchingMaps (std::string arg1)
 
- Static Public Member Functions inherited from Subscriptor
static ::ExceptionBaseExcInUse (int arg1, std::string arg2, std::string arg3)
 
static ::ExceptionBaseExcNoSubscriber (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
 

Detailed Description

A wrapper class for an identity preconditioner for Trilinos matrices.

Author
Bruno Turcksin, 2013; extension for full compatibility with LinearOperator class: Jean-Paul Pelteret, 2016

Definition at line 1971 of file trilinos_precondition.h.

Member Function Documentation

◆ initialize()

void PreconditionIdentity::initialize ( const SparseMatrix matrix,
const AdditionalData additional_data = AdditionalData() 
)

The matrix argument is ignored and here just for compatibility with more complex preconditioners.

Note
This function must be called when this preconditioner is to be wrapped in a LinearOperator without an exemplar materix.

Definition at line 722 of file trilinos_precondition.cc.

◆ vmult() [1/3]

void PreconditionIdentity::vmult ( MPI::Vector dst,
const MPI::Vector src 
) const
overridevirtual

Apply the preconditioner, i.e., dst = src.

Reimplemented from TrilinosWrappers::PreconditionBase.

Definition at line 766 of file trilinos_precondition.cc.

◆ Tvmult() [1/3]

void PreconditionIdentity::Tvmult ( MPI::Vector dst,
const MPI::Vector src 
) const
overridevirtual

Apply the transport conditioner, i.e., dst = src.

Reimplemented from TrilinosWrappers::PreconditionBase.

Definition at line 772 of file trilinos_precondition.cc.

◆ vmult() [2/3]

void PreconditionIdentity::vmult ( ::Vector< double > &  dst,
const ::Vector< double > &  src 
) const
overridevirtual

Apply the preconditioner on deal.II data structures instead of the ones provided in the Trilinos wrapper class, i.e., dst = src.

Reimplemented from TrilinosWrappers::PreconditionBase.

Definition at line 778 of file trilinos_precondition.cc.

◆ Tvmult() [2/3]

void PreconditionIdentity::Tvmult ( ::Vector< double > &  dst,
const ::Vector< double > &  src 
) const
overridevirtual

Apply the transpose preconditioner on deal.II data structures instead of the ones provided in the Trilinos wrapper class, i.e. dst = src.

Reimplemented from TrilinosWrappers::PreconditionBase.

Definition at line 785 of file trilinos_precondition.cc.

◆ vmult() [3/3]

void TrilinosWrappers::PreconditionIdentity::vmult ( LinearAlgebra::distributed::Vector< double > &  dst,
const ::LinearAlgebra::distributed::Vector< double > &  src 
) const
override

Apply the preconditioner on deal.II parallel data structures instead of the ones provided in the Trilinos wrapper class, i.e., dst = src.

◆ Tvmult() [3/3]

void TrilinosWrappers::PreconditionIdentity::Tvmult ( LinearAlgebra::distributed::Vector< double > &  dst,
const ::LinearAlgebra::distributed::Vector< double > &  src 
) const
override

Apply the transpose preconditioner on deal.II parallel data structures instead of the ones provided in the Trilinos wrapper class, i.e., dst = src.


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