Reference documentation for deal.II version Git 251e984 2017-09-25 10:29:00 +0200
Namespaces | Classes | Enumerations
TrilinosWrappers
Collaboration diagram for TrilinosWrappers:

Namespaces

 TrilinosWrappers
 
 TrilinosWrappers::MPI
 

Classes

class  TrilinosWrappers::BlockSparsityPattern
 
class  TrilinosWrappers::BlockSparseMatrix
 
class  TrilinosWrappers::internal::BlockLinearOperator::TrilinosBlockPayload< PayloadBlockType >
 
class  LinearAlgebra::EpetraWrappers::Vector
 
class  TrilinosWrappers::MPI::BlockVector
 
class  TrilinosWrappers::PreconditionBase
 
struct  TrilinosWrappers::PreconditionJacobi::AdditionalData
 
class  TrilinosWrappers::PreconditionJacobi
 
struct  TrilinosWrappers::PreconditionSSOR::AdditionalData
 
class  TrilinosWrappers::PreconditionSSOR
 
struct  TrilinosWrappers::PreconditionSOR::AdditionalData
 
class  TrilinosWrappers::PreconditionSOR
 
struct  TrilinosWrappers::PreconditionBlockJacobi::AdditionalData
 
class  TrilinosWrappers::PreconditionBlockJacobi
 
struct  TrilinosWrappers::PreconditionBlockSSOR::AdditionalData
 
class  TrilinosWrappers::PreconditionBlockSSOR
 
struct  TrilinosWrappers::PreconditionBlockSOR::AdditionalData
 
class  TrilinosWrappers::PreconditionBlockSOR
 
struct  TrilinosWrappers::PreconditionIC::AdditionalData
 
class  TrilinosWrappers::PreconditionIC
 
struct  TrilinosWrappers::PreconditionILU::AdditionalData
 
class  TrilinosWrappers::PreconditionILU
 
struct  TrilinosWrappers::PreconditionILUT::AdditionalData
 
class  TrilinosWrappers::PreconditionILUT
 
struct  TrilinosWrappers::PreconditionBlockwiseDirect::AdditionalData
 
class  TrilinosWrappers::PreconditionBlockwiseDirect
 
struct  TrilinosWrappers::PreconditionChebyshev::AdditionalData
 
class  TrilinosWrappers::PreconditionChebyshev
 
struct  TrilinosWrappers::PreconditionAMG::AdditionalData
 
class  TrilinosWrappers::PreconditionAMG
 
struct  TrilinosWrappers::PreconditionAMGMueLu::AdditionalData
 
class  TrilinosWrappers::PreconditionAMGMueLu
 
class  TrilinosWrappers::PreconditionIdentity
 
struct  TrilinosWrappers::SolverBase::AdditionalData
 
class  TrilinosWrappers::SolverBase
 
struct  TrilinosWrappers::SolverCG::AdditionalData
 
class  TrilinosWrappers::SolverCG
 
struct  TrilinosWrappers::SolverCGS::AdditionalData
 
class  TrilinosWrappers::SolverCGS
 
struct  TrilinosWrappers::SolverBicgstab::AdditionalData
 
class  TrilinosWrappers::SolverBicgstab
 
struct  TrilinosWrappers::SolverTFQMR::AdditionalData
 
class  TrilinosWrappers::SolverTFQMR
 
struct  TrilinosWrappers::SolverDirect::AdditionalData
 
class  TrilinosWrappers::SolverDirect
 
class  TrilinosWrappers::SparseMatrixIterators::Iterator< Constness >
 
struct  TrilinosWrappers::SparseMatrix::Traits
 
class  TrilinosWrappers::SparseMatrix
 
class  TrilinosWrappers::internal::LinearOperator::TrilinosPayload
 
class  TrilinosWrappers::SparsityPatternIterators::Accessor
 
class  TrilinosWrappers::SparsityPattern
 
class  TrilinosWrappers::MPI::Vector
 

Enumerations

