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
23#include "Teko_ConfigDefs.hpp"
24
25namespace Teko {
26namespace TpetraHelpers {
27
73void blockTpetraToThyra(const Tpetra::MultiVector<ST, LO, GO, NT>& tpetraX,
74 const Teuchos::Ptr<Thyra::MultiVectorBase<ST> >& thyraX);
75
121void blockThyraToTpetra(const Teuchos::RCP<const Thyra::MultiVectorBase<ST> >& thyraX,
122 Tpetra::MultiVector<ST, LO, GO, NT>& tpetraX);
123
152const Teuchos::RCP<Tpetra::Map<LO, GO, NT> > thyraVSToTpetraMap(
153 const Thyra::VectorSpaceBase<ST>& vs,
154 const Teuchos::RCP<const Teuchos::Comm<Thyra::Ordinal> >& comm);
155
156} // namespace TpetraHelpers
157} // end namespace Teko
158
159#endif