Playa::VectorTypeBase< Scalar > Class Template Reference

List of all members.

Public Member Functions

virtual ~VectorTypeBase ()
virtual RCP< const
VectorSpaceBase< Scalar > > 
createSpace (int dimension, int nLocal, const int *locallyOwnedIndices, const MPIComm &comm) const =0
virtual VectorSpace< Scalar > createEvenlyPartitionedSpace (const MPIComm &comm, int nLocal) const
virtual RCP< GhostImporter
< Scalar > > 
createGhostImporter (const VectorSpace< Scalar > &space, int nGhost, const int *ghostIndices) const =0
virtual RCP< MatrixFactory
< Scalar > > 
createMatrixFactory (const VectorSpace< Scalar > &domain, const VectorSpace< Scalar > &range) const =0

Detailed Description

template<class Scalar>
class Playa::VectorTypeBase< Scalar >

Definition at line 22 of file PlayaVectorTypeBase.hpp.

Constructor & Destructor Documentation

template<class Scalar>
virtual Playa::VectorTypeBase< Scalar >::~VectorTypeBase (  )  [inline, virtual]

Virtual dtor

Definition at line 26 of file PlayaVectorTypeBase.hpp.

Member Function Documentation

template<class Scalar >
VectorSpace< Scalar > Playa::VectorTypeBase< Scalar >::createEvenlyPartitionedSpace ( const MPIComm comm,
int  nLocal 
) const [inline, virtual]

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

Reimplemented in Playa::SerialVectorType.

Definition at line 78 of file PlayaVectorTypeBase.hpp.

References Sundance::dimension(), Playa::MPIComm::getNProc(), and Playa::MPIComm::getRank().

template<class Scalar>
virtual RCP<GhostImporter<Scalar> > Playa::VectorTypeBase< Scalar >::createGhostImporter ( const VectorSpace< Scalar > &  space,
int  nGhost,
const int *  ghostIndices 
) const [pure 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.

Implemented in Playa::EpetraVectorType, and Playa::SerialVectorType.

template<class Scalar>
virtual RCP<MatrixFactory<Scalar> > Playa::VectorTypeBase< Scalar >::createMatrixFactory ( const VectorSpace< Scalar > &  domain,
const VectorSpace< Scalar > &  range 
) const [pure virtual]

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

Implemented in Playa::EpetraVectorType, and Playa::SerialVectorType.

template<class Scalar>
virtual RCP<const VectorSpaceBase<Scalar> > Playa::VectorTypeBase< Scalar >::createSpace ( int  dimension,
int  nLocal,
const int *  locallyOwnedIndices,
const MPIComm comm 
) const [pure 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

Implemented in Playa::EpetraVectorType, and Playa::SerialVectorType.

Site Contact