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 24 of file PlayaSerialVectorType.hpp.


Constructor & Destructor Documentation

Playa::SerialVectorType::SerialVectorType (  ) 

Construct a vector type

Definition at line 19 of file PlayaSerialVectorType.cpp.

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

virtual dtor

Definition at line 34 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 59 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:
space the distributed vector space on which ghost elements are to be shared
nGhost number of ghost elements needed by this processor
ghostIndices read-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 38 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 48 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:
dimension the dimension of the space
nLocal number of indices owned by the local processor
locallyOwnedIndices array of indices owned by this processor

Implements Playa::VectorTypeBase< double >.

Definition at line 24 of file PlayaSerialVectorType.cpp.

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

Print to stream

Implements Playa::Printable.

Definition at line 84 of file PlayaSerialVectorType.hpp.

Site Contact