Public Member Functions
Playa::SerialVectorType Class Reference
Inheritance diagram for Playa::SerialVectorType:
Playa::VectorTypeBase< double > Playa::Handleable< VectorTypeBase< double > > Playa::Printable

List of all members.

Public Member Functions

 SerialVectorType ()
virtual ~SerialVectorType ()
RCP< const VectorSpaceBase
< double > > 
createSpace (int dimension, int nLocal, const int *locallyOwnedIndices, const MPIComm &comm) const
virtual VectorSpace< double > createEvenlyPartitionedSpace (const MPIComm &comm, int nLocal) const
RCP< GhostImporter< double > > createGhostImporter (const VectorSpace< double > &space, int nGhost, const int *ghostIndices) const
RCP< MatrixFactory< double > > createMatrixFactory (const VectorSpace< double > &domain, const VectorSpace< double > &range) const
Printable interface
void print (std::ostream &os) const

Detailed Description

\!brief Serial vector type is a factory for serial vector spaces. If used in a SPMD program the spece will be replicated on each processor.

Definition at line 61 of file PlayaSerialVectorType.hpp.


Constructor & Destructor Documentation

Construct a vector type

Definition at line 56 of file PlayaSerialVectorType.cpp.

virtual Playa::SerialVectorType::~SerialVectorType ( ) [inline, virtual]

virtual dtor

Definition at line 71 of file PlayaSerialVectorType.hpp.


Member Function Documentation

VectorSpace< double > Playa::SerialVectorType::createEvenlyPartitionedSpace ( const MPIComm comm,
int  nLocal 
) const [virtual]

Default implementation creates a vector space having nLocal elements on each processor. Serial types should override this to produce a replicated space.

Reimplemented from Playa::VectorTypeBase< double >.

Definition at line 96 of file PlayaSerialVectorType.cpp.

RCP< GhostImporter< double > > Playa::SerialVectorType::createGhostImporter ( const VectorSpace< double > &  space,
int  nGhost,
const int *  ghostIndices 
) const [virtual]

Create an importer for accessing ghost elements.

Parameters:
spacethe distributed vector space on which ghost elements are to be shared
nGhostnumber of ghost elements needed by this processor
ghostIndicesread-only C array of off-processor indices needed by this processor.
Returns:
A RCP to a GhostImporter object.

Implements Playa::VectorTypeBase< double >.

Definition at line 75 of file PlayaSerialVectorType.cpp.

References Playa::Handle< PointerType >::ptr().

RCP< MatrixFactory< double > > Playa::SerialVectorType::createMatrixFactory ( const VectorSpace< double > &  domain,
const VectorSpace< double > &  range 
) const [virtual]

Create a matrix factory of type compatible with this vector type, sized according to the given domain and range spaces.

Implements Playa::VectorTypeBase< double >.

Definition at line 85 of file PlayaSerialVectorType.cpp.

RCP< const VectorSpaceBase< double > > Playa::SerialVectorType::createSpace ( int  dimension,
int  nLocal,
const int *  locallyOwnedIndices,
const MPIComm comm 
) const [virtual]

create a distributed vector space.

Parameters:
dimensionthe dimension of the space
nLocalnumber of indices owned by the local processor
locallyOwnedIndicesarray of indices owned by this processor

Implements Playa::VectorTypeBase< double >.

Definition at line 61 of file PlayaSerialVectorType.cpp.

void Playa::SerialVectorType::print ( std::ostream &  os) const [inline, virtual]

Print to stream

Implements Playa::Printable.

Definition at line 121 of file PlayaSerialVectorType.hpp.

Site Contact