Thyra::DefaultSpmdVectorSpace< Scalar > Class Template Reference
[Efficient Generic SPMD Concrete Thyra Operator/Vector Subclass Implementations]

Concrete implementation of an SPMD vector space subclass which creates DefaultSpmdVector and DefaultSpmdMultiVector objects. More...

#include <Thyra_DefaultSpmdVectorSpace_decl.hpp>

Inheritance diagram for Thyra::DefaultSpmdVectorSpace< Scalar >:

Inheritance graph
[legend]
List of all members.

Constructors and initializers

void initialize (const Ordinal dim)
 Initialize a serial space.
void initialize (const RCP< const Teuchos::Comm< Ordinal > > &comm, const Ordinal localSubDim, const Ordinal globalDim)
 Initialize an SPMD space.
void uninitialize ()
 Set to an uninitialized state.
static RCP< DefaultSpmdVectorSpace<
Scalar > > 
create ()
 Create with weak ownership to self.

Public overridden from VectorSpaceBase

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< const VectorSpaceBase<
Scalar > > 
clone () const
 

Public overridden from SpmdVectorSpaceDefaultBase

RCP< const Teuchos::Comm<
Ordinal > > 
getComm () const
 
Ordinal localSubDim () const
 

Deprecated

 DefaultSpmdVectorSpace (const Ordinal dim)
 Deprecated.
 DefaultSpmdVectorSpace (const RCP< const Teuchos::Comm< Ordinal > > &comm, const Ordinal localSubDim, const Ordinal globalDim)
 Deprecated.

Protected overridden from VectorSpaceBase

RCP< VectorBase< Scalar > > createMember () const
 
RCP< MultiVectorBase< Scalar > > createMembers (int numMembers) const
 
RCP< VectorBase< Scalar > > createMemberView (const RTOpPack::SubVectorView< Scalar > &raw_v) const
 
RCP< const VectorBase< Scalar > > createMemberView (const RTOpPack::ConstSubVectorView< Scalar > &raw_v) const
 
RCP< MultiVectorBase< Scalar > > createMembersView (const RTOpPack::SubMultiVectorView< Scalar > &raw_mv) const
 
RCP< const MultiVectorBase<
Scalar > > 
createMembersView (const RTOpPack::ConstSubMultiVectorView< Scalar > &raw_mv) const
 

Related Functions

(Note that these are not member functions.)

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)
 Nonmember consturctor function that creates a distributed or locally-replicated parallel vector space.

Detailed Description

template<class Scalar>
class Thyra::DefaultSpmdVectorSpace< Scalar >

Concrete implementation of an SPMD vector space subclass which creates DefaultSpmdVector and DefaultSpmdMultiVector objects.

This is a simple but yet fully general and functional concrete subclass of SpmdVectorSpaceBase that returns DefaultSpmdMultiVector objects from createMembers() and DefaultSpmdVector objects from createMember().

See the function initialize() that describes the different kinds of distributions this class can handle.

Definition at line 57 of file Thyra_DefaultSpmdVectorSpace_decl.hpp.


Constructor & Destructor Documentation

template<class Scalar>
Thyra::DefaultSpmdVectorSpace< Scalar >::DefaultSpmdVectorSpace ( const Ordinal  dim  ) 

Deprecated.

Definition at line 262 of file Thyra_DefaultSpmdVectorSpace_def.hpp.

template<class Scalar>
Thyra::DefaultSpmdVectorSpace< Scalar >::DefaultSpmdVectorSpace ( const RCP< const Teuchos::Comm< Ordinal > > &  comm,
const Ordinal  localSubDim,
const Ordinal  globalDim 
)

Deprecated.

Definition at line 272 of file Thyra_DefaultSpmdVectorSpace_def.hpp.


Member Function Documentation

template<class Scalar>
RCP< DefaultSpmdVectorSpace< Scalar > > Thyra::DefaultSpmdVectorSpace< Scalar >::create (  )  [static]

Create with weak ownership to self.

Definition at line 45 of file Thyra_DefaultSpmdVectorSpace_def.hpp.

template<class Scalar>
void Thyra::DefaultSpmdVectorSpace< Scalar >::initialize ( const Ordinal  dim  ) 

Initialize a serial space.

Parameters:
dim [in] Gives the dimension of the vector space.
Equivalent to calling this->initialize(Teuchos::null,dim,dim)

Definition at line 54 of file Thyra_DefaultSpmdVectorSpace_def.hpp.

template<class Scalar>
void Thyra::DefaultSpmdVectorSpace< Scalar >::initialize ( const RCP< const Teuchos::Comm< Ordinal > > &  comm,
const Ordinal  localSubDim,
const Ordinal  globalDim 
)

Initialize an SPMD space.

Parameters:
comm [in] The communicator. This object must be maintained by the client the entire time that this is in use.
localSubDim [in] The number of elements in the local process. This number can be different in every process.
globalDim [in] Gives the number of global elements in the vector if globalDim > 0. If globalDim < 0 then the global dimension is determined by the above argument localSubDim but requires a global communication to do so (i.e. Spmd_Allreduce()).
Preconditions:

Postconditions:

This function supports three different types of use-cases:

Definition at line 63 of file Thyra_DefaultSpmdVectorSpace_def.hpp.

