MueLu Version of the Day
Loading...
Searching...
No Matches
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 > MueLu::BaseClass MueLu::TpetraOperator< double, int, int, Node > MueLu::VerboseObject MueLu::Describable

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
 
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::Time > vectorTimer1_
 
RCP< Teuchos::Time > vectorTimer2_
 
RCP< Teuchos::Time > solverTimer_
 
 AMGXOperator (const Teuchos::RCP< Tpetra::CrsMatrix< SC, LO, GO, NO > > &inA, Teuchos::ParameterList &paramListIn)
 
virtual ~AMGXOperator ()
 Destructor.
 
Teuchos::RCP< const MapgetDomainMap () const
 Returns the Tpetra::Map object associated with the domain of this operator.
 
Teuchos::RCP< const MapgetRangeMap () const
 Returns the Tpetra::Map object associated with the range of this operator.
 
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.
 
bool hasTransposeApply () const
 Indicates whether this operator supports applying the adjoint operator.
 
RCP< MueLu::Hierarchy< SC, LO, GO, NO > > GetHierarchy () const
 
std::string filterValueToString (const Teuchos::ParameterEntry &entry)
 
int sizeA ()
 
int iters ()
 
AMGX_SOLVE_STATUS getStatus ()
 

Constructor/Destructor

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

Additional Inherited Members

RCP< MueLu::Hierarchy< double, int, int, Node > > GetHierarchy () const
 Direct access to the underlying MueLu::Hierarchy.
 
RCP< Xpetra::Operator< double, int, int, Node > > GetOperator () const
 Direct access to the underlying MueLu::Operator.
 
 TpetraOperator (const RCP< Xpetra::Operator< double, int, int, Node > > &Op)
 Constructor.
 
 TpetraOperator (const RCP< MueLu::Hierarchy< double, int, int, Node > > &H)
 Constructor.
 
virtual ~TpetraOperator ()
 Destructor.
 
Teuchos::RCP< const Tpetra::Map< int, int, Node > > getDomainMap () const
 Returns the Tpetra::Map object associated with the domain of this operator.
 
Teuchos::RCP< const Tpetra::Map< int, int, Node > > getRangeMap () const
 Returns the Tpetra::Map object associated with the range of this operator.
 
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.
 
bool hasTransposeApply () const
 Indicates whether this operator supports applying the adjoint operator.
 
virtual ~BaseClass ()
 Destructor.
 
 VerboseObject ()
 
virtual ~VerboseObject ()
 Destructor.
 
VerbLevel GetVerbLevel () const
 Get the verbosity level.
 
void SetVerbLevel (const VerbLevel verbLevel)
 Set the verbosity level of this object.
 
int GetProcRankVerbose () const
 Get proc rank used for printing. Do not use this information for any other purpose.
 
int SetProcRankVerbose (int procRank) const
 Set proc rank used for printing.
 
bool IsPrint (MsgType type, int thisProcRankOnly=-1) const
 Find out whether we need to print out information for a specific message type.
 
Teuchos::FancyOStream & GetOStream (MsgType type, int thisProcRankOnly=0) const
 Get an output stream for outputting the input message type.
 
Teuchos::FancyOStream & GetBlackHole () const
 
- Public Member Functions inherited from MueLu::Describable
virtual ~Describable ()
 Destructor.
 
virtual void describe (Teuchos::FancyOStream &out_arg, const VerbLevel verbLevel=Default) const
 
virtual std::string description () const
 Return a simple one-line description of this object.
 
void describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel=Teuchos::Describable::verbLevel_default) const
 Print the object with some verbosity level to an FancyOStream object.
 
virtual std::string ShortClassName () const
 Return the class name of the object, without template parameters and without namespace.
 
static void SetDefaultVerbLevel (const VerbLevel defaultVerbLevel)
 Set the default (global) verbosity level.
 
static VerbLevel GetDefaultVerbLevel ()
 Get the default (global) verbosity level.
 
static void SetMueLuOStream (const Teuchos::RCP< Teuchos::FancyOStream > &mueluOStream)
 
static void SetMueLuOFileStream (const std::string &filename)
 
static Teuchos::RCP< Teuchos::FancyOStream > GetMueLuOStream ()
 
- Protected Member Functions inherited from MueLu::TpetraOperator< double, int, int, Node >
 TpetraOperator ()=delete
 

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 [1/2]

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

Definition at line 145 of file MueLu_AMGXOperator_decl.hpp.

◆ LO [1/2]

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

Definition at line 146 of file MueLu_AMGXOperator_decl.hpp.

