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.