Public Member Functions | Static Public Member Functions | Private Attributes
Playa::EpetraVector Class Reference
Inheritance diagram for Playa::EpetraVector:
Playa::SingleChunkVector< double > Playa::LoadableVector< double > Playa::Printable Playa::VectorBase< double >

List of all members.

Public Member Functions

 EpetraVector (const VectorSpace< double > &vs)
 EpetraVector (const VectorSpace< double > &vs, const RCP< Epetra_Vector > &vec)
const RCP< Epetra_Vector > & epetraVec () const
RCP< Epetra_Vector > & epetraVec ()
virtual void update (const double &alpha, const VectorBase< double > *other, const double &gamma)
virtual void update (const double &alpha, const VectorBase< double > *x, const double &beta, const VectorBase< double > *y, const double &gamma)
virtual double dot (const VectorBase< double > *other) const
virtual double norm2 () const
VectorBase interface
RCP< const VectorSpaceBase
< double > > 
space () const
IndexableVector interface
virtual const double & operator[] (int globalIndex) const
virtual double & operator[] (int globalIndex)
LoadableVector interface
void setElement (int globalIndex, const double &value)
void addToElement (int globalIndex, const double &value)
void setElements (int numElems, const int *globalIndices, const double *values)
void addToElements (int numElems, const int *globalIndices, const double *values)
void finalizeAssembly ()
AccessibleVector interface
const double & getElement (int globalIndex) const
void getElements (const int *globalIndices, int numElems, Teuchos::Array< double > &elems) const
Printable interface
void print (std::ostream &os) const

Static Public Member Functions

static const Epetra_Vector & getConcrete (const Playa::Vector< double > &tsfVec)
static Epetra_Vector & getConcrete (Playa::Vector< double > &tsfVec)
static Epetra_Vector * getConcretePtr (Playa::Vector< double > &tsfVec)

Protected Member Functions

Single chunk data access interface
virtual const double * dataPtr () const
virtual double * dataPtr ()
virtual int chunkSize () const

Private Attributes

VectorSpace< double > vecSpace_
RCP< Epetra_Vector > epetraVec_
int numLocalElements_

Detailed Description

Playa::VectorBase wrapper for Epetra_Vector

Definition at line 61 of file PlayaEpetraVector.hpp.


Constructor & Destructor Documentation

EpetraVector::EpetraVector ( const VectorSpace< double > &  vs)

Construct with an Epetra vector space.

Definition at line 54 of file PlayaEpetraVector.cpp.

References Playa::EpetraVectorSpace::epetraMap(), epetraVec_, and Playa::Handle< PointerType >::ptr().

EpetraVector::EpetraVector ( const VectorSpace< double > &  vs,
const RCP< Epetra_Vector > &  vec 
)

Construct with an Epetra vector space and an existing Epetra vector.

Definition at line 72 of file PlayaEpetraVector.cpp.

References Playa::Handle< PointerType >::ptr().


Member Function Documentation

void EpetraVector::addToElement ( int  globalIndex,
const double &  value 
) [virtual]

add to a single element

Implements Playa::LoadableVector< double >.

Definition at line 103 of file PlayaEpetraVector.cpp.

References epetraVec().

void EpetraVector::addToElements ( int  numElems,
const int *  globalIndices,
const double *  values 
) [virtual]

add to a group of elements

Reimplemented from Playa::LoadableVector< double >.

Definition at line 139 of file PlayaEpetraVector.cpp.

References epetraVec().

virtual int Playa::EpetraVector::chunkSize ( ) const [inline, protected, virtual]

Size of the (single) chunk of data values

Implements Playa::SingleChunkVector< double >.

Definition at line 172 of file PlayaEpetraVector.hpp.

References numLocalElements_.

virtual const double* Playa::EpetraVector::dataPtr ( ) const [inline, protected, virtual]

Implements Playa::SingleChunkVector< double >.

Definition at line 167 of file PlayaEpetraVector.hpp.

References epetraVec_.

virtual double* Playa::EpetraVector::dataPtr ( ) [inline, protected, virtual]

Implements Playa::SingleChunkVector< double >.

Definition at line 169 of file PlayaEpetraVector.hpp.

References epetraVec_.

double EpetraVector::dot ( const VectorBase< double > *  other) const [virtual]

Reimplemented from Playa::SingleChunkVector< double >.

Definition at line 218 of file PlayaEpetraVector.cpp.

References epetraVec_.

