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.

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.
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.

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