Private Types | Private Attributes | List of all members
Xpetra::EpetraOperator< EpetraGlobalOrdinal > Class Template Reference

#include <Xpetra_EpetraOperator.hpp>

Inheritance diagram for Xpetra::EpetraOperator< EpetraGlobalOrdinal >:
Xpetra::Operator< double, int, EpetraGlobalOrdinal >

Private Types

typedef double Scalar
 
typedef int LocalOrdinal
 
typedef EpetraGlobalOrdinal GlobalOrdinal
 
typedef Operator< double, int, GlobalOrdinal >::node_type Node
 

Private Attributes

RCP< Epetra_Operator > op_
 The Tpetra::Operator which this class wraps. More...
 
virtual Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > getDomainMap () const
 The Map associated with the domain of this operator, which must be compatible with X.getMap(). More...
 
virtual Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > getRangeMap () const
 The Map associated with the range of this operator, which must be compatible with Y.getMap(). More...
 
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
 Computes the operator-multivector application. More...
 
virtual bool hasTransposeApply () const
 Whether this operator supports applying the transpose or conjugate transpose. More...
 

Overridden from Teuchos::Describable

std::string description () const
 A simple one-line description of this object. More...
 
void describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel=Teuchos::Describable::verbLevel_default) const
 Print the object with the given verbosity level to a FancyOStream. More...
 

Xpetra specific

 EpetraOperator (const Teuchos::RCP< Tpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &op)
 TpetraOperator constructor to wrap a Tpetra::Operator object. More...
 

Additional Inherited Members

- Public Types inherited from Xpetra::Operator< double, int, EpetraGlobalOrdinal >
typedef double scalar_type
 The type of the entries of the input and output multivectors. More...
 
typedef int local_ordinal_type
 The local index type. More...
 
typedef EpetraGlobalOrdinal global_ordinal_type
 The global index type. More...
 
typedef typename MultiVector< double, int, EpetraGlobalOrdinal >::node_type node_type
 The Kokkos Node type. More...
 
- Public Member Functions inherited from Xpetra::Operator< double, int, EpetraGlobalOrdinal >
virtual ~Operator ()
 
virtual void removeEmptyProcessesInPlace (const RCP< const Map > &newMap)
 
virtual 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=0
 Computes the operator-multivector application. More...
 

Detailed Description

template<class EpetraGlobalOrdinal>
class Xpetra::EpetraOperator< EpetraGlobalOrdinal >

Definition at line 64 of file Xpetra_EpetraOperator.hpp.

Member Typedef Documentation

◆ Scalar

template<class EpetraGlobalOrdinal >
typedef double Xpetra::EpetraOperator< EpetraGlobalOrdinal >::Scalar
private

Definition at line 66 of file Xpetra_EpetraOperator.hpp.

◆ LocalOrdinal

template<class EpetraGlobalOrdinal >
typedef int Xpetra::EpetraOperator< EpetraGlobalOrdinal >::LocalOrdinal
private

Definition at line 67 of file Xpetra_EpetraOperator.hpp.

◆ GlobalOrdinal

template<class EpetraGlobalOrdinal >
typedef EpetraGlobalOrdinal Xpetra::EpetraOperator< EpetraGlobalOrdinal >::GlobalOrdinal
private

Definition at line 68 of file Xpetra_EpetraOperator.hpp.

◆ Node

template<class EpetraGlobalOrdinal >
typedef Operator<double, int, GlobalOrdinal>::node_type Xpetra::EpetraOperator< EpetraGlobalOrdinal >::Node
private

Definition at line 69 of file Xpetra_EpetraOperator.hpp.

Constructor & Destructor Documentation

◆ EpetraOperator()

template<class EpetraGlobalOrdinal >
Xpetra::EpetraOperator< EpetraGlobalOrdinal >::EpetraOperator ( const Teuchos::RCP< Tpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &  op)
inline

TpetraOperator constructor to wrap a Tpetra::Operator object.

Definition at line 154 of file Xpetra_EpetraOperator.hpp.

Member Function Documentation

◆ getDomainMap()

template<class EpetraGlobalOrdinal >
virtual Teuchos::RCP<const Map<LocalOrdinal,GlobalOrdinal,Node> > Xpetra::EpetraOperator< EpetraGlobalOrdinal >::getDomainMap ( ) const
inlinevirtual

The Map associated with the domain of this operator, which must be compatible with X.getMap().

Implements Xpetra::Operator< double, int, EpetraGlobalOrdinal >.

Definition at line 75 of file Xpetra_EpetraOperator.hpp.

◆ getRangeMap()

template<class EpetraGlobalOrdinal >
virtual Teuchos::RCP<const Map<LocalOrdinal,GlobalOrdinal,Node> > Xpetra::EpetraOperator< EpetraGlobalOrdinal >::getRangeMap ( ) const
inlinevirtual

The Map associated with the range of this operator, which must be compatible with Y.getMap().

Implements Xpetra::Operator< double, int, EpetraGlobalOrdinal >.

Definition at line 81 of file Xpetra_EpetraOperator.hpp.

◆ apply()

template<class EpetraGlobalOrdinal >
virtual void Xpetra::EpetraOperator< EpetraGlobalOrdinal >::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
inlinevirtual

Computes the operator-multivector application.

Loosely, performs $Y = \alpha \cdot A^{\textrm{mode}} \cdot X + \beta \cdot Y$. However, the details of operation vary according to the values of alpha and beta. Specifically

  • if beta == 0, apply() must overwrite Y, so that any values in Y (including NaNs) are ignored.
  • if alpha == 0, apply() may short-circuit the operator, so that any values in X (including NaNs) are ignored.

Definition at line 93 of file Xpetra_EpetraOperator.hpp.

◆ hasTransposeApply()

template<class EpetraGlobalOrdinal >
virtual bool Xpetra::EpetraOperator< EpetraGlobalOrdinal >::hasTransposeApply ( ) const
inlinevirtual

Whether this operator supports applying the transpose or conjugate transpose.

Reimplemented from Xpetra::Operator< double, int, EpetraGlobalOrdinal >.

Definition at line 123 of file Xpetra_EpetraOperator.hpp.

◆ description()

template<class EpetraGlobalOrdinal >
std::string Xpetra::EpetraOperator< EpetraGlobalOrdinal >::description ( ) const
inline

A simple one-line description of this object.

Definition at line 140 of file Xpetra_EpetraOperator.hpp.

◆ describe()

template<class EpetraGlobalOrdinal >
void Xpetra::EpetraOperator< EpetraGlobalOrdinal >::describe ( Teuchos::FancyOStream &  out,
const Teuchos::EVerbosityLevel  verbLevel = Teuchos::Describable::verbLevel_default 
) const
inline

Print the object with the given verbosity level to a FancyOStream.

Definition at line 143 of file Xpetra_EpetraOperator.hpp.

Member Data Documentation

◆ op_

template<class EpetraGlobalOrdinal >
RCP< Epetra_Operator> Xpetra::EpetraOperator< EpetraGlobalOrdinal >::op_
private

The Tpetra::Operator which this class wraps.

Definition at line 160 of file Xpetra_EpetraOperator.hpp.


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