◆ GO [1/2]

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

Definition at line 147 of file MueLu_AMGXOperator_decl.hpp.

◆ NO [1/2]

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

Definition at line 148 of file MueLu_AMGXOperator_decl.hpp.

◆ Map [1/2]

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 [1/2]

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.

◆ SC [2/2]

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

Definition at line 83 of file MueLu_AMGXOperator_decl.hpp.

◆ LO [2/2]

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

Definition at line 84 of file MueLu_AMGXOperator_decl.hpp.

◆ GO [2/2]

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

Definition at line 85 of file MueLu_AMGXOperator_decl.hpp.

◆ NO [2/2]

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

Definition at line 86 of file MueLu_AMGXOperator_decl.hpp.

◆ Map [2/2]

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

Definition at line 88 of file MueLu_AMGXOperator_decl.hpp.

◆ MultiVector [2/2]

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

Definition at line 89 of file MueLu_AMGXOperator_decl.hpp.

Constructor & Destructor Documentation

◆ AMGXOperator() [1/2]

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 178 of file MueLu_AMGXOperator_decl.hpp.

◆ ~AMGXOperator() [1/2]

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

Destructor.

Definition at line 456 of file MueLu_AMGXOperator_decl.hpp.

◆ AMGXOperator() [2/2]

MueLu::AMGXOperator< double, int, int, 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() [2/2]

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

Destructor.

Definition at line 100 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 154 of file MueLu_AMGXOperator_decl.hpp.

◆ getDomainMap() [1/2]

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

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

Definition at line 58 of file MueLu_AMGXOperator_def.hpp.

◆ getRangeMap() [1/2]

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

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

Definition at line 63 of file MueLu_AMGXOperator_def.hpp.

◆ apply() [1/2]

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() [1/2]

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

Indicates whether this operator supports applying the adjoint operator.

Definition at line 139 of file MueLu_AMGXOperator_def.hpp.

◆ GetHierarchy() [1/2]

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

Definition at line 485 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 489 of file MueLu_AMGXOperator_decl.hpp.

◆ sizeA()

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

Definition at line 493 of file MueLu_AMGXOperator_decl.hpp.

◆ iters()

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

Definition at line 499 of file MueLu_AMGXOperator_decl.hpp.

◆ getStatus()

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

Definition at line 505 of file MueLu_AMGXOperator_decl.hpp.

◆ getDomainMap() [2/2]

Teuchos::RCP< const Map > MueLu::AMGXOperator< double, int, int, 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() [2/2]

Teuchos::RCP< const Map > MueLu::AMGXOperator< double, int, int, 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() [2/2]

void MueLu::AMGXOperator< double, int, int, Node >::apply ( const MultiVector & X,
MultiVector & Y,
Teuchos::ETransp mode = Teuchos::NO_TRANS,
double alpha = Teuchos::ScalarTraits<Scalar>::one(),
double 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() [2/2]

bool MueLu::AMGXOperator< double, int, int, Node >::hasTransposeApply ( ) const
inline

Indicates whether this operator supports applying the adjoint operator.

Definition at line 125 of file MueLu_AMGXOperator_decl.hpp.

◆ GetHierarchy() [2/2]

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

Definition at line 129 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 513 of file MueLu_AMGXOperator_decl.hpp.

◆ Resources_

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

Definition at line 514 of file MueLu_AMGXOperator_decl.hpp.

◆ Config_

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

Definition at line 515 of file MueLu_AMGXOperator_decl.hpp.

◆ A_

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

Definition at line 516 of file MueLu_AMGXOperator_decl.hpp.

◆ X_

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

Definition at line 517 of file MueLu_AMGXOperator_decl.hpp.

◆ Y_

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

Definition at line 518 of file MueLu_AMGXOperator_decl.hpp.

◆ N_

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

Definition at line 519 of file MueLu_AMGXOperator_decl.hpp.

◆ domainMap_

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

Definition at line 521 of file MueLu_AMGXOperator_decl.hpp.

◆ rangeMap_

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

Definition at line 522 of file MueLu_AMGXOperator_decl.hpp.

◆ muelu2amgx_

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

Definition at line 524 of file MueLu_AMGXOperator_decl.hpp.

◆ vectorTimer1_

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

Definition at line 526 of file MueLu_AMGXOperator_decl.hpp.

◆ vectorTimer2_

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

Definition at line 527 of file MueLu_AMGXOperator_decl.hpp.

◆ solverTimer_

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

Definition at line 528 of file MueLu_AMGXOperator_decl.hpp.


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