enum  TrilinosWrappers::SolverBase::SolverName {
  TrilinosWrappers::SolverBase::cg, TrilinosWrappers::SolverBase::cgs, TrilinosWrappers::SolverBase::gmres, TrilinosWrappers::SolverBase::bicgstab,
  TrilinosWrappers::SolverBase::tfqmr
}
 

Creation of a LinearOperator

template<typename Range , typename Domain = Range, typename Matrix >
LinearOperator< Range, Domain, TrilinosWrappers::internal::LinearOperator::TrilinosPayloadlinear_operator (const TrilinosWrappers::SparseMatrix &operator_exemplar, const Matrix &matrix)
 
template<typename Range , typename Domain = Range>
LinearOperator< Range, Domain, TrilinosWrappers::internal::LinearOperator::TrilinosPayloadlinear_operator (const TrilinosWrappers::SparseMatrix &matrix)
 

Creation of a BlockLinearOperator

template<typename Range , typename Domain = Range>
BlockLinearOperator< Range, Domain, TrilinosWrappers::internal::BlockLinearOperator::TrilinosBlockPayload< TrilinosWrappers::internal::LinearOperator::TrilinosPayload > > block_operator (const TrilinosWrappers::BlockSparseMatrix &block_matrix)
 
template<size_t m, size_t n, typename Range , typename Domain = Range>
BlockLinearOperator< Range, Domain, TrilinosWrappers::internal::BlockLinearOperator::TrilinosBlockPayload< TrilinosWrappers::internal::LinearOperator::TrilinosPayload > > block_operator (const std::array< std::array< LinearOperator< typename Range::BlockType, typename Domain::BlockType, TrilinosWrappers::internal::LinearOperator::TrilinosPayload >, n >, m > &ops)
 
template<typename Range , typename Domain = Range>
BlockLinearOperator< Range, Domain, TrilinosWrappers::internal::BlockLinearOperator::TrilinosBlockPayload< TrilinosWrappers::internal::LinearOperator::TrilinosPayload > > block_diagonal_operator (const TrilinosWrappers::BlockSparseMatrix &block_matrix)
 
template<size_t m, typename Range , typename Domain = Range>
BlockLinearOperator< Range, Domain, TrilinosWrappers::internal::BlockLinearOperator::TrilinosBlockPayload< TrilinosWrappers::internal::LinearOperator::TrilinosPayload > > block_diagonal_operator (const std::array< LinearOperator< typename Range::BlockType, typename Domain::BlockType, TrilinosWrappers::internal::LinearOperator::TrilinosPayload >, m > &ops)
 

Detailed Description

The classes in this module are wrappers around functionality provided by the Trilinos library. They provide a modern object-oriented interface that is compatible with the interfaces of the other linear algebra classes in deal.II. All classes and functions in this group reside in a namespace TrilinosWrappers.

These classes are only available if a Trilinos installation was detected during configuration of deal.II. Refer to the README file for more details about this.

Author
Martin Kronbichler, Wolfgang Bangerth, 2008

Enumeration Type Documentation

Enumeration object that is set in the constructor of the derived classes and tells Trilinos which solver to use. This option can also be set in the user program, so one might use this base class instead of one of the specialized derived classes when the solver should be set at runtime. Currently enabled options are:

Enumerator
cg 

Use the conjugate gradient (CG) algorithm.

cgs 

Use the conjugate gradient squared (CGS) algorithm.

gmres 

Use the generalized minimum residual (GMRES) algorithm.

bicgstab 

Use the biconjugate gradient stabilized (BICGStab) algorithm.

tfqmr 

Use the transpose-free quasi-minimal residual (TFQMR) method.

Definition at line 78 of file trilinos_solver.h.

Function Documentation

template<typename Range , typename Domain = Range, typename Matrix >
LinearOperator< Range, Domain, TrilinosWrappers::internal::LinearOperator::TrilinosPayload > linear_operator ( const TrilinosWrappers::SparseMatrix operator_exemplar,
const Matrix &  matrix 
)
related

A function that encapsulates generic matrix objects, based on an operator_exemplar, that act on a compatible Vector type into a LinearOperator.

This function is the equivalent of the linear_operator, but ensures full compatibility with Trilinos operations by preselecting the appropriate template parameters.

Author
Jean-Paul Pelteret, 2016

Definition at line 75 of file trilinos_linear_operator.h.

template<typename Range , typename Domain = Range>
LinearOperator< Range, Domain, TrilinosWrappers::internal::LinearOperator::TrilinosPayload > linear_operator ( const TrilinosWrappers::SparseMatrix matrix)
related

A function that encapsulates generic matrix objects that act on a compatible Vector type into a LinearOperator.

This function is the equivalent of the linear_operator, but ensures full compatibility with Trilinos operations by preselecting the appropriate template parameters.

Author
Jean-Paul Pelteret, 2016

Definition at line 99 of file trilinos_linear_operator.h.

template<typename Range , typename Domain = Range>
BlockLinearOperator< Range, Domain, TrilinosWrappers::internal::BlockLinearOperator::TrilinosBlockPayload< TrilinosWrappers::internal::LinearOperator::TrilinosPayload > > block_operator ( const TrilinosWrappers::BlockSparseMatrix block_matrix)
related

A function that encapsulates a block_matrix into a BlockLinearOperator.

This function is the equivalent of the block_operator, but ensures full compatibility with Trilinos operations by preselecting the appropriate template parameters.

Author
Jean-Paul Pelteret, 2016

Definition at line 130 of file trilinos_linear_operator.h.

template<size_t m, size_t n, typename Range , typename Domain = Range>
BlockLinearOperator< Range, Domain, TrilinosWrappers::internal::BlockLinearOperator::TrilinosBlockPayload< TrilinosWrappers::internal::LinearOperator::TrilinosPayload > > block_operator ( const std::array< std::array< LinearOperator< typename Range::BlockType, typename Domain::BlockType, TrilinosWrappers::internal::LinearOperator::TrilinosPayload >, n >, m > &  ops)
related

A variant of above function that builds up a block diagonal linear operator from an array ops of diagonal elements (off-diagonal blocks are assumed to be 0).

This function is the equivalent of the block_operator, but ensures full compatibility with Trilinos operations by preselecting the appropriate template parameters.

Author
Jean-Paul Pelteret, 2016

Definition at line 158 of file trilinos_linear_operator.h.

template<typename Range , typename Domain = Range>
BlockLinearOperator< Range, Domain, TrilinosWrappers::internal::BlockLinearOperator::TrilinosBlockPayload< TrilinosWrappers::internal::LinearOperator::TrilinosPayload > > block_diagonal_operator ( const TrilinosWrappers::BlockSparseMatrix block_matrix)
related

This function extracts the diagonal blocks of block_matrix (either a block matrix type or a BlockLinearOperator) and creates a BlockLinearOperator with the diagonal. Off-diagonal elements are initialized as null_operator (with correct reinit_range_vector and reinit_domain_vector methods).

This function is the equivalent of the block_diagonal_operator, but ensures full compatibility with Trilinos operations by preselecting the appropriate template parameters.

Author
Jean-Paul Pelteret, 2016

Definition at line 186 of file trilinos_linear_operator.h.

template<size_t m, typename Range , typename Domain = Range>
BlockLinearOperator< Range, Domain, TrilinosWrappers::internal::BlockLinearOperator::TrilinosBlockPayload< TrilinosWrappers::internal::LinearOperator::TrilinosPayload > > block_diagonal_operator ( const std::array< LinearOperator< typename Range::BlockType, typename Domain::BlockType, TrilinosWrappers::internal::LinearOperator::TrilinosPayload >, m > &  ops)
related

A variant of above function that builds up a block diagonal linear operator from an array ops of diagonal elements (off-diagonal blocks are assumed to be 0).

This function is the equivalent of the block_diagonal_operator, but ensures full compatibility with Trilinos operations by preselecting the appropriate template parameters.

Author
Jean-Paul Pelteret, 2016

Definition at line 212 of file trilinos_linear_operator.h.