Reference documentation for deal.II version 9.2.0
|
#include <deal.II/lac/trilinos_precondition.h>
Classes | |
struct | AdditionalData |
Public Member Functions | |
void | initialize (const SparseMatrix &matrix, const AdditionalData &additional_data=AdditionalData()) |
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) |
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 |
A wrapper class for a block SSOR preconditioner for Trilinos matrices. As opposed to PreconditionSSOR where each row is treated separately (point- wise), this scheme collects block of a given size and inverts a full matrix for all these rows simultaneously. Trilinos allows to select several strategies for selecting which rows form a block, including "linear" (i.e., divide the local range of the matrix in slices of the block size), "greedy" or "metis".
The AdditionalData data structure allows to set preconditioner options.
Note that a parallel application of this preconditioner is actually a block-Jacobi preconditioner with (outer) block size equal to the local matrix size. Spoken more technically, this parallel operation is an additive Schwarz method with a block SSOR approximate solve as inner solver, based on the outer parallel partitioning.
Definition at line 640 of file trilinos_precondition.h.