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...

#include <PlayaVectorType.hpp>

Inheritance diagram for Playa::VectorType< Scalar >:

Playa::Handle< VectorTypeBase< Scalar > >

List of all members.

Public Member Functions

 VectorType ()
 VectorType (Playa::Handleable< VectorTypeBase< Scalar > > *rawPtr)
 VectorType (const Teuchos::RCP< 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 21 of file PlayaVectorType.hpp.


Constructor & Destructor Documentation

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

Empty ctor

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

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

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

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


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 77 of file PlayaVectorType.hpp.

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:
dimension the dimension of the space
nLocal number of indices owned by the local processor
locallyOwnedIndices array of indices owned by this processor
comm the MPI communicator over which the space is to be distributed.

Definition at line 68 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 86 of file PlayaVectorType.hpp.

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 95 of file PlayaVectorType.hpp.


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

doxygen