Playa::SerialVectorType Class Reference

#include <PlayaSerialVectorType.hpp>

Inheritance diagram for Playa::SerialVectorType:

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
virtual Teuchos::RCP
< VectorTypeBase< double > > 
getRcp ()
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

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

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

Definition at line 24 of file PlayaSerialVectorType.cpp.

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.

Definition at line 59 of file PlayaSerialVectorType.cpp.

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

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.

Definition at line 38 of file PlayaSerialVectorType.cpp.

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

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

Definition at line 48 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.

virtual Teuchos::RCP< VectorTypeBase<double> > Playa::SerialVectorType::getRcp (  )  [inline, virtual]

Handleable<VectorTypeBase<double> > interface

Implements Playa::Handleable< VectorTypeBase< double > >.

Definition at line 87 of file PlayaSerialVectorType.hpp.


The documentation for this class was generated from the following files:

doxygen