Public Member Functions
Playa::VectorType< Scalar > Class Template Reference

Vector type objects are used by the application code to create vector spaces and operators of a given type. More...

Inheritance diagram for Playa::VectorType< Scalar >:
Playa::Handle< VectorTypeBase< Scalar > >

List of all members.

Public Member Functions

 VectorType ()
 VectorType (Handleable< VectorTypeBase< Scalar > > *rawPtr)
 VectorType (const RefCountPtr< VectorTypeBase< Scalar > > &smartPtr)
VectorSpace< Scalar > createEvenlyPartitionedSpace (const MPIComm &comm, int nLocal) const
 Create a vector space having nLocal elements on each processor of the specified communicator.
VectorSpace< Scalar > createSpace (int dimension, int nLocal, const int *locallyOwnedIndices, const MPIComm &comm) const
 Create a distributed vector space with an arbitrary user-specified distribution of elements.
RCP< GhostImporter< Scalar > > createGhostImporter (const VectorSpace< Scalar > &space, int nGhost, const int *ghostIndices) const
 Create an importer for ghost (off-processor) elements.
virtual RCP< MatrixFactory
< Scalar > > 
createMatrixFactory (const VectorSpace< Scalar > &domain, const VectorSpace< Scalar > &range) const
 Create a matrix factory of type compatible with this vector type, sized according to the given domain and range spaces.

Detailed Description

template<class Scalar>
class Playa::VectorType< Scalar >

Vector type objects are used by the application code to create vector spaces and operators of a given type.

Definition at line 58 of file PlayaVectorType.hpp.


Constructor & Destructor Documentation

template<class Scalar>
Playa::VectorType< Scalar >::VectorType ( ) [inline]

Empty ctor

Definition at line 61 of file PlayaVectorType.hpp.

template<class Scalar>
Playa::VectorType< Scalar >::VectorType ( Handleable< VectorTypeBase< Scalar > > *  rawPtr) [inline]

Construct a VectorType<Scalar> with a raw pointer to a VectorTypeBase<Scalar>

Definition at line 61 of file PlayaVectorType.hpp.

template<class Scalar>
Playa::VectorType< Scalar >::VectorType ( const RefCountPtr< VectorTypeBase< Scalar > > &  smartPtr) [inline]

Construct a VectorType<Scalar> with a smart pointer to a VectorTypeBase<Scalar>

Definition at line 61 of file PlayaVectorType.hpp.


Member Function Documentation

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

Create a vector space having nLocal elements on each processor of the specified communicator.

Definition at line 114 of file PlayaVectorType.hpp.

template<class Scalar>
RCP< GhostImporter< Scalar > > Playa::VectorType< Scalar >::createGhostImporter ( const VectorSpace< Scalar > &  space,
int  nGhost,
const int *  ghostIndices 
) const [inline]

Create an importer for ghost (off-processor) elements.

Definition at line 123 of file PlayaVectorType.hpp.

Referenced by Sundance::DiscreteSpace::initImporter(), and Playa::PoissonBoltzmannOp::PoissonBoltzmannOp().

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

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

Definition at line 132 of file PlayaVectorType.hpp.

Referenced by Playa::HeatOperator1D::HeatOperator1D(), Playa::MatrixLaplacian1D::init(), Playa::MassMatrix1D::init(), and Playa::PoissonBoltzmannJacobian::setEvalPoint().

template<class Scalar >
VectorSpace< Scalar > Playa::VectorType< Scalar >::createSpace ( int  dimension,
int  nLocal,
const int *  locallyOwnedIndices,
const MPIComm comm 
) const [inline]

Create a distributed vector space with an arbitrary user-specified distribution of elements.

Parameters:
dimensionthe dimension of the space
nLocalnumber of indices owned by the local processor
locallyOwnedIndicesarray of indices owned by this processor
commthe MPI communicator over which the space is to be distributed.

Definition at line 105 of file PlayaVectorType.hpp.

Referenced by Sundance::DiscreteSpace::initVectorSpace().

Site Contact