template<class Scalar>
void Thyra::DefaultSpmdVectorSpace< Scalar >::uninitialize (  ) 

Set to an uninitialized state.

Postconditions:

Definition at line 86 of file Thyra_DefaultSpmdVectorSpace_def.hpp.

template<class Scalar>
bool Thyra::DefaultSpmdVectorSpace< Scalar >::hasInCoreView ( const Range1D rng,
const EViewType  viewType,
const EStrideType  strideType 
) const [virtual]

Returns true if all the elements in rng are in this process.

Reimplemented from Thyra::VectorSpaceBase< Scalar >.

Definition at line 211 of file Thyra_DefaultSpmdVectorSpace_def.hpp.

template<class Scalar>
RCP< const VectorSpaceBase< Scalar > > Thyra::DefaultSpmdVectorSpace< Scalar >::clone (  )  const [virtual]

Reimplemented from Thyra::VectorSpaceBase< Scalar >.

Definition at line 223 of file Thyra_DefaultSpmdVectorSpace_def.hpp.

template<class Scalar>
RCP< VectorBase< Scalar > > Thyra::DefaultSpmdVectorSpace< Scalar >::createMember (  )  const [protected, virtual]

Implements Thyra::VectorSpaceBase< Scalar >.

Definition at line 98 of file Thyra_DefaultSpmdVectorSpace_def.hpp.

template<class Scalar>
RCP< MultiVectorBase< Scalar > > Thyra::DefaultSpmdVectorSpace< Scalar >::createMembers ( int  numMembers  )  const [protected, virtual]

Implements Thyra::VectorSpaceBase< Scalar >.

Definition at line 115 of file Thyra_DefaultSpmdVectorSpace_def.hpp.

template<class Scalar>
RCP< VectorBase< Scalar > > Thyra::DefaultSpmdVectorSpace< Scalar >::createMemberView ( const RTOpPack::SubVectorView< Scalar > &  raw_v  )  const [protected, virtual]

Implements Thyra::VectorSpaceBase< Scalar >.

Definition at line 130 of file Thyra_DefaultSpmdVectorSpace_def.hpp.

template<class Scalar>
RCP< const VectorBase< Scalar > > Thyra::DefaultSpmdVectorSpace< Scalar >::createMemberView ( const RTOpPack::ConstSubVectorView< Scalar > &  raw_v  )  const [protected, virtual]

Implements Thyra::VectorSpaceBase< Scalar >.

Definition at line 149 of file Thyra_DefaultSpmdVectorSpace_def.hpp.

template<class Scalar>
RCP< MultiVectorBase< Scalar > > Thyra::DefaultSpmdVectorSpace< Scalar >::createMembersView ( const RTOpPack::SubMultiVectorView< Scalar > &  raw_mv  )  const [protected, virtual]

Implements Thyra::VectorSpaceBase< Scalar >.

Definition at line 168 of file Thyra_DefaultSpmdVectorSpace_def.hpp.

template<class Scalar>
RCP< const MultiVectorBase< Scalar > > Thyra::DefaultSpmdVectorSpace< Scalar >::createMembersView ( const RTOpPack::ConstSubMultiVectorView< Scalar > &  raw_mv  )  const [protected, virtual]

Implements Thyra::VectorSpaceBase< Scalar >.

Definition at line 189 of file Thyra_DefaultSpmdVectorSpace_def.hpp.

template<class Scalar>
RCP< const Teuchos::Comm< Ordinal > > Thyra::DefaultSpmdVectorSpace< Scalar >::getComm (  )  const [virtual]

Implements Thyra::SpmdVectorSpaceBase< Scalar >.

Definition at line 234 of file Thyra_DefaultSpmdVectorSpace_def.hpp.

template<class Scalar>
Ordinal Thyra::DefaultSpmdVectorSpace< Scalar >::localSubDim (  )  const [virtual]

Implements Thyra::SpmdVectorSpaceBase< Scalar >.

Definition at line 241 of file Thyra_DefaultSpmdVectorSpace_def.hpp.


Friends And Related Function Documentation

template<class Scalar>
RCP< DefaultSpmdVectorSpace< Scalar > > defaultSpmdVectorSpace (  )  [related]

Nonmember consturctor that creats an uninitialized vector space.

Definition at line 246 of file Thyra_DefaultSpmdVectorSpace_decl.hpp.

template<class Scalar>
RCP< DefaultSpmdVectorSpace< Scalar > > defaultSpmdVectorSpace ( const Ordinal  dim  )  [related]

Nonmember consturctor that creats a serial vector space.

Definition at line 258 of file Thyra_DefaultSpmdVectorSpace_decl.hpp.

template<class Scalar>
RCP< DefaultSpmdVectorSpace< Scalar > > defaultSpmdVectorSpace ( const RCP< const Teuchos::Comm< Ordinal > > &  comm,
const Ordinal  localSubDim,
const Ordinal  globalDim 
) [related]

Nonmember consturctor function that creates a distributed or locally-replicated parallel vector space.

Definition at line 274 of file Thyra_DefaultSpmdVectorSpace_decl.hpp.


The documentation for this class was generated from the following files:
Generated on Tue Jul 13 09:26:38 2010 for Thyra by  doxygen 1.4.7