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

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 ()

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

◆ LO

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

Definition at line 108 of file MueLu_AMGXOperator_decl.hpp.

◆ GO

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

Definition at line 109 of file MueLu_AMGXOperator_decl.hpp.

◆ NO

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

Definition at line 110 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 112 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 113 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 139 of file MueLu_AMGXOperator_decl.hpp.

◆ ~AMGXOperator()

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

Destructor.

Definition at line 416 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 115 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

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

Definition at line 20 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

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

Definition at line 25 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 30 of file MueLu_AMGXOperator_def.hpp.

◆ hasTransposeApply()

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

Indicates whether this operator supports applying the adjoint operator.

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

◆ sizeA()

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

Definition at line 451 of file MueLu_AMGXOperator_decl.hpp.

◆ iters()

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

Definition at line 457 of file MueLu_AMGXOperator_decl.hpp.

◆ getStatus()

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

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

◆ Resources_

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

Definition at line 471 of file MueLu_AMGXOperator_decl.hpp.

◆ Config_

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

Definition at line 472 of file MueLu_AMGXOperator_decl.hpp.

◆ A_

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

Definition at line 473 of file MueLu_AMGXOperator_decl.hpp.

◆ X_

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

Definition at line 474 of file MueLu_AMGXOperator_decl.hpp.

◆ Y_

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

Definition at line 475 of file MueLu_AMGXOperator_decl.hpp.

◆ N_

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

Definition at line 476 of file MueLu_AMGXOperator_decl.hpp.

◆ domainMap_

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

Definition at line 478 of file MueLu_AMGXOperator_decl.hpp.

◆ rangeMap_

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

Definition at line 479 of file MueLu_AMGXOperator_decl.hpp.

◆ muelu2amgx_

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

Definition at line 481 of file MueLu_AMGXOperator_decl.hpp.

◆ vectorTimer1_

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

Definition at line 483 of file MueLu_AMGXOperator_decl.hpp.

◆ vectorTimer2_

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

Definition at line 484 of file MueLu_AMGXOperator_decl.hpp.

◆ solverTimer_

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

Definition at line 485 of file MueLu_AMGXOperator_decl.hpp.


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