MueLu  Version of the Day
MueLu::AMGXOperator< double, int, int, Node > Class Template Reference

#include <MueLu_AMGXOperator_decl.hpp>

Inheritance diagram for MueLu::AMGXOperator< double, int, int, Node >:
MueLu::TpetraOperator< double, int, int, Node > Tpetra::Classes::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node >

Private Types

typedef double SC
 
typedef int LO
 
typedef int GO
 
typedef Node NO
 
typedef Tpetra::Map< LO, GO, NOMap
 
typedef Tpetra::MultiVector< SC, LO, GO, NOMultiVector
 

Private Member Functions

void printMaps (Teuchos::RCP< const Teuchos::Comm< int > > &comm, const std::vector< std::vector< int > > &vec, const std::vector< int > &perm, const int *nbrs, const Map &map, const std::string &label)
 

Constructor/Destructor

AMGX_solver_handle Solver_
 
AMGX_resources_handle Resources_
 
AMGX_config_handle Config_
 
AMGX_matrix_handle A_
 
AMGX_vector_handle X_
 
AMGX_vector_handle Y_
 
int N_
 
RCP< const MapdomainMap_
 
RCP< const MaprangeMap_
 
std::vector< int > muelu2amgx_
 
RCP< Teuchos::TimevectorTimer1_
 
RCP< Teuchos::TimevectorTimer2_
 
 AMGXOperator (const Teuchos::RCP< Tpetra::CrsMatrix< SC, LO, GO, NO > > &inA, Teuchos::ParameterList &paramListIn)
 
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, SC alpha=Teuchos::ScalarTraits< SC >::one(), SC beta=Teuchos::ScalarTraits< SC >::zero()) const
 Returns in X the solution to the linear system AX=Y. More...
 
bool hasTransposeApply () const
 Indicates whether this operator supports applying the adjoint operator. More...
 
RCP< MueLu::Hierarchy< SC, LO, GO, NO > > GetHierarchy () const
 
std::string filterValueToString (const Teuchos::ParameterEntry &entry)
 
int sizeA ()
 
int iters ()
 
AMGX_SOLVE_STATUS getStatus ()
 

Additional Inherited Members

- Public Types inherited from Tpetra::Classes::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node >
typedef Scalar scalar_type
 
typedef LocalOrdinal local_ordinal_type
 
typedef GlobalOrdinal global_ordinal_type
 
typedef Node node_type
 
typedef Scalar scalar_type
 
typedef LocalOrdinal local_ordinal_type
 
typedef GlobalOrdinal global_ordinal_type
 
typedef Node node_type
 
- Public Member Functions inherited from MueLu::TpetraOperator< double, int, int, Node >
Teuchos::RCP< const Tpetra::Map< int, int, Node > > getDomainMap () const
 Returns the Tpetra::Map object associated with the domain of this operator. More...
 
Teuchos::RCP< const Tpetra::Map< int, int, Node > > getRangeMap () const
 Returns the Tpetra::Map object associated with the range of this operator. More...
 
void apply (const Tpetra::MultiVector< double, int, int, Node > &X, Tpetra::MultiVector< double, int, int, Node > &Y, Teuchos::ETransp mode=Teuchos::NO_TRANS, double alpha=Teuchos::ScalarTraits< double >::one(), double beta=Teuchos::ScalarTraits< double >::one()) const
 Returns in Y the result of a Tpetra::Operator applied to a Tpetra::MultiVector X. More...
 
bool hasTransposeApply () const
 Indicates whether this operator supports applying the adjoint operator. More...
 
Teuchos::RCP< TpetraOperator< double, int, int, NewNode > > clone (const RCP< NewNode > &new_node) const
 
 TpetraOperator (const RCP< MueLu::Hierarchy< double, int, int, Node > > &H)
 Constructor. More...
 
virtual ~TpetraOperator ()
 Destructor. More...
 
RCP< MueLu::Hierarchy< double, int, int, Node > > GetHierarchy () const
 Direct access to the underlying MueLu::Hierarchy. More...
 
