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,
const Epetra_Comm & )
85 void BasicMappingStrategy::copyEpetraIntoThyra(
const Epetra_MultiVector& X,
86 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 = Teuchos::rcp_const_cast<Epetra_MultiVector>(Teuchos::rcpFromRef(X));
92 fillDefaultSpmdMultiVector(vec,ptrX);
103 void BasicMappingStrategy::copyThyraIntoEpetra(
const RCP<
const Thyra::MultiVectorBase<double> > & thyra_Y,
104 Epetra_MultiVector& Y)
const
106 RCP<const Epetra_MultiVector> eSrc = Thyra::get_Epetra_MultiVector(*rangeMap(),thyra_Y);