DataTransferKit - Multiphysics Solution Transfer Services  2.0
Public Member Functions | List of all members
DataTransferKit::SplineProlongationOperator Class Reference

Prolongation operator for projecting a vector into the extended spline space. More...

#include <DTK_SplineProlongationOperator.hpp>

Inherits Operator< double, int, SupportId >.

Public Member Functions

 SplineProlongationOperator (const int offset, const Teuchos::RCP< const Tpetra::Map< int, SupportId >> &domain_map)
 Constructor. More...
 
Teuchos::RCP< const Tpetra::Map< int, SupportId > > getDomainMap () const override
 
Teuchos::RCP< const Tpetra::Map< int, SupportId > > getRangeMap () const override
 
void apply (const Tpetra::MultiVector< double, int, SupportId > &X, Tpetra::MultiVector< double, int, SupportId > &Y, Teuchos::ETransp mode=Teuchos::NO_TRANS, double alpha=Teuchos::ScalarTraits< double >::one(), double beta=Teuchos::ScalarTraits< double >::zero()) const override
 Computes the operator-multivector application. More...
 
bool hasTransposeApply () const override
 Whether this operator supports applying the transpose or conjugate transpose. More...
 

Detailed Description

Prolongation operator for projecting a vector into the extended spline space.

Definition at line 62 of file DTK_SplineProlongationOperator.hpp.

Constructor & Destructor Documentation

DataTransferKit::SplineProlongationOperator::SplineProlongationOperator ( const int  offset,
const Teuchos::RCP< const Tpetra::Map< int, SupportId >> &  domain_map 
)

Constructor.

Definition at line 52 of file DTK_SplineProlongationOperator.cpp.

Member Function Documentation

Teuchos::RCP<const Tpetra::Map<int, SupportId> > DataTransferKit::SplineProlongationOperator::getDomainMap ( ) const
inlineoverride

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

Definition at line 74 of file DTK_SplineProlongationOperator.hpp.

Teuchos::RCP<const Tpetra::Map<int, SupportId> > DataTransferKit::SplineProlongationOperator::getRangeMap ( ) const
inlineoverride

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

Definition at line 81 of file DTK_SplineProlongationOperator.hpp.

void DataTransferKit::SplineProlongationOperator::apply ( const Tpetra::MultiVector< double, int, SupportId > &  X,
Tpetra::MultiVector< double, int, SupportId > &  Y,
Teuchos::ETransp  mode = Teuchos::NO_TRANS,
double  alpha = Teuchos::ScalarTraits<double>::one(),
double  beta = Teuchos::ScalarTraits<double>::zero() 
) const
override

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 86 of file DTK_SplineProlongationOperator.cpp.

bool DataTransferKit::SplineProlongationOperator::hasTransposeApply ( ) const
inlineoverride

Whether this operator supports applying the transpose or conjugate transpose.

Definition at line 104 of file DTK_SplineProlongationOperator.hpp.


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