const RCP<Epetra_Vector>& Playa::EpetraVector::epetraVec ( ) const [inline]
RCP<Epetra_Vector>& Playa::EpetraVector::epetraVec ( ) [inline]

Definition at line 136 of file PlayaEpetraVector.hpp.

References epetraVec_.

void EpetraVector::finalizeAssembly ( ) [virtual]

Reimplemented from Playa::LoadableVector< double >.

Definition at line 148 of file PlayaEpetraVector.cpp.

References epetraVec().

const Epetra_Vector & EpetraVector::getConcrete ( const Playa::Vector< double > &  tsfVec) [static]
Epetra_Vector & EpetraVector::getConcrete ( Playa::Vector< double > &  tsfVec) [static]

Get a read-write Epetra_Vector

Definition at line 171 of file PlayaEpetraVector.cpp.

References epetraVec(), and Playa::Handle< PointerType >::ptr().

Epetra_Vector * EpetraVector::getConcretePtr ( Playa::Vector< double > &  tsfVec) [static]

Get a read-write Epetra_Vector pointer

Definition at line 182 of file PlayaEpetraVector.cpp.

References epetraVec(), and Playa::Handle< PointerType >::ptr().

Referenced by Playa::getEpetraDiagonal(), Playa::AmesosSolver::solve(), and Playa::AztecSolver::solve().

const double & EpetraVector::getElement ( int  globalIndex) const

Definition at line 111 of file PlayaEpetraVector.cpp.

References epetraVec().

Referenced by operator[]().

void EpetraVector::getElements ( const int *  globalIndices,
int  numElems,
Teuchos::Array< double > &  elems 
) const

Definition at line 117 of file PlayaEpetraVector.cpp.

References epetraVec().

double EpetraVector::norm2 ( ) const [virtual]

Reimplemented from Playa::SingleChunkVector< double >.

Definition at line 228 of file PlayaEpetraVector.cpp.

References epetraVec_.

virtual const double& Playa::EpetraVector::operator[] ( int  globalIndex) const [inline, virtual]

read the element at the given global index

Reimplemented from Playa::SingleChunkVector< double >.

Definition at line 86 of file PlayaEpetraVector.hpp.

References getElement().

double & EpetraVector::operator[] ( int  globalIndex) [virtual]

writable access to the element at the given global index

Reimplemented from Playa::SingleChunkVector< double >.

Definition at line 90 of file PlayaEpetraVector.cpp.

References epetraVec().

void EpetraVector::print ( std::ostream &  os) const [virtual]

Print to a stream

Implements Playa::Printable.

Definition at line 155 of file PlayaEpetraVector.cpp.

References epetraVec().

void EpetraVector::setElement ( int  globalIndex,
const double &  value 
) [virtual]

set a single element

Implements Playa::LoadableVector< double >.

Definition at line 96 of file PlayaEpetraVector.cpp.

References epetraVec().

void EpetraVector::setElements ( int  numElems,
const int *  globalIndices,
const double *  values 
) [virtual]

set a group of elements

Reimplemented from Playa::LoadableVector< double >.

Definition at line 130 of file PlayaEpetraVector.cpp.

References epetraVec().

RCP< const VectorSpaceBase<double> > Playa::EpetraVector::space ( ) const [inline, virtual]

Return the space in which this vector lives

Implements Playa::VectorBase< double >.

Definition at line 80 of file PlayaEpetraVector.hpp.

References Playa::Handle< PointerType >::ptr(), and vecSpace_.

void EpetraVector::update ( const double &  alpha,
const VectorBase< double > *  other,
const double &  gamma 
) [virtual]

Reimplemented from Playa::SingleChunkVector< double >.

Definition at line 193 of file PlayaEpetraVector.cpp.

References epetraVec_.

void EpetraVector::update ( const double &  alpha,
const VectorBase< double > *  x,
const double &  beta,
const VectorBase< double > *  y,
const double &  gamma 
) [virtual]

Reimplemented from Playa::SingleChunkVector< double >.

Definition at line 203 of file PlayaEpetraVector.cpp.

References epetraVec_.


Member Data Documentation

RCP<Epetra_Vector> Playa::EpetraVector::epetraVec_ [private]

Definition at line 179 of file PlayaEpetraVector.hpp.

Referenced by dataPtr(), dot(), epetraVec(), EpetraVector(), norm2(), and update().

Definition at line 181 of file PlayaEpetraVector.hpp.

Referenced by chunkSize().

Definition at line 177 of file PlayaEpetraVector.hpp.

Referenced by space().

Site Contact