47 #include "Epetra/Teko_BasicMappingStrategy.hpp"
48 #include "Epetra/Teko_EpetraHelpers.hpp"
50 #include "Thyra_EpetraThyraWrappers.hpp"
51 #include "Thyra_DefaultSpmdMultiVector.hpp"
55 using Teuchos::rcp_dynamic_cast;
70 BasicMappingStrategy::BasicMappingStrategy(
const Teuchos::RCP<const Epetra_Map>& rMap,
71 const Teuchos::RCP<const Epetra_Map>& dMap,
72 const Epetra_Comm& ) {
85 void BasicMappingStrategy::copyEpetraIntoThyra(
86 const Epetra_MultiVector& X,
87 const Teuchos::Ptr<Thyra::MultiVectorBase<double> >& thyra_X)
const {
89 RCP<Thyra::DefaultSpmdMultiVector<double> > vec =
90 rcp_dynamic_cast<Thyra::DefaultSpmdMultiVector<double> >(Teuchos::rcpFromRef(*thyra_X));
91 Teuchos::RCP<Epetra_MultiVector> ptrX =
92 Teuchos::rcp_const_cast<Epetra_MultiVector>(Teuchos::rcpFromRef(X));
93 fillDefaultSpmdMultiVector(vec, ptrX);
104 void BasicMappingStrategy::copyThyraIntoEpetra(
105 const RCP<
const Thyra::MultiVectorBase<double> >& thyra_Y, Epetra_MultiVector& Y)
const {
106 RCP<const Epetra_MultiVector> eSrc = Thyra::get_Epetra_MultiVector(*rangeMap(), thyra_Y);