10 #ifndef THYRA_TPETRA_THYRA_WRAPPERS_DECL_HPP
11 #define THYRA_TPETRA_THYRA_WRAPPERS_DECL_HPP
14 #include "Thyra_OperatorVectorTypes.hpp"
31 RCP<const Teuchos::Comm<Ordinal> >
41 RCP<const Teuchos::Comm<int> >
49 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
50 RCP<const VectorSpaceBase<Scalar> >
51 createVectorSpace(
const RCP<
const Tpetra::Map<LocalOrdinal,GlobalOrdinal,Node> > &tpetraMap);
58 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
59 RCP<VectorBase<Scalar> >
61 const RCP<Tpetra::Vector<Scalar,LocalOrdinal,GlobalOrdinal,Node> > &tpetraVector,
62 const RCP<
const VectorSpaceBase<Scalar> > space =
Teuchos::null
70 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
71 RCP<const VectorBase<Scalar> >
73 const RCP<
const Tpetra::Vector<Scalar,LocalOrdinal,GlobalOrdinal,Node> > &tpetraVector,
74 const RCP<
const VectorSpaceBase<Scalar> > space =
Teuchos::null
82 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
83 RCP<MultiVectorBase<Scalar> >
85 const RCP<Tpetra::MultiVector<Scalar,LocalOrdinal,GlobalOrdinal,Node> > &tpetraMultiVector,
86 const RCP<
const VectorSpaceBase<Scalar> > rangeSpace =
Teuchos::null,
87 const RCP<
const VectorSpaceBase<Scalar> > domainSpace =
Teuchos::null
95 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
96 RCP<const MultiVectorBase<Scalar> >
98 const RCP<
const Tpetra::MultiVector<Scalar,LocalOrdinal,GlobalOrdinal,Node> > &tpetraMultiVector,
99 const RCP<
const VectorSpaceBase<Scalar> > rangeSpace =
Teuchos::null,
100 const RCP<
const VectorSpaceBase<Scalar> > domainSpace =
Teuchos::null
108 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
109 RCP<LinearOpBase<Scalar> >
111 const RCP<Tpetra::Operator<Scalar,LocalOrdinal,GlobalOrdinal,Node> > &tpetraOperator,
112 const RCP<
const VectorSpaceBase<Scalar> > rangeSpace =
Teuchos::null,
113 const RCP<
const VectorSpaceBase<Scalar> > domainSpace =
Teuchos::null
121 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
122 RCP<const LinearOpBase<Scalar> >
124 const RCP<
const Tpetra::Operator<Scalar,LocalOrdinal,GlobalOrdinal,Node> > &tpetraOperator,
125 const RCP<
const VectorSpaceBase<Scalar> > rangeSpace =
Teuchos::null,
126 const RCP<
const VectorSpaceBase<Scalar> > domainSpace =
Teuchos::null
150 template <class Scalar = Tpetra::Vector<>::scalar_type,
151 class LocalOrdinal = Tpetra::Vector<>::local_ordinal_type,
152 class GlobalOrdinal = Tpetra::Vector<>::global_ordinal_type,
153 class Node = Tpetra::Vector<>::node_type>
204 #endif // THYRA_TPETRA_THYRA_WRAPPERS_DECL_HPP
RCP< MultiVectorBase< Scalar > > createMultiVector(const RCP< Tpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &tpetraMultiVector, const RCP< const VectorSpaceBase< Scalar > > rangeSpace=Teuchos::null, const RCP< const VectorSpaceBase< Scalar > > domainSpace=Teuchos::null)
RCP< const VectorBase< Scalar > > createConstVector(const RCP< const Tpetra::Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &tpetraVector, const RCP< const VectorSpaceBase< Scalar > > space=Teuchos::null)
RCP< const LinearOpBase< Scalar > > createConstLinearOp(const RCP< const Tpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &tpetraOperator, const RCP< const VectorSpaceBase< Scalar > > rangeSpace=Teuchos::null, const RCP< const VectorSpaceBase< Scalar > > domainSpace=Teuchos::null)
RCP< LinearOpBase< Scalar > > createLinearOp(const RCP< Tpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &tpetraOperator, const RCP< const VectorSpaceBase< Scalar > > rangeSpace=Teuchos::null, const RCP< const VectorSpaceBase< Scalar > > domainSpace=Teuchos::null)
RCP< VectorBase< Scalar > > createVector(const RCP< Tpetra::Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &tpetraVector, const RCP< const VectorSpaceBase< Scalar > > space=Teuchos::null)
RCP< const MultiVectorBase< Scalar > > createConstMultiVector(const RCP< const Tpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &tpetraMultiVector, const RCP< const VectorSpaceBase< Scalar > > rangeSpace=Teuchos::null, const RCP< const VectorSpaceBase< Scalar > > domainSpace=Teuchos::null)
RCP< const VectorSpaceBase< Scalar > > createVectorSpace(const RCP< const Tpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > &tpetraMap)
Create a Thyra::VectorSpaceBase object given a Tpetra::Map.
RCP< const Teuchos::Comm< Ordinal > > convertTpetraToThyraComm(const RCP< const Teuchos::Comm< int > > &tpetraComm)
Given an Tpetra Teuchos::Comm<int> object, return an equivalent Teuchos::Comm<Ordinal> object...
RCP< const Teuchos::Comm< int > > convertThyraToTpetraComm(const RCP< const Teuchos::Comm< Ordinal > > &thyraComm)
Given an Tpetra Teuchos::Comm<Ordinal> object, return an equivalent Teuchos::Comm<int> object...