- Public Member Functions inherited from Tpetra::Classes::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node >
virtual void apply (const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &X, MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &Y, Teuchos::ETransp mode=Teuchos::NO_TRANS, Scalar alpha=Teuchos::ScalarTraits< Scalar >::one(), Scalar beta=Teuchos::ScalarTraits< Scalar >::zero()) const=0
 
virtual void apply (const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &X, MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &Y, Teuchos::ETransp mode=Teuchos::NO_TRANS, Scalar alpha=Teuchos::ScalarTraits< Scalar >::one(), Scalar beta=Teuchos::ScalarTraits< Scalar >::zero()) const=0
 
- Protected Member Functions inherited from MueLu::TpetraOperator< double, int, int, Node >
 TpetraOperator ()
 

Detailed Description

template<class Node>
class MueLu::AMGXOperator< double, int, int, Node >

Definition at line 143 of file MueLu_AMGXOperator_decl.hpp.

Member Typedef Documentation

◆ SC

template<class Node >
typedef double MueLu::AMGXOperator< double, int, int, Node >::SC
private

Definition at line 145 of file MueLu_AMGXOperator_decl.hpp.

◆ LO

template<class Node >
typedef int MueLu::AMGXOperator< double, int, int, Node >::LO
private

Definition at line 146 of file MueLu_AMGXOperator_decl.hpp.

◆ GO

template<class Node >
typedef int MueLu::AMGXOperator< double, int, int, Node >::GO
private

Definition at line 147 of file MueLu_AMGXOperator_decl.hpp.

◆ NO

template<class Node >
typedef Node MueLu::AMGXOperator< double, int, int, Node >::NO
private

Definition at line 148 of file MueLu_AMGXOperator_decl.hpp.

◆ Map

template<class Node >
typedef Tpetra::Map<LO,GO,NO> MueLu::AMGXOperator< double, int, int, Node >::Map
private

Definition at line 150 of file MueLu_AMGXOperator_decl.hpp.

◆ MultiVector

template<class Node >
typedef Tpetra::MultiVector<SC,LO,GO,NO> MueLu::AMGXOperator< double, int, int, Node >::MultiVector
private

Definition at line 151 of file MueLu_AMGXOperator_decl.hpp.

Constructor & Destructor Documentation

◆ AMGXOperator()

template<class Node >
MueLu::AMGXOperator< double, int, int, Node >::AMGXOperator ( const Teuchos::RCP< Tpetra::CrsMatrix< SC, LO, GO, NO > > &  inA,
Teuchos::ParameterList paramListIn 
)
inline

Definition at line 177 of file MueLu_AMGXOperator_decl.hpp.

◆ ~AMGXOperator()

template<class Node >
virtual MueLu::AMGXOperator< double, int, int, Node >::~AMGXOperator ( )
inlinevirtual

Destructor.

Definition at line 450 of file MueLu_AMGXOperator_decl.hpp.

Member Function Documentation

◆ printMaps()

template<class Node >
void MueLu::AMGXOperator< double, int, int, Node >::printMaps ( Teuchos::RCP< const Teuchos::Comm< int > > &  comm,
const std::vector< std::vector< int > > &  vec,
const std::vector< int > &  perm,
const int *  nbrs,
const Map map,
const std::string &  label 
)
inlineprivate

Definition at line 153 of file MueLu_AMGXOperator_decl.hpp.

◆ getDomainMap()

template<class Node >
Teuchos::RCP< const Tpetra::Map< int, int, Node > > MueLu::AMGXOperator< double, int, int, Node >::getDomainMap ( ) const
virtual

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

Implements Tpetra::Classes::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node >.

Definition at line 58 of file MueLu_AMGXOperator_def.hpp.

◆ getRangeMap()

template<class Node >
Teuchos::RCP< const Tpetra::Map< int, int, Node > > MueLu::AMGXOperator< double, int, int, Node >::getRangeMap ( ) const
virtual

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

Implements Tpetra::Classes::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node >.

Definition at line 63 of file MueLu_AMGXOperator_def.hpp.

◆ apply()

template<class Node >
void MueLu::AMGXOperator< double, int, int, Node >::apply ( const MultiVector X,
MultiVector Y,
Teuchos::ETransp  mode = Teuchos::NO_TRANS,
SC  alpha = Teuchos::ScalarTraits<SC>::one(),
SC  beta = Teuchos::ScalarTraits<SC>::zero() 
) const

