41 #ifndef DTK_CONSISTENTINTERPOLATIONOPERATOR_HPP 42 #define DTK_CONSISTENTINTERPOLATIONOPERATOR_HPP 44 #include "DTK_MapOperator.hpp" 45 #include "DTK_Types.hpp" 47 #include <Teuchos_Array.hpp> 48 #include <Teuchos_ParameterList.hpp> 49 #include <Teuchos_RCP.hpp> 51 #include <Tpetra_CrsMatrix.hpp> 52 #include <Tpetra_Map.hpp> 53 #include <Tpetra_Vector.hpp> 70 typedef typename Base::Root Root;
71 typedef typename Root::scalar_type Scalar;
72 typedef typename Root::local_ordinal_type LO;
73 typedef typename Root::global_ordinal_type GO;
74 typedef typename Base::TpetraMultiVector TpetraMultiVector;
75 typedef typename Base::TpetraMap TpetraMap;
81 const Teuchos::RCP<const TpetraMap> &domain_map,
82 const Teuchos::RCP<const TpetraMap> &range_map,
83 const Teuchos::ParameterList ¶meters );
115 void setupImpl(
const Teuchos::RCP<FunctionSpace> &domain_space,
116 const Teuchos::RCP<FunctionSpace> &range_space )
override;
122 const TpetraMultiVector &X, TpetraMultiVector &Y,
123 Teuchos::ETransp mode = Teuchos::NO_TRANS,
124 double alpha = Teuchos::ScalarTraits<double>::one(),
125 double beta = Teuchos::ScalarTraits<double>::zero() )
const override;
130 bool hasTransposeApplyImpl()
const override;
134 int d_range_entity_dim;
138 bool d_keep_missed_sol;
141 Teuchos::ParameterList d_search_list;
144 Teuchos::RCP<Tpetra::CrsMatrix<Scalar, LO, GO>> d_coupling_matrix;
148 Teuchos::Array<EntityId> d_missed_range_entity_ids;
151 Teuchos::RCP<Tpetra::Vector<Scalar, LO, GO>> d_keep_range_vec;
160 #endif // end DTK_CONSISTENTINTERPOLATIONOPERATOR_HPP 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.
ConsistentInterpolationOperator(const Teuchos::RCP< const TpetraMap > &domain_map, const Teuchos::RCP< const TpetraMap > &range_map, const Teuchos::ParameterList ¶meters)
Constructor.
Teuchos::ArrayView< const EntityId > getMissedRangeEntityIds() const
Return the ids of the range entities that were not mapped during the last setup phase (i...
MapOperator Base
Root class tyepdef.