Ifpack2 Templated Preconditioning Package  Version 1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | Protected Member Functions | List of all members
Ifpack2::Details::Fic< Scalar, LocalOrdinal, GlobalOrdinal, Node > Class Template Reference

The Ifpack2 wrapper to the incomplete Chebyshev preconditioner of ShyLU FastILU. More...

#include <Ifpack2_Details_Fic_decl.hpp>

Inheritance diagram for Ifpack2::Details::Fic< Scalar, LocalOrdinal, GlobalOrdinal, Node >:
Inheritance graph
[legend]

Public Member Functions

 Fic (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 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 TRowMatrixgetMatrix () 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...
 
virtual void checkLocalILU () const
 Verify and print debug information about the underlying ILU preconditioner (only supported if this is an Ifpack2::Details::Filu) 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...
 

Detailed Description

template<typename Scalar, typename LocalOrdinal, typename GlobalOrdinal, typename Node>
class Ifpack2::Details::Fic< Scalar, LocalOrdinal, GlobalOrdinal, Node >

The Ifpack2 wrapper to the incomplete Chebyshev preconditioner of ShyLU FastILU.

Constructor & Destructor Documentation

template<typename Scalar , typename LocalOrdinal , typename GlobalOrdinal , typename Node >
Ifpack2::Details::Fic< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Fic ( Teuchos::RCP< const TRowMatrix mat_)

Constructor.

Member Function Documentation

template<typename Scalar , typename LocalOrdinal , typename GlobalOrdinal , typename Node >
int Ifpack2::Details::Fic< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getSweeps ( ) const
virtual

Get the sweeps ("nFact") from localPrec_.

Implements Ifpack2::Details::FastILU_Base< Scalar, LocalOrdinal, GlobalOrdinal, Node >.

template<typename Scalar , typename LocalOrdinal , typename GlobalOrdinal , typename Node >
std::string Ifpack2::Details::Fic< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getSpTrsvType ( ) const
virtual

Get the name of triangular solve algorithm.

Implements Ifpack2::Details::FastILU_Base< Scalar, LocalOrdinal, GlobalOrdinal, Node >.

template<typename Scalar , typename LocalOrdinal , typename GlobalOrdinal , typename Node >
int Ifpack2::Details::Fic< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getNTrisol ( ) const
virtual

Get the number of triangular solves ("nTrisol") from localPrec_.

Implements Ifpack2::Details::FastILU_Base< Scalar, LocalOrdinal, GlobalOrdinal, Node >.

template<typename Scalar , typename LocalOrdinal , typename GlobalOrdinal , typename Node >
void Ifpack2::Details::Fic< Scalar, LocalOrdinal, GlobalOrdinal, Node >::checkLocalIC ( ) const
virtual

Verify and print debug info about the internal IC preconditioner.

Reimplemented from Ifpack2::Details::FastILU_Base< Scalar, LocalOrdinal, GlobalOrdinal, Node >.

template<typename Scalar , typename LocalOrdinal , typename GlobalOrdinal , typename Node >
void Ifpack2::Details::Fic< Scalar, LocalOrdinal, GlobalOrdinal, Node >::initLocalPrec ( )
protectedvirtual

Construct the underlying preconditioner (localPrec_) using given params and then call localPrec_->initialize()

Implements Ifpack2::Details::FastILU_Base< Scalar, LocalOrdinal, GlobalOrdinal, Node >.

template<typename Scalar , typename LocalOrdinal , typename GlobalOrdinal , typename Node >
void Ifpack2::Details::Fic< Scalar, LocalOrdinal, GlobalOrdinal, Node >::computeLocalPrec ( )
protectedvirtual

Get values array from the matrix and then call compute() on the underlying preconditioner.

Implements Ifpack2::Details::FastILU_Base< Scalar, LocalOrdinal, GlobalOrdinal, Node >.

template<typename Scalar , typename LocalOrdinal , typename GlobalOrdinal , typename Node >
void Ifpack2::Details::Fic< Scalar, LocalOrdinal, GlobalOrdinal, Node >::applyLocalPrec ( ImplScalarArray  x,
ImplScalarArray  y 
) const
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 >.

template<typename Scalar , typename LocalOrdinal , typename GlobalOrdinal , typename Node >
std::string Ifpack2::Details::Fic< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getName ( ) const
protectedvirtual

Get the name of the underlying preconditioner ("Filu", "Fildl" or "Fic")

Implements Ifpack2::Details::FastILU_Base< Scalar, LocalOrdinal, GlobalOrdinal, Node >.


The documentation for this class was generated from the following files: