Ifpack2 Templated Preconditioning Package
Version 1.0
|
Preconditioners and smoothers for Tpetra sparse matrices. More...
Namespaces | |
BlockTriDiContainerDetails | |
Classes | |
class | AdditiveSchwarz |
Additive Schwarz domain decomposition for Tpetra sparse matrices. More... | |
class | BandedContainer |
Store and solve a local Banded linear problem. More... | |
class | BlockRelaxation |
Block relaxation preconditioners (or smoothers) for Tpetra::RowMatrix and Tpetra::CrsMatrix sparse matrices. More... | |
class | BlockTriDiContainer |
Store and solve local block tridiagonal linear problems. More... | |
class | BlockTriDiContainer< MatrixType, BlockTriDiContainerDetails::ImplSimdTag > |
class | BlockTriDiContainer< MatrixType, BlockTriDiContainerDetails::ImplNotAvailTag > |
class | BorderedOperator |
Ifpack2 bordered operator. More... | |
class | Chebyshev |
Diagonally scaled Chebyshev iteration for Tpetra sparse matrices. More... | |
class | Container |
Interface for creating and solving a local linear problem. More... | |
class | ContainerFactory |
A static "factory" that provides a way to register and construct arbitrary Ifpack2::Container subclasses using string keys. More... | |
class | DenseContainer |
Store and solve a local dense linear problem. More... | |
class | DiagonalFilter |
Ifpack2_DiagonalFilter: Filter to modify the diagonal entries of a given Tpetra_RowMatrix. More... | |
class | DropFilter |
Filter based on matrix entries. More... | |
class | Factory |
"Factory" for creating Ifpack2 preconditioners. More... | |
class | Hiptmair |
Wrapper for Hiptmair smoothers. More... | |
class | IdentitySolver |
"Identity" preconditioner. More... | |
class | IlukGraph |
Construct a level filled graph for use in computing an ILU(k) incomplete factorization. More... | |
class | ILUT |
ILUT (incomplete LU factorization with threshold) of a Tpetra sparse matrix. More... | |
class | LinearPartitioner |
A class to define linear partitions. More... | |
class | LinePartitioner |
Ifpack2::LinePartitioner: A class to define partitions into a set of lines. More... | |
class | LocalFilter |
Access only local rows and columns of a sparse matrix. More... | |
class | LocalSparseTriangularSolver |
"Preconditioner" that solves local sparse triangular systems. More... | |
class | OverlapGraph |
Construct an overlapped graph from a given nonoverlapping graph. More... | |
class | OverlappingPartitioner |
Create overlapping partitions of a local graph. More... | |
class | OverlappingRowMatrix |
Sparse matrix (Tpetra::RowMatrix subclass) with ghost rows. More... | |
class | Partitioner |
Ifpack2::Partitioner: More... | |
class | Preconditioner |
Interface for all Ifpack2 preconditioners. More... | |
class | Relaxation |
Relaxation preconditioners for Tpetra::RowMatrix and Tpetra::CrsMatrix sparse matrices. More... | |
class | ReorderFilter |
Wraps a Tpetra::RowMatrix in a filter that reorders local rows and columns. More... | |
class | RILUK |
ILU(k) factorization of a given Tpetra::RowMatrix. More... | |
class | SingletonFilter |
Filter based on matrix entries. More... | |
class | SparseContainer |
Store and solve a local sparse linear problem. More... | |
class | SparsityFilter |
Drop entries of a matrix, based on the sparsity pattern. More... | |
class | TriDiContainer |
Store and solve a local TriDi linear problem. More... | |
Enumerations | |
enum | CondestType { Cheap, CG, GMRES } |
Ifpack2::CondestType: enum to define the type of condition number estimate. More... | |
enum | ScalingType |
Ifpack2 scaling type selector. More... | |
Functions | |
template<class MatrixType > | |
std::ostream & | operator<< (std::ostream &os, const Ifpack2::Container< MatrixType > &obj) |
Print information about the given Container to the output stream os . More... | |
template<class GraphType > | |
Teuchos::RCP< const GraphType > | createOverlapGraph (const Teuchos::RCP< const GraphType > &inputGraph, const int overlapLevel) |
Construct an overlapped graph for use with Ifpack2 preconditioners. More... | |
template<class MatrixType > | |
Teuchos::RCP< const MatrixType > | createOverlapMatrix (const Teuchos::RCP< const MatrixType > &inputMatrix, const int overlapLevel) |
Construct an overlapped matrix for use with Ifpack2 preconditioners. More... | |
bool | supportsUnsymmetric (const std::string &prec_type) |
true if the specified preconditioner type supports nonsymmetric matrices, else false. More... | |
template<typename Ordinal , typename SizeType > | |
void | add_to_heap (const Ordinal &idx, Teuchos::Array< Ordinal > &heap, SizeType &heap_len) |
template<typename Ordinal , typename SizeType , class Compare > | |
void | add_to_heap (const Ordinal &idx, Teuchos::Array< Ordinal > &heap, SizeType &heap_len, Compare comp) |
template<typename Ordinal , typename SizeType > | |
void | rm_heap_root (Teuchos::Array< Ordinal > &heap, SizeType &heap_len) |
template<typename Ordinal , typename SizeType , class Compare > | |
void | rm_heap_root (Teuchos::Array< Ordinal > &heap, SizeType &heap_len, Compare comp) |
void | getValidParameters (Teuchos::ParameterList ¶ms) |
Fills a list which contains all the parameters possibly used by Ifpack2. More... | |
template<typename T > | |
void | getParameter (const Teuchos::ParameterList ¶ms, const std::string &name, T &value) |
Set a value from a ParameterList if a parameter with the specified name exists. More... | |
Preconditioners and smoothers for Tpetra sparse matrices.
enum Ifpack2::CondestType |
Ifpack2::CondestType: enum to define the type of condition number estimate.
Enumerator | |
---|---|
Cheap |
cheap estimate |
CG |
Uses AztecOO's CG. |
GMRES |
Uses AztecOO's GMRES. |
enum Ifpack2::ScalingType |
|
inline |
Print information about the given Container to the output stream os
.
Teuchos::RCP<const GraphType> Ifpack2::createOverlapGraph | ( | const Teuchos::RCP< const GraphType > & | inputGraph, |
const int | overlapLevel | ||
) |
Construct an overlapped graph for use with Ifpack2 preconditioners.
GraphType | A specialization of Tpetra::RowGraph or Tpetra::CrsGraph. |
inputGraph | [in] The input graph. We assume that its row Map is nonoverlapping. |
overlapLevel | [in] The level of overlap. Zero means no overlap, in which case this function just returns the original inputGraph . |
Teuchos::RCP<const MatrixType> Ifpack2::createOverlapMatrix | ( | const Teuchos::RCP< const MatrixType > & | inputMatrix, |
const int | overlapLevel | ||
) |
Construct an overlapped matrix for use with Ifpack2 preconditioners.
MatrixType | A specialization of Tpetra::CrsMatrix. |
inputMatrix | [in] The input matrix. We assume that its row Map is nonoverlapping. |
overlapLevel | [in] The level of overlap. Zero means no overlap, in which case this function just returns the original inputMatrix . |
bool Ifpack2::supportsUnsymmetric | ( | const std::string & | prec_type | ) |
true
if the specified preconditioner type supports nonsymmetric matrices, else false.
void Ifpack2::add_to_heap | ( | const Ordinal & | idx, |
Teuchos::Array< Ordinal > & | heap, | ||
SizeType & | heap_len | ||
) |
Add idx to heap, don't assume heap occupies entire vector.
void Ifpack2::add_to_heap | ( | const Ordinal & | idx, |
Teuchos::Array< Ordinal > & | heap, | ||
SizeType & | heap_len, | ||
Compare | comp | ||
) |
Add idx to heap, don't assume heap occupies entire vector. Also take custom comparator.
void Ifpack2::rm_heap_root | ( | Teuchos::Array< Ordinal > & | heap, |
SizeType & | heap_len | ||
) |
Remove heap root, don't shorten vector but update a heap_len parameter.
void Ifpack2::rm_heap_root | ( | Teuchos::Array< Ordinal > & | heap, |
SizeType & | heap_len, | ||
Compare | comp | ||
) |
Remove heap root, with custom comparator, don't assume heap occupies entire vector.
void Ifpack2::getValidParameters | ( | Teuchos::ParameterList & | params | ) |
Fills a list which contains all the parameters possibly used by Ifpack2.
void Ifpack2::getParameter | ( | const Teuchos::ParameterList & | params, |
const std::string & | name, | ||
T & | value | ||
) |
Set a value from a ParameterList if a parameter with the specified name exists.
If the specified name does not name a parameter in the list, then 'value' is not referenced.