Returns in X the solution to the linear system AX=Y.

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

Definition at line 68 of file MueLu_AMGXOperator_def.hpp.

◆ hasTransposeApply()

template<class Node >
bool MueLu::AMGXOperator< double, int, int, Node >::hasTransposeApply ( ) const
virtual

Indicates whether this operator supports applying the adjoint operator.

Reimplemented from Tpetra::Classes::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node >.

Definition at line 134 of file MueLu_AMGXOperator_def.hpp.

◆ GetHierarchy()

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

Definition at line 469 of file MueLu_AMGXOperator_decl.hpp.

◆ filterValueToString()

template<class Node >
std::string MueLu::AMGXOperator< double, int, int, Node >::filterValueToString ( const Teuchos::ParameterEntry entry)
inline

Definition at line 473 of file MueLu_AMGXOperator_decl.hpp.

◆ sizeA()

template<class Node >
int MueLu::AMGXOperator< double, int, int, Node >::sizeA ( )
inline

Definition at line 477 of file MueLu_AMGXOperator_decl.hpp.

◆ iters()

template<class Node >
int MueLu::AMGXOperator< double, int, int, Node >::iters ( )
inline

Definition at line 483 of file MueLu_AMGXOperator_decl.hpp.

◆ getStatus()

template<class Node >
AMGX_SOLVE_STATUS MueLu::AMGXOperator< double, int, int, Node >::getStatus ( )
inline

Definition at line 489 of file MueLu_AMGXOperator_decl.hpp.

Member Data Documentation

◆ Solver_

template<class Node >
AMGX_solver_handle MueLu::AMGXOperator< double, int, int, Node >::Solver_
private

Definition at line 497 of file MueLu_AMGXOperator_decl.hpp.

◆ Resources_

template<class Node >
AMGX_resources_handle MueLu::AMGXOperator< double, int, int, Node >::Resources_
private

Definition at line 498 of file MueLu_AMGXOperator_decl.hpp.

◆ Config_

template<class Node >
AMGX_config_handle MueLu::AMGXOperator< double, int, int, Node >::Config_
private

Definition at line 499 of file MueLu_AMGXOperator_decl.hpp.

◆ A_

template<class Node >
AMGX_matrix_handle MueLu::AMGXOperator< double, int, int, Node >::A_
private

Definition at line 500 of file MueLu_AMGXOperator_decl.hpp.

◆ X_

template<class Node >
AMGX_vector_handle MueLu::AMGXOperator< double, int, int, Node >::X_
private

Definition at line 501 of file MueLu_AMGXOperator_decl.hpp.

◆ Y_

template<class Node >
AMGX_vector_handle MueLu::AMGXOperator< double, int, int, Node >::Y_
private

Definition at line 502 of file MueLu_AMGXOperator_decl.hpp.

◆ N_

template<class Node >
int MueLu::AMGXOperator< double, int, int, Node >::N_
private

Definition at line 503 of file MueLu_AMGXOperator_decl.hpp.

◆ domainMap_

template<class Node >
RCP<const Map> MueLu::AMGXOperator< double, int, int, Node >::domainMap_
private

Definition at line 505 of file MueLu_AMGXOperator_decl.hpp.

◆ rangeMap_

template<class Node >
RCP<const Map> MueLu::AMGXOperator< double, int, int, Node >::rangeMap_
private

Definition at line 506 of file MueLu_AMGXOperator_decl.hpp.

◆ muelu2amgx_

template<class Node >
std::vector<int> MueLu::AMGXOperator< double, int, int, Node >::muelu2amgx_
private

Definition at line 508 of file MueLu_AMGXOperator_decl.hpp.

◆ vectorTimer1_

template<class Node >
RCP<Teuchos::Time> MueLu::AMGXOperator< double, int, int, Node >::vectorTimer1_
private

Definition at line 510 of file MueLu_AMGXOperator_decl.hpp.

◆ vectorTimer2_

template<class Node >
RCP<Teuchos::Time> MueLu::AMGXOperator< double, int, int, Node >::vectorTimer2_
private

Definition at line 511 of file MueLu_AMGXOperator_decl.hpp.


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