10#ifndef THYRA_DEFAULT_SPMD_VECTOR_SPACE_DECL_HPP
11#define THYRA_DEFAULT_SPMD_VECTOR_SPACE_DECL_HPP
14#include "Thyra_SpmdVectorSpaceDefaultBase_decl.hpp"
15#include "Thyra_ProductVectorSpaceBase.hpp"
36class DefaultSpmdVectorSpace
112 const Ordinal
localSubDim,
const Ordinal globalDim,
184 Ordinal localSubDim_;
192 DefaultSpmdVectorSpace();
203template<
class Scalar>
215template<
class Scalar>
231template<
class Scalar>
235 const Ordinal
localSubDim,
const Ordinal globalDim,
251template<
class Scalar>
255 const Ordinal globalDim
260 vs->initialize(comm, globalDim, globalDim,
true);
RCP< const Teuchos::Comm< Ordinal > > getComm() const
bool hasInCoreView(const Range1D &rng, const EViewType viewType, const EStrideType strideType) const
Returns true if all the elements in rng are in this process.
RCP< DefaultSpmdVectorSpace< Scalar > > defaultSpmdVectorSpace()
Nonmember consturctor that creats an uninitialized vector space.
RCP< DefaultSpmdVectorSpace< Scalar > > defaultSpmdVectorSpace(const Ordinal dim)
Nonmember consturctor that creats a serial vector space.
RCP< DefaultSpmdVectorSpace< Scalar > > defaultSpmdVectorSpace(const RCP< const Teuchos::Comm< Ordinal > > &comm, const Ordinal localSubDim, const Ordinal globalDim, const bool isLocallyReplicated=false)
Nonmember consturctor function that creates a distributed or locally-replicated parallel vector space...
RCP< MultiVectorBase< Scalar > > createMembers(int numMembers) const
RCP< DefaultSpmdVectorSpace< Scalar > > locallyReplicatedDefaultSpmdVectorSpace(const RCP< const Teuchos::Comm< Ordinal > > &comm, const Ordinal globalDim)
Nonmember consturctor function that creates a locally-replicated parallel vector space.
Ordinal localSubDim() const
static RCP< DefaultSpmdVectorSpace< Scalar > > create()
Create with weak ownership to self.
RCP< const VectorSpaceBase< Scalar > > clone() const
RCP< MultiVectorBase< Scalar > > createMembersView(const RTOpPack::SubMultiVectorView< Scalar > &raw_mv) const
void initialize(const Ordinal dim)
Initialize a serial space.
RCP< VectorBase< Scalar > > createMemberView(const RTOpPack::SubVectorView< Scalar > &raw_v) const
RCP< VectorBase< Scalar > > createMember() const
void uninitialize()
Set to an uninitialized state.
bool isLocallyReplicated() const
Returns true if vector space is locally replicated space.
SpmdVectorSpaceDefaultBase()
Ordinal dim() const
Returns the sum of the local number of elements on every process.
EStrideType
Determine if data is unit stride or non-unit stride.
EViewType
Determines if a view is a direct view of data or a detached copy of data.