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

Wraps an existing MueLu::Hierarchy as a Xpetra::Operator. More...

#include <MueLu_XpetraOperator_decl.hpp>

Inheritance diagram for MueLu::XpetraOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >:
Xpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node > Teuchos::Describable Teuchos::LabeledObject

Public Member Functions

const Teuchos::RCP< const
Xpetra::Map< LocalOrdinal,
GlobalOrdinal, Node > > 
getDomainMap () const
 Returns the Tpetra::Map object associated with the domain of this operator. More...
 
const Teuchos::RCP< const
Xpetra::Map< LocalOrdinal,
GlobalOrdinal, Node > > 
getRangeMap () const
 Returns the Tpetra::Map object associated with the range of this operator. More...
 
void apply (const Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &X, Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &Y, Teuchos::ETransp mode=Teuchos::NO_TRANS, Scalar=Teuchos::ScalarTraits< Scalar >::one(), Scalar=Teuchos::ScalarTraits< Scalar >::one()) const
 Returns in Y the result of a Xpetra::Operator applied to a Xpetra::MultiVector X. More...
 
bool hasTransposeApply () const
 Indicates whether this operator supports applying the adjoint operator. More...
 
void residual (const Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &X, const Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &B, Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &R) const
 Compute a residual R = B - (*this) * X. More...
 
- Public Member Functions inherited from Xpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node >
virtual void removeEmptyProcessesInPlace (const RCP< const Map > &)
 
virtual 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 =0
 
- Public Member Functions inherited from Teuchos::Describable
virtual std::string description () const
 
virtual void describe (FancyOStream &out, const EVerbosityLevel verbLevel=verbLevel_default) const
 
void describe (std::ostream &out, const EVerbosityLevel verbLevel=verbLevel_default) const
 
virtual ~Describable ()
 
 LabeledObject ()
 
virtual ~LabeledObject ()
 
virtual void setObjectLabel (const std::string &objectLabel)
 
virtual std::string getObjectLabel () const
 
DescribableStreamManipulatorState describe (const Describable &describable, const EVerbosityLevel verbLevel=Describable::verbLevel_default)
 
std::ostream & operator<< (std::ostream &os, const DescribableStreamManipulatorState &d)
 

Protected Member Functions

 XpetraOperator ()
 

Private Attributes

RCP< MueLu::Hierarchy< Scalar,
LocalOrdinal, GlobalOrdinal,
Node > > 
Hierarchy_
 

Constructor/Destructor

 XpetraOperator (const RCP< MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &H)
 Constructor. More...
 
virtual ~XpetraOperator ()
 Destructor. More...
 

MueLu specific

RCP< MueLu::Hierarchy< Scalar,
LocalOrdinal, GlobalOrdinal,
Node > > 
GetHierarchy () const
 Direct access to the underlying MueLu::Hierarchy. More...
 

Additional Inherited Members

- Static Public Attributes inherited from Teuchos::Describable
static const EVerbosityLevel verbLevel_default
 

Detailed Description

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
class MueLu::XpetraOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >

Wraps an existing MueLu::Hierarchy as a Xpetra::Operator.

Definition at line 28 of file MueLu_XpetraOperator_decl.hpp.

Constructor & Destructor Documentation

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
MueLu::XpetraOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >::XpetraOperator ( )
inlineprotected

Definition at line 30 of file MueLu_XpetraOperator_decl.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
MueLu::XpetraOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >::XpetraOperator ( const RCP< MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &  H)

Constructor.

Definition at line 19 of file MueLu_XpetraOperator_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
MueLu::XpetraOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >::~XpetraOperator ( )
virtualdefault

Destructor.

Member Function Documentation

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

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

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

Definition at line 29 of file MueLu_XpetraOperator_def.hpp.

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

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

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

Definition at line 39 of file MueLu_XpetraOperator_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::XpetraOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >::apply ( const Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  X,
Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  Y,
Teuchos::ETransp  mode = Teuchos::NO_TRANS,
Scalar  = Teuchos::ScalarTraits<Scalar>::one(),
Scalar  = Teuchos::ScalarTraits<Scalar>::one() 
) const

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

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

Definition at line 48 of file MueLu_XpetraOperator_def.hpp.

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

Indicates whether this operator supports applying the adjoint operator.

Definition at line 79 of file MueLu_XpetraOperator_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::XpetraOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >::residual ( const Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  X,
const Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  B,
Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  R 
) const

Compute a residual R = B - (*this) * X.

Definition at line 85 of file MueLu_XpetraOperator_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
RCP< MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node > > MueLu::XpetraOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >::GetHierarchy ( ) const

Direct access to the underlying MueLu::Hierarchy.

Definition at line 95 of file MueLu_XpetraOperator_def.hpp.

Member Data Documentation

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
RCP<MueLu::Hierarchy<Scalar, LocalOrdinal, GlobalOrdinal, Node> > MueLu::XpetraOperator< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Hierarchy_
private

Definition at line 78 of file MueLu_XpetraOperator_decl.hpp.


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