MueLu  Version of the Day
MueLu::AMGXOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node > Class Template Reference

Adapter for AmgX library from Nvidia. More...

#include <MueLu_AMGXOperator_decl.hpp>

Private Types

typedef Scalar SC
 
typedef LocalOrdinal LO
 
typedef GlobalOrdinal GO
 
typedef Node NO
 
typedef Tpetra::Map< LO, GO, NOMap
 
typedef Tpetra::MultiVector< SC, LO, GO, NOMultiVector
 

Constructor/Destructor

 AMGXOperator (const Teuchos::RCP< Tpetra::CrsMatrix< SC, LO, GO, NO > > &InA, Teuchos::ParameterList &paramListIn)
 Constructor. More...
 
virtual ~AMGXOperator ()
 Destructor. More...
 
Teuchos::RCP< const MapgetDomainMap () const
 Returns the Tpetra::Map object associated with the domain of this operator. More...
 
Teuchos::RCP< const MapgetRangeMap () const
 Returns the Tpetra::Map object associated with the range of this operator. More...
 
void apply (const MultiVector &X, MultiVector &Y, Teuchos::ETransp mode=Teuchos::NO_TRANS, Scalar alpha=Teuchos::ScalarTraits< Scalar >::one(), Scalar beta=Teuchos::ScalarTraits< Scalar >::zero()) const
 Returns a solution for the linear system AX=Y in the Tpetra::MultiVector X. More...
 
bool hasTransposeApply () const
 Indicates whether this operator supports applying the adjoint operator. More...
 
RCP< MueLu::Hierarchy< SC, LO, GO, NO > > GetHierarchy () const
 

Detailed Description

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node>
class MueLu::AMGXOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >

Adapter for AmgX library from Nvidia.

This templated version of the class throws errors in all methods as AmgX is not implemented for datatypes where scalar!=double/float and ordinal !=int

Creates an AmgX Solver object with a Tpetra Matrix. Partial specialization of the template for data types supported by AmgX.

Definition at line 81 of file MueLu_AMGXOperator_decl.hpp.

Member Typedef Documentation

◆ SC

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
typedef Scalar MueLu::AMGXOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >::SC
private

Definition at line 83 of file MueLu_AMGXOperator_decl.hpp.

◆ LO

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
typedef LocalOrdinal MueLu::AMGXOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >::LO
private

Definition at line 84 of file MueLu_AMGXOperator_decl.hpp.

◆ GO

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
typedef GlobalOrdinal MueLu::AMGXOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >::GO
private

Definition at line 85 of file MueLu_AMGXOperator_decl.hpp.

◆ NO

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
typedef Node MueLu::AMGXOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >::NO
private

Definition at line 86 of file MueLu_AMGXOperator_decl.hpp.

◆ Map

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
typedef Tpetra::Map<LO,GO,NO> MueLu::AMGXOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Map
private

Definition at line 88 of file MueLu_AMGXOperator_decl.hpp.

◆ MultiVector

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
typedef Tpetra::MultiVector<SC,LO,GO,NO> MueLu::AMGXOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >::MultiVector
private

Definition at line 89 of file MueLu_AMGXOperator_decl.hpp.

Constructor & Destructor Documentation

◆ AMGXOperator()

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
MueLu::AMGXOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >::AMGXOperator ( const Teuchos::RCP< Tpetra::CrsMatrix< SC, LO, GO, NO > > &  InA,
Teuchos::ParameterList &  paramListIn 
)
inline

Constructor.

Definition at line 97 of file MueLu_AMGXOperator_decl.hpp.

◆ ~AMGXOperator()

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
virtual MueLu::AMGXOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >::~AMGXOperator ( )
inlinevirtual

Destructor.

Definition at line 100 of file MueLu_AMGXOperator_decl.hpp.

Member Function Documentation

◆ getDomainMap()

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
Teuchos::RCP<const Map> MueLu::AMGXOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getDomainMap ( ) const
inline

Returns the Tpetra::Map object associated with the domain of this operator.

Definition at line 105 of file MueLu_AMGXOperator_decl.hpp.

◆ getRangeMap()

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
Teuchos::RCP<const Map> MueLu::AMGXOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getRangeMap ( ) const
inline

Returns the Tpetra::Map object associated with the range of this operator.

Definition at line 110 of file MueLu_AMGXOperator_decl.hpp.

◆ apply()

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::AMGXOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >::apply ( const MultiVector X,
MultiVector Y,
Teuchos::ETransp  mode = Teuchos::NO_TRANS,
Scalar  alpha = Teuchos::ScalarTraits<Scalar>::one(),
Scalar  beta = Teuchos::ScalarTraits<Scalar>::zero() 
) const
inline

Returns a solution for the linear system AX=Y in the Tpetra::MultiVector X.

Parameters
[in]X- Tpetra::MultiVector of dimension NumVectors that contains the solution to the linear system.
[out]Y-Tpetra::MultiVector of dimension NumVectors containing the RHS of the linear system.

Definition at line 119 of file MueLu_AMGXOperator_decl.hpp.

◆ hasTransposeApply()

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
bool MueLu::AMGXOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >::hasTransposeApply ( ) const
inline

Indicates whether this operator supports applying the adjoint operator.

Definition at line 125 of file MueLu_AMGXOperator_decl.hpp.

◆ GetHierarchy()

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
RCP<MueLu::Hierarchy<SC,LO,GO,NO> > MueLu::AMGXOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >::GetHierarchy ( ) const
inline

Definition at line 129 of file MueLu_AMGXOperator_decl.hpp.


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