41 #ifndef DTK_NODETONODE_HPP 42 #define DTK_NODETONODE_HPP 44 #include "DTK_MapOperator.hpp" 46 #include <Teuchos_Array.hpp> 47 #include <Teuchos_ArrayView.hpp> 48 #include <Teuchos_Comm.hpp> 49 #include <Teuchos_RCP.hpp> 51 #include <Tpetra_CrsMatrix.hpp> 69 typedef MapOperator
Base;
71 typedef typename Base::Root Root;
72 typedef typename Root::scalar_type Scalar;
73 typedef typename Root::local_ordinal_type LO;
74 typedef typename Root::global_ordinal_type GO;
75 typedef typename Base::TpetraMultiVector TpetraMultiVector;
76 typedef typename Base::TpetraMap TpetraMap;
89 const Teuchos::RCP<const TpetraMap> &range_map,
90 const Teuchos::ParameterList ¶meters );
107 void setupImpl(
const Teuchos::RCP<FunctionSpace> &domain_space,
108 const Teuchos::RCP<FunctionSpace> &range_space )
override;
114 const TpetraMultiVector &X, TpetraMultiVector &Y,
115 Teuchos::ETransp mode = Teuchos::NO_TRANS,
116 double alpha = Teuchos::ScalarTraits<double>::one(),
117 double beta = Teuchos::ScalarTraits<double>::zero() )
const override;
122 bool hasTransposeApplyImpl()
const override;
126 void getNodeCoordsAndIds(
const Teuchos::RCP<FunctionSpace> &space,
127 Teuchos::ArrayRCP<double> ¢ers,
128 Teuchos::ArrayRCP<GO> &support_ids )
const;
132 Teuchos::RCP<Tpetra::CrsMatrix<Scalar, LO, GO>> d_coupling_matrix;
141 #endif // end DTK_NODETONODE_HPP NodeToNodeOperator(const Teuchos::RCP< const TpetraMap > &domain_map, const Teuchos::RCP< const TpetraMap > &range_map, const Teuchos::ParameterList ¶meters)
Constructor.
MapOperator Base
Typedefs.
void applyImpl(const TpetraMultiVector &X, TpetraMultiVector &Y, Teuchos::ETransp mode=Teuchos::NO_TRANS, double alpha=Teuchos::ScalarTraits< double >::one(), double beta=Teuchos::ScalarTraits< double >::zero()) const override
Apply the operator.
Parallel moving least square interpolator MapOperator implementation.