Public Member Functions | Private Types | List of all members
Xpetra::EpetraOperator< EpetraGlobalOrdinal, Node > Class Template Reference

#include <Xpetra_EpetraOperator.hpp>

Inheritance diagram for Xpetra::EpetraOperator< EpetraGlobalOrdinal, Node >:
Xpetra::Operator< double, int, EpetraGlobalOrdinal, Node > Teuchos::Describable Teuchos::LabeledObject

Public Member Functions

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...
 
- Public Member Functions inherited from Xpetra::Operator< double, int, EpetraGlobalOrdinal, Node >
virtual ~Operator ()
 
virtual Teuchos::RCP< const MapgetDomainMap () const=0
 The Map associated with the domain of this operator, which must be compatible with X.getMap(). More...
 
virtual Teuchos::RCP< const MapgetRangeMap () const=0
 The Map associated with the range of this operator, which must be compatible with Y.getMap(). More...
 
virtual bool hasTransposeApply () const
 Whether this operator supports applying the transpose or conjugate transpose. More...
 
virtual void removeEmptyProcessesInPlace (const RCP< const Map > &newMap)
 
- Public Member Functions inherited from Teuchos::Describable
void describe (std::ostream &out, const EVerbosityLevel verbLevel=verbLevel_default) const
 
virtual ~Describable ()
 
DescribableStreamManipulatorState describe (const Describable &describable, const EVerbosityLevel verbLevel=Describable::verbLevel_default)
 
std::ostream & operator<< (std::ostream &os, const DescribableStreamManipulatorState &d)
 
void describe (std::ostream &out, const EVerbosityLevel verbLevel=verbLevel_default) const
 
virtual ~Describable ()
 
- Public Member Functions inherited from Teuchos::LabeledObject
 LabeledObject ()
 
virtual ~LabeledObject ()
 
virtual void setObjectLabel (const std::string &objectLabel)
 
virtual std::string getObjectLabel () const
 

Private Types

typedef double Scalar
 
typedef int LocalOrdinal
 
typedef EpetraGlobalOrdinal GlobalOrdinal
 

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

RCP< Epetra_Operatorop_
 The Tpetra::Operator which this class wraps. More...
 
 EpetraOperator (const Teuchos::RCP< Epetra_Operator > &op)
 EpetraOperator constructor to wrap a Epetra_Operator object. More...
 

Additional Inherited Members

- Public Types inherited from Xpetra::Operator< double, int, EpetraGlobalOrdinal, Node >
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 Node node_type
 The Kokkos Node type. More...
 
- Static Public Attributes inherited from Teuchos::Describable
static const EVerbosityLevel verbLevel_default
 

Detailed Description

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

Definition at line 65 of file Xpetra_EpetraOperator.hpp.

Member Typedef Documentation

◆ Scalar

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

Definition at line 67 of file Xpetra_EpetraOperator.hpp.

◆ LocalOrdinal

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

Definition at line 68 of file Xpetra_EpetraOperator.hpp.

◆ GlobalOrdinal

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

Definition at line 69 of file Xpetra_EpetraOperator.hpp.

Constructor & Destructor Documentation

◆ EpetraOperator()

template<class EpetraGlobalOrdinal , class Node >
Xpetra::EpetraOperator< EpetraGlobalOrdinal, Node >::EpetraOperator ( const Teuchos::RCP< Epetra_Operator > &  op)
inline

EpetraOperator constructor to wrap a Epetra_Operator object.

Definition at line 148 of file Xpetra_EpetraOperator.hpp.

Member Function Documentation

◆ getDomainMap()

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

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

Definition at line 75 of file Xpetra_EpetraOperator.hpp.

◆ getRangeMap()

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

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

Definition at line 81 of file Xpetra_EpetraOperator.hpp.

◆ apply()

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

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

Definition at line 93 of file Xpetra_EpetraOperator.hpp.

◆ hasTransposeApply()

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

Whether this operator supports applying the transpose or conjugate transpose.

Definition at line 121 of file Xpetra_EpetraOperator.hpp.

◆ description()

template<class EpetraGlobalOrdinal , class Node >
std::string Xpetra::EpetraOperator< EpetraGlobalOrdinal, Node >::description ( ) const
inlinevirtual

A simple one-line description of this object.

Reimplemented from Teuchos::Describable.

Definition at line 134 of file Xpetra_EpetraOperator.hpp.

◆ describe()

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

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

Reimplemented from Teuchos::Describable.

Definition at line 137 of file Xpetra_EpetraOperator.hpp.

Member Data Documentation

◆ op_

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

The Tpetra::Operator which this class wraps.

Definition at line 154 of file Xpetra_EpetraOperator.hpp.


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