Ifpack2 Templated Preconditioning Package
Version 1.0
|
The Ifpack2 wrapper to the ILU preconditioner of ShyLU FastILU. More...
#include <Ifpack2_Details_Filu_decl.hpp>
Public Member Functions | |
Filu (Teuchos::RCP< const TRowMatrix > mat_) | |
Constructor. More... | |
int | getSweeps () const |
Get the sweeps ("nFact") from localPrec_. More... | |
std::string | getSpTrsvType () const |
Get the name of triangular solve algorithm. More... | |
int | getNTrisol () const |
Get the number of triangular solves ("nTrisol") from localPrec_. More... | |
void | checkLocalILU () const |
Verify and print debug info about the internal ILU preconditioner. More... | |
void | checkLocalIC () const |
Verify and print debug info about the internal IC preconditioner. More... | |
Public Member Functions inherited from Ifpack2::Details::FastILU_Base< Scalar, LocalOrdinal, GlobalOrdinal, Node > | |
FastILU_Base (Teuchos::RCP< const TRowMatrix > mat_) | |
Constructor. More... | |
Teuchos::RCP< const Tpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > | getDomainMap () const |
Get the domain map of the matrix. More... | |
Teuchos::RCP< const Tpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > | getRangeMap () const |
Get the range map of the matrix. More... | |
void | apply (const TMultiVec &X, TMultiVec &Y, Teuchos::ETransp mode=Teuchos::NO_TRANS, Scalar alpha=Teuchos::ScalarTraits< Scalar >::one(), Scalar beta=Teuchos::ScalarTraits< Scalar >::zero()) const |
Apply the preconditioner. More... | |
void | setParameters (const Teuchos::ParameterList &List) |
Validate parameters, and set defaults when parameters are not provided. More... | |
void | initialize () |
Initialize the preconditioner. More... | |
bool | isInitialized () const |
Whether initialize() has been called since the last time the matrix's structure was changed. More... | |
void | compute () |
Compute the preconditioner. More... | |
bool | isComputed () const |
Whether compute() has been called since the last time the matrix's values or structure were changed. More... | |
Teuchos::RCP< const TRowMatrix > | getMatrix () const |
Get the current matrix. More... | |
int | getNumInitialize () const |
Get the number of times initialize() was called. More... | |
int | getNumCompute () const |
Get the number of times compute() was called. More... | |
int | getNumApply () const |
Get the number of times apply() was called. More... | |
double | getInitializeTime () const |
Get the time spent in the last initialize() call. More... | |
double | getComputeTime () const |
Get the time spent in the last compute() call. More... | |
double | getApplyTime () const |
Get the time spent in the last apply() call. More... | |
double | getCopyTime () const |
Get the time spent deep copying local 3-array CRS out of the matrix. More... | |
std::string | description () const |
Return a brief description of the preconditioner, in YAML format. More... | |
void | setMatrix (const Teuchos::RCP< const TRowMatrix > &A) |
Public Member Functions inherited from Ifpack2::Preconditioner< Scalar, LocalOrdinal, GlobalOrdinal, Node > | |
virtual | ~Preconditioner () |
Destructor. More... | |
virtual void | setZeroStartingSolution (bool zeroStartingSolution) |
Set this preconditioner's parameters. More... | |
Public Member Functions inherited from Ifpack2::Details::CanChangeMatrix< Tpetra::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > | |
virtual void | setMatrix (const Teuchos::RCP< const Tpetra::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &A)=0 |
Set the new matrix. More... | |
virtual | ~CanChangeMatrix () |
Destructor. More... | |
Protected Member Functions | |
void | initLocalPrec () |
Construct the underlying preconditioner (localPrec_) using given params and then call localPrec_->initialize() More... | |
void | computeLocalPrec () |
Get values array from the matrix and then call compute() on the underlying preconditioner. More... | |
void | applyLocalPrec (ImplScalarArray x, ImplScalarArray y) const |
Apply the local preconditioner with 1-D views of the local parts of X and Y (one vector only) More... | |
std::string | getName () const |
Get the name of the underlying preconditioner ("Filu", "Fildl" or "Fic") More... | |
Additional Inherited Members | |
Public Types inherited from Ifpack2::Details::FastILU_Base< Scalar, LocalOrdinal, GlobalOrdinal, Node > | |
typedef Node::device_type | device_type |
Kokkos device type. More... | |
typedef device_type::execution_space | execution_space |
Kokkos execution space. More... | |
typedef Tpetra::MultiVector < Scalar, LocalOrdinal, GlobalOrdinal, Node > ::impl_scalar_type | ImplScalar |
Kokkos scalar type. More... | |
typedef Tpetra::RowMatrix < Scalar, LocalOrdinal, GlobalOrdinal, Node > | TRowMatrix |
Tpetra row matrix. More... | |
typedef Tpetra::CrsMatrix < Scalar, LocalOrdinal, GlobalOrdinal, Node > | TCrsMatrix |
Tpetra CRS matrix. More... | |
typedef Tpetra::MultiVector < Scalar, LocalOrdinal, GlobalOrdinal, Node > | TMultiVec |
Tpetra multivector. More... | |
typedef KokkosSparse::CrsMatrix < Scalar, LocalOrdinal, execution_space > | KCrsMatrix |
Kokkos CRS matrix. More... | |
typedef Kokkos::View < LocalOrdinal *, execution_space > | OrdinalArray |
Array of LocalOrdinal on device. More... | |
typedef Kokkos::View < LocalOrdinal *, execution_space > ::HostMirror | OrdinalArrayHost |
Array of LocalOrdinal on host. More... | |
typedef Kokkos::View < ImplScalar *, execution_space > | ImplScalarArray |
Array of Scalar on device. More... | |
Public Types inherited from Ifpack2::Preconditioner< Scalar, LocalOrdinal, GlobalOrdinal, Node > | |
typedef Teuchos::ScalarTraits < Scalar >::magnitudeType | magnitude_type |
The type of the magnitude (absolute value) of a matrix entry. More... | |
The Ifpack2 wrapper to the ILU preconditioner of ShyLU FastILU.
Ifpack2::Details::Filu< Scalar, LocalOrdinal, GlobalOrdinal, Node, BlockCrsEnabled >::Filu | ( | Teuchos::RCP< const TRowMatrix > | mat_ | ) |
Constructor.
|
virtual |
Get the sweeps ("nFact") from localPrec_.
Implements Ifpack2::Details::FastILU_Base< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
|
virtual |
Get the name of triangular solve algorithm.
Implements Ifpack2::Details::FastILU_Base< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
|
virtual |
Get the number of triangular solves ("nTrisol") from localPrec_.
Implements Ifpack2::Details::FastILU_Base< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
|
virtual |
Verify and print debug info about the internal ILU preconditioner.
Reimplemented from Ifpack2::Details::FastILU_Base< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
|
virtual |
Verify and print debug info about the internal IC preconditioner.
Reimplemented from Ifpack2::Details::FastILU_Base< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
|
protectedvirtual |
Construct the underlying preconditioner (localPrec_) using given params and then call localPrec_->initialize()
Implements Ifpack2::Details::FastILU_Base< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
|
protectedvirtual |
Get values array from the matrix and then call compute() on the underlying preconditioner.
Implements Ifpack2::Details::FastILU_Base< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
|
protectedvirtual |
Apply the local preconditioner with 1-D views of the local parts of X and Y (one vector only)
Implements Ifpack2::Details::FastILU_Base< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
|
protectedvirtual |
Get the name of the underlying preconditioner ("Filu", "Fildl" or "Fic")
Implements Ifpack2::Details::FastILU_Base< Scalar, LocalOrdinal, GlobalOrdinal, Node >.