Teko Version of the Day
Loading...
Searching...
No Matches
Teko_TpetraThyraConverter.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_TpetraThyraConverter_hpp__
11#define __Teko_TpetraThyraConverter_hpp__
12
13// Teuchos includes
14#include "Teuchos_RCP.hpp"
15
16// Tpetra includes
17#include "Tpetra_MultiVector.hpp"
18#include "Tpetra_Map.hpp"
19
20// Thyra includes
21#include "Thyra_VectorSpaceBase.hpp"
22#include "Thyra_TpetraThyraWrappers_decl.hpp"
23
24#include "Teko_ConfigDefs.hpp"
25
26namespace Teko {
27namespace TpetraHelpers {
28
74void blockTpetraToThyra(const Tpetra::MultiVector<ST, LO, GO, NT>& tpetraX,
75 const Teuchos::Ptr<Thyra::MultiVectorBase<ST> >& thyraX);
76
122void blockThyraToTpetra(const Teuchos::RCP<const Thyra::MultiVectorBase<ST> >& thyraX,
123 Tpetra::MultiVector<ST, LO, GO, NT>& tpetraX);
124
153const Teuchos::RCP<Tpetra::Map<LO, GO, NT> > thyraVSToTpetraMap(
154 const Thyra::VectorSpaceBase<ST>& vs,
155 const Teuchos::RCP<const Teuchos::Comm<Thyra::Ordinal> >& comm);
156
157} // namespace TpetraHelpers
158} // end namespace Teko
159
160#endif