Xpetra Version of the Day
|
#include <Xpetra_TpetraOperator.hpp>
Public Types | |
typedef double | Scalar |
typedef long long | GlobalOrdinal |
typedef int | LocalOrdinal |
typedef EpetraNode | Node |
![]() | |
typedef double | scalar_type |
The type of the entries of the input and output multivectors. | |
typedef int | local_ordinal_type |
The local index type. | |
typedef long long | global_ordinal_type |
The global index type. | |
typedef EpetraNode | node_type |
The Kokkos Node type. | |
Public Member Functions | |
virtual Teuchos::RCP< const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > | getDomainMap () const |
The Map associated with the domain of this operator, which must be compatible with X.getMap(). | |
virtual Teuchos::RCP< const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > | getRangeMap () const |
The Map associated with the range of this operator, which must be compatible with Y.getMap(). | |
virtual void | apply (const Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &X, Xpetra::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. | |
virtual bool | hasTransposeApply () const |
Whether this operator supports applying the transpose or conjugate transpose. | |
![]() | |
virtual | ~Operator () |
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. | |
virtual void | removeEmptyProcessesInPlace (const RCP< const Map > &) |
virtual void | residual (const MultiVector &X, const MultiVector &B, MultiVector &R) const=0 |
Compute a residual R = B - (*this) * X. | |
![]() | |
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 () |
![]() | |
LabeledObject () | |
virtual | ~LabeledObject () |
virtual void | setObjectLabel (const std::string &objectLabel) |
virtual std::string | getObjectLabel () const |
Overridden from Teuchos::Describable | |
std::string | description () const |
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 the given verbosity level to a FancyOStream. | |
Xpetra specific | |
TpetraOperator (const Teuchos::RCP< Tpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &op) | |
TpetraOperator constructor to wrap a Tpetra::Operator object. | |
RCP< Tpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node > > | getOperator () |
Gets the operator out. | |
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 |
Additional Inherited Members | |
![]() | |
static const EVerbosityLevel | verbLevel_default |
Definition at line 226 of file Xpetra_TpetraOperator.hpp.
typedef double Xpetra::TpetraOperator< double, int, long long, EpetraNode >::Scalar |
Definition at line 229 of file Xpetra_TpetraOperator.hpp.
typedef long long Xpetra::TpetraOperator< double, int, long long, EpetraNode >::GlobalOrdinal |
Definition at line 230 of file Xpetra_TpetraOperator.hpp.
typedef int Xpetra::TpetraOperator< double, int, long long, EpetraNode >::LocalOrdinal |
Definition at line 231 of file Xpetra_TpetraOperator.hpp.
typedef EpetraNode Xpetra::TpetraOperator< double, int, long long, EpetraNode >::Node |
Definition at line 232 of file Xpetra_TpetraOperator.hpp.
|
inline |
TpetraOperator constructor to wrap a Tpetra::Operator object.
Definition at line 279 of file Xpetra_TpetraOperator.hpp.
|
inlinevirtual |
The Map associated with the domain of this operator, which must be compatible with X.getMap().
Implements Xpetra::Operator< double, int, long long, EpetraNode >.
Definition at line 237 of file Xpetra_TpetraOperator.hpp.
|
inlinevirtual |
The Map associated with the range of this operator, which must be compatible with Y.getMap().
Implements Xpetra::Operator< double, int, long long, EpetraNode >.
Definition at line 242 of file Xpetra_TpetraOperator.hpp.
|
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
beta == 0
, apply() must overwrite Y
, so that any values in Y
(including NaNs) are ignored.alpha == 0
, apply() may short-circuit the operator, so that any values in X
(including NaNs) are ignored. Definition at line 253 of file Xpetra_TpetraOperator.hpp.
|
inlinevirtual |
Whether this operator supports applying the transpose or conjugate transpose.
Reimplemented from Xpetra::Operator< double, int, long long, EpetraNode >.
Definition at line 260 of file Xpetra_TpetraOperator.hpp.
|
inlinevirtual |
A simple one-line description of this object.
Reimplemented from Teuchos::Describable.
Definition at line 268 of file Xpetra_TpetraOperator.hpp.
|
inlinevirtual |
Print the object with the given verbosity level to a FancyOStream.
Reimplemented from Teuchos::Describable.
Definition at line 271 of file Xpetra_TpetraOperator.hpp.
|
inline |
Gets the operator out.
Definition at line 282 of file Xpetra_TpetraOperator.hpp.
|
inline |
Definition at line 284 of file Xpetra_TpetraOperator.hpp.