41 #ifndef DTK_SPLINEPROLONGATIONOPERATOR_HPP 42 #define DTK_SPLINEPROLONGATIONOPERATOR_HPP 44 #include "DTK_Types.hpp" 46 #include <Teuchos_Comm.hpp> 47 #include <Teuchos_RCP.hpp> 49 #include <Tpetra_Map.hpp> 50 #include <Tpetra_MultiVector.hpp> 51 #include <Tpetra_Operator.hpp> 63 :
public Tpetra::Operator<double, int, SupportId>
69 const Teuchos::RCP<
const Tpetra::Map<int, SupportId>> &domain_map );
73 Teuchos::RCP<const Tpetra::Map<int, SupportId>>
81 Teuchos::RCP<const Tpetra::Map<int, SupportId>>
getRangeMap()
const override 96 apply(
const Tpetra::MultiVector<double, int, SupportId> &X,
97 Tpetra::MultiVector<double, int, SupportId> &Y,
98 Teuchos::ETransp mode = Teuchos::NO_TRANS,
99 double alpha = Teuchos::ScalarTraits<double>::one(),
100 double beta = Teuchos::ScalarTraits<double>::zero() )
const override;
114 Teuchos::RCP<const Tpetra::Map<int, SupportId>> d_domain_map;
117 Teuchos::RCP<const Tpetra::Map<int, SupportId>> d_range_map;
126 #endif // end DTK_SPLINEPROLONGATIONOPERATOR_HPP bool hasTransposeApply() const override
Whether this operator supports applying the transpose or conjugate transpose.
SplineProlongationOperator(const int offset, const Teuchos::RCP< const Tpetra::Map< int, SupportId >> &domain_map)
Constructor.
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.
Prolongation operator for projecting a vector into the extended spline space.
Teuchos::RCP< const Tpetra::Map< int, SupportId > > getDomainMap() const override