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 |
Definition at line 22 of file PlayaVectorTypeBase.hpp.
virtual Playa::VectorTypeBase< Scalar >::~VectorTypeBase | ( | ) | [inline, virtual] |
Virtual dtor
Definition at line 26 of file PlayaVectorTypeBase.hpp.
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().
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. |
Implemented in Playa::EpetraVectorType, and Playa::SerialVectorType.
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.
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.