MueLu  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MueLu::ShiftedLaplacianOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node > Class Template Reference

Wraps an existing MueLu::Hierarchy as a Tpetra::Operator, with an optional two-level correction. Intended to be used with MueLu::ShiftedLaplacian. More...

#include <MueLu_ShiftedLaplacianOperator_decl.hpp>

Inheritance diagram for MueLu::ShiftedLaplacianOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >:
Tpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node >

Public Member Functions

Teuchos::RCP< const
Tpetra::Map< LocalOrdinal,
GlobalOrdinal, Node > > 
getDomainMap () const
 Returns the Tpetra::Map object associated with the domain of this operator. More...
 
Teuchos::RCP< const
Tpetra::Map< LocalOrdinal,
GlobalOrdinal, Node > > 
getRangeMap () const
 Returns the Tpetra::Map object associated with the range of this operator. More...
 
void apply (const Tpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &X, Tpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &Y, Teuchos::ETransp mode=Teuchos::NO_TRANS, Scalar alpha=Teuchos::ScalarTraits< Scalar >::one(), Scalar beta=Teuchos::ScalarTraits< Scalar >::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...
 

Private Types

typedef Xpetra::Matrix< Scalar,
LocalOrdinal, GlobalOrdinal,
Node
Matrix
 
typedef Tpetra::CrsMatrix
< Scalar, LocalOrdinal,
GlobalOrdinal, Node
CrsMatrix
 
typedef Tpetra::MultiVector
< Scalar, LocalOrdinal,
GlobalOrdinal, Node
MV
 
typedef Tpetra::Operator
< Scalar, LocalOrdinal,
GlobalOrdinal, Node
OP
 
typedef MueLu::Utilities
< Scalar, LocalOrdinal,
GlobalOrdinal, Node
MUtils
 

Private Attributes

RCP< MueLu::Hierarchy< Scalar,
LocalOrdinal, GlobalOrdinal,
Node > > 
Hierarchy_
 
RCP< Xpetra::Matrix< Scalar,
LocalOrdinal, GlobalOrdinal,
Node > > 
R_
 
RCP< Xpetra::Matrix< Scalar,
LocalOrdinal, GlobalOrdinal,
Node > > 
P_
 
RCP< Xpetra::Matrix< Scalar,
LocalOrdinal, GlobalOrdinal,
Node > > 
A_
 
RCP< Tpetra::CrsMatrix< Scalar,
LocalOrdinal, GlobalOrdinal,
Node > > 
Ac_
 
RCP< Teuchos::ParameterListBelosList_
 
int cycles_
 
int iters_
 
int option_
 
double tol_
 

Constructor/Destructor

 ShiftedLaplacianOperator (const RCP< MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &H)
 Constructor. More...
 
 ShiftedLaplacianOperator (const RCP< MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &H, const RCP< Matrix > A, int cycles, int iters, int option, double tol)
 Auxiliary Constructor. More...
 
virtual ~ShiftedLaplacianOperator ()
 Destructor. More...
 

Detailed Description

template<class Scalar = Tpetra::Operator<>::scalar_type, class LocalOrdinal = typename Tpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Tpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Tpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
class MueLu::ShiftedLaplacianOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >

Wraps an existing MueLu::Hierarchy as a Tpetra::Operator, with an optional two-level correction. Intended to be used with MueLu::ShiftedLaplacian.

Definition at line 32 of file MueLu_ShiftedLaplacianOperator_decl.hpp.

Member Typedef Documentation

template<class Scalar = Tpetra::Operator<>::scalar_type, class LocalOrdinal = typename Tpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Tpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Tpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
typedef Xpetra::Matrix<Scalar, LocalOrdinal, GlobalOrdinal, Node> MueLu::ShiftedLaplacianOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Matrix
private

Definition at line 34 of file MueLu_ShiftedLaplacianOperator_decl.hpp.

template<class Scalar = Tpetra::Operator<>::scalar_type, class LocalOrdinal = typename Tpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Tpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Tpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
typedef Tpetra::CrsMatrix<Scalar, LocalOrdinal, GlobalOrdinal, Node> MueLu::ShiftedLaplacianOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >::CrsMatrix
private

Definition at line 35 of file MueLu_ShiftedLaplacianOperator_decl.hpp.

template<class Scalar = Tpetra::Operator<>::scalar_type, class LocalOrdinal = typename Tpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Tpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Tpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
typedef Tpetra::MultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node> MueLu::ShiftedLaplacianOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >::MV
private

Definition at line 36 of file MueLu_ShiftedLaplacianOperator_decl.hpp.

template<class Scalar = Tpetra::Operator<>::scalar_type, class LocalOrdinal = typename Tpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Tpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Tpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
typedef Tpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal, Node> MueLu::ShiftedLaplacianOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >::OP
private

Definition at line 37 of file MueLu_ShiftedLaplacianOperator_decl.hpp.

template<class Scalar = Tpetra::Operator<>::scalar_type, class LocalOrdinal = typename Tpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Tpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Tpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
typedef MueLu::Utilities<Scalar, LocalOrdinal, GlobalOrdinal, Node> MueLu::ShiftedLaplacianOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >::MUtils
private

Definition at line 38 of file MueLu_ShiftedLaplacianOperator_decl.hpp.

Constructor & Destructor Documentation

template<class Scalar = Tpetra::Operator<>::scalar_type, class LocalOrdinal = typename Tpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Tpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Tpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
MueLu::ShiftedLaplacianOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >::ShiftedLaplacianOperator ( const RCP< MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &  H)
inline

Constructor.

Definition at line 45 of file MueLu_ShiftedLaplacianOperator_decl.hpp.

template<class Scalar = Tpetra::Operator<>::scalar_type, class LocalOrdinal = typename Tpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Tpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Tpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
MueLu::ShiftedLaplacianOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >::ShiftedLaplacianOperator ( const RCP< MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &  H,
const RCP< Matrix A,
int  cycles,
int  iters,
int  option,
double  tol 
)
inline

Auxiliary Constructor.

Definition at line 50 of file MueLu_ShiftedLaplacianOperator_decl.hpp.

template<class Scalar = Tpetra::Operator<>::scalar_type, class LocalOrdinal = typename Tpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Tpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Tpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
virtual MueLu::ShiftedLaplacianOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >::~ShiftedLaplacianOperator ( )
inlinevirtual

Destructor.

Definition at line 83 of file MueLu_ShiftedLaplacianOperator_decl.hpp.

Member Function Documentation

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
Teuchos::RCP< const Tpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > MueLu::ShiftedLaplacianOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getDomainMap ( ) const
virtual

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

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

Definition at line 32 of file MueLu_ShiftedLaplacianOperator_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
Teuchos::RCP< const Tpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > MueLu::ShiftedLaplacianOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getRangeMap ( ) const
virtual

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

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

Definition at line 54 of file MueLu_ShiftedLaplacianOperator_def.hpp.

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

Returns in Y the result of a Tpetra::Operator applied to a Tpetra::MultiVector X.

Parameters
[in]X- Tpetra::MultiVector of dimension NumVectors to multiply with matrix.
[out]Y-Tpetra::MultiVector of dimension NumVectors containing result.

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

Definition at line 73 of file MueLu_ShiftedLaplacianOperator_def.hpp.

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

Indicates whether this operator supports applying the adjoint operator.

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

Definition at line 126 of file MueLu_ShiftedLaplacianOperator_def.hpp.

Member Data Documentation

template<class Scalar = Tpetra::Operator<>::scalar_type, class LocalOrdinal = typename Tpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Tpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Tpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
RCP<MueLu::Hierarchy<Scalar, LocalOrdinal, GlobalOrdinal, Node> > MueLu::ShiftedLaplacianOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Hierarchy_
private

Definition at line 109 of file MueLu_ShiftedLaplacianOperator_decl.hpp.

template<class Scalar = Tpetra::Operator<>::scalar_type, class LocalOrdinal = typename Tpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Tpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Tpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
RCP<Xpetra::Matrix<Scalar, LocalOrdinal, GlobalOrdinal, Node> > MueLu::ShiftedLaplacianOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >::R_
private

Definition at line 110 of file MueLu_ShiftedLaplacianOperator_decl.hpp.

template<class Scalar = Tpetra::Operator<>::scalar_type, class LocalOrdinal = typename Tpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Tpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Tpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
RCP<Xpetra::Matrix<Scalar, LocalOrdinal, GlobalOrdinal, Node> > MueLu::ShiftedLaplacianOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >::P_
private

Definition at line 110 of file MueLu_ShiftedLaplacianOperator_decl.hpp.

template<class Scalar = Tpetra::Operator<>::scalar_type, class LocalOrdinal = typename Tpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Tpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Tpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
RCP<Xpetra::Matrix<Scalar, LocalOrdinal, GlobalOrdinal, Node> > MueLu::ShiftedLaplacianOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >::A_
private

Definition at line 110 of file MueLu_ShiftedLaplacianOperator_decl.hpp.

template<class Scalar = Tpetra::Operator<>::scalar_type, class LocalOrdinal = typename Tpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Tpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Tpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
RCP<Tpetra::CrsMatrix<Scalar, LocalOrdinal, GlobalOrdinal, Node> > MueLu::ShiftedLaplacianOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Ac_
private

Definition at line 111 of file MueLu_ShiftedLaplacianOperator_decl.hpp.

template<class Scalar = Tpetra::Operator<>::scalar_type, class LocalOrdinal = typename Tpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Tpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Tpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
RCP<Teuchos::ParameterList> MueLu::ShiftedLaplacianOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >::BelosList_
private

Definition at line 112 of file MueLu_ShiftedLaplacianOperator_decl.hpp.

template<class Scalar = Tpetra::Operator<>::scalar_type, class LocalOrdinal = typename Tpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Tpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Tpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
int MueLu::ShiftedLaplacianOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >::cycles_
private

Definition at line 120 of file MueLu_ShiftedLaplacianOperator_decl.hpp.

template<class Scalar = Tpetra::Operator<>::scalar_type, class LocalOrdinal = typename Tpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Tpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Tpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
int MueLu::ShiftedLaplacianOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >::iters_
private

Definition at line 120 of file MueLu_ShiftedLaplacianOperator_decl.hpp.

template<class Scalar = Tpetra::Operator<>::scalar_type, class LocalOrdinal = typename Tpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Tpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Tpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
int MueLu::ShiftedLaplacianOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >::option_
private

Definition at line 120 of file MueLu_ShiftedLaplacianOperator_decl.hpp.

template<class Scalar = Tpetra::Operator<>::scalar_type, class LocalOrdinal = typename Tpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Tpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Tpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
double MueLu::ShiftedLaplacianOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >::tol_
private

Definition at line 121 of file MueLu_ShiftedLaplacianOperator_decl.hpp.


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