10#ifndef XPETRA_THYRAUTILS_HPP
11#define XPETRA_THYRAUTILS_HPP
14#ifdef HAVE_XPETRA_THYRA
18#include "Tpetra_ConfigDefs.hpp"
20#include "Xpetra_Map.hpp"
21#include "Xpetra_BlockedMap.hpp"
22#include "Xpetra_BlockedMultiVector.hpp"
23#include "Xpetra_BlockedCrsMatrix.hpp"
25#include "Xpetra_StridedMap.hpp"
26#include "Xpetra_StridedMapFactory.hpp"
27#include "Xpetra_MapExtractor.hpp"
28#include "Xpetra_Matrix.hpp"
29#include "Xpetra_MatrixFactory.hpp"
30#include "Xpetra_CrsMatrixWrap.hpp"
31#include "Xpetra_MultiVectorFactory.hpp"
33#include <Thyra_VectorSpaceBase.hpp>
34#include <Thyra_SpmdVectorSpaceBase.hpp>
35#include <Thyra_ProductVectorSpaceBase.hpp>
36#include <Thyra_ProductMultiVectorBase.hpp>
37#include <Thyra_VectorSpaceBase.hpp>
38#include <Thyra_DefaultProductVectorSpace.hpp>
39#include <Thyra_DefaultBlockedLinearOp.hpp>
40#include <Thyra_LinearOpBase.hpp>
41#include "Thyra_DiagonalLinearOpBase.hpp"
42#include <Thyra_DetachedMultiVectorView.hpp>
43#include <Thyra_MultiVectorStdOps.hpp>
45#include <Thyra_TpetraThyraWrappers.hpp>
46#include <Thyra_TpetraVector.hpp>
47#include <Thyra_TpetraMultiVector.hpp>
48#include <Thyra_TpetraVectorSpace.hpp>
49#include <Tpetra_Map.hpp>
50#include <Tpetra_Vector.hpp>
51#include <Tpetra_CrsMatrix.hpp>
52#include <Xpetra_TpetraMap.hpp>
54#include <Xpetra_TpetraCrsMatrix.hpp>
58template <
class Scalar,
59 class LocalOrdinal = int,
60 class GlobalOrdinal = LocalOrdinal,
61 class Node = Tpetra::KokkosClassic::DefaultNode::DefaultNodeType>
64#undef XPETRA_THYRAUTILS_SHORT
82 static bool isTpetra(
const Teuchos::RCP<
const Thyra::LinearOpBase<Scalar>>& op);
84 static bool isBlockedOperator(
const Teuchos::RCP<
const Thyra::LinearOpBase<Scalar>>& op);
93 toXpetraOperator(
const Teuchos::RCP<
const Thyra::LinearOpBase<Scalar>>& op);
96 toXpetraOperator(
const Teuchos::RCP<Thyra::LinearOpBase<Scalar>>& op);
131#define XPETRA_THYRAUTILS_SHORT
RCP< const CrsGraph< LocalOrdinal, GlobalOrdinal, Node > > toXpetra(RCP< const Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node > > graph)