Teko  Version of the Day
 All Classes Files Functions Variables Pages
Teko_EpetraThyraConverter.hpp
1 // @HEADER
2 // *****************************************************************************
3 // Teko: A package for block and physics based preconditioning
4 //
5 // Copyright 2010 NTESS and the Teko contributors.
6 // SPDX-License-Identifier: BSD-3-Clause
7 // *****************************************************************************
8 // @HEADER
9 
10 #ifndef __Teko_EpetraThyraConverter_hpp__
11 #define __Teko_EpetraThyraConverter_hpp__
12 
13 // Teuchos includes
14 #include "Teuchos_RCP.hpp"
15 
16 // Epetra includes
17 #include "Epetra_MultiVector.h"
18 #include "Epetra_Comm.h"
19 #include "Epetra_Map.h"
20 
21 // Thyra includes
22 #include "Thyra_VectorSpaceBase.hpp"
23 
24 namespace Teko {
25 namespace Epetra {
26 
72 void blockEpetraToThyra(const Epetra_MultiVector& epetraX,
73  const Teuchos::Ptr<Thyra::MultiVectorBase<double> >& thyraX);
74 
120 void blockThyraToEpetra(const Teuchos::RCP<const Thyra::MultiVectorBase<double> >& thyraX,
121  Epetra_MultiVector& epetraX);
122 
151 const Teuchos::RCP<Epetra_Map> thyraVSToEpetraMap(const Thyra::VectorSpaceBase<double>& vs,
152  const Teuchos::RCP<const Epetra_Comm>& comm);
153 
154 } // end namespace Epetra
155 } // end namespace Teko
156 
157 #endif