Ifpack2 Templated Preconditioning Package
Version 1.0
|
A static "factory" that provides a way to register and construct arbitrary Ifpack2::Container subclasses using string keys. More...
#include <Ifpack2_ContainerFactory_decl.hpp>
Public Types | |
Typedefs | |
typedef MatrixType::scalar_type | scalar_type |
The type of the entries of the input MatrixType. More... | |
typedef MatrixType::local_ordinal_type | local_ordinal_type |
The local_ordinal_type from the input MatrixType. More... | |
typedef MatrixType::global_ordinal_type | global_ordinal_type |
The global_ordinal_type from the input MatrixType. More... | |
typedef MatrixType::node_type | node_type |
The node_type from the input MatrixType. More... | |
typedef Tpetra::RowMatrix < scalar_type, local_ordinal_type, global_ordinal_type, node_type > | row_matrix_type |
Tpetra::RowMatrix specialization (superclass of MatrixType) More... | |
typedef Tpetra::Import < local_ordinal_type, global_ordinal_type, node_type > | import_type |
Tpetra::Importer specialization for use with MatrixType and compatible MultiVectors. More... | |
typedef Ifpack2::Container < MatrixType > | BaseContainer |
Static Public Member Functions | |
template<typename ContainerType > | |
static void | registerContainer (std::string containerType) |
Registers a specialization of Ifpack2::Container by binding a key (string) to it. More... | |
static Teuchos::RCP < BaseContainer > | build (std::string containerType, const Teuchos::RCP< const MatrixType > &A, const Teuchos::Array< Teuchos::Array< local_ordinal_type >> &localRows, const Teuchos::RCP< const import_type > importer, int OverlapLevel, scalar_type DampingFactor) |
Build a specialization of Ifpack2::Container given a key that has been registered. More... | |
static void | deregisterContainer (std::string containerType) |
Registers a specialization of Ifpack2::Container by binding a key (string) to it. More... | |
A static "factory" that provides a way to register and construct arbitrary Ifpack2::Container subclasses using string keys.
MatrixType | A specialization of Tpetra::RowMatrix. |
typedef MatrixType::scalar_type Ifpack2::ContainerFactory< MatrixType >::scalar_type |
The type of the entries of the input MatrixType.
typedef MatrixType::local_ordinal_type Ifpack2::ContainerFactory< MatrixType >::local_ordinal_type |
The local_ordinal_type from the input MatrixType.
typedef MatrixType::global_ordinal_type Ifpack2::ContainerFactory< MatrixType >::global_ordinal_type |
The global_ordinal_type from the input MatrixType.
typedef MatrixType::node_type Ifpack2::ContainerFactory< MatrixType >::node_type |
The node_type from the input MatrixType.
typedef Tpetra::RowMatrix<scalar_type, local_ordinal_type, global_ordinal_type, node_type> Ifpack2::ContainerFactory< MatrixType >::row_matrix_type |
Tpetra::RowMatrix specialization (superclass of MatrixType)
typedef Tpetra::Import<local_ordinal_type, global_ordinal_type, node_type> Ifpack2::ContainerFactory< MatrixType >::import_type |
Tpetra::Importer specialization for use with MatrixType
and compatible MultiVectors.
|
static |
Registers a specialization of Ifpack2::Container by binding a key (string) to it.
ContainerType | The Container specialization to register. |
containerType | The key to pair with ContainerType. After registering, the key can be used to construct a ContainerType. |
|
static |
Build a specialization of Ifpack2::Container given a key that has been registered.
containerType | The key for looking up the Container specialization. If this key hasn't been registered, an exception is thrown. |
A | The problem matrix. |
localRows | The rows that correspond to each block. The outer list contains blocks, and the inner list contains rows. In BlockRelaxation, this is retrieved from a Partitioner. |
importer | The importer that is used to import off-process rows (used by overlapping BlockRelaxation). |
OverlapLevel | In BlockRelaxation the overlap level is retrieved from the parameter list. |
DampingFactor | In BlockRelaxation the damping factor is retrieved from the parameter list. |
|
static |
Registers a specialization of Ifpack2::Container by binding a key (string) to it.
containerType | The key to deregister. If it wasn't registered before, the call has no effect. |