TSF extension of Thyra::EpetraMultiVector, implementing the LoadableMultiVector interface allowing an application to access elements. More...
Public Member Functions | |
| const RCP< Epetra_Vector > & | epetraVec () const |
| RCP< Epetra_Vector > & | epetraVec () |
Handleable interface | |
| EpetraMultiVector (const RCP< const VectorSpaceBase< double > > &vs) | |
| Construct with a smart pointer to an Epetra vector space. | |
| EpetraMultiVector (const RCP< const VectorSpaceBase< double > > &vs, const RCP< Epetra_MultiVector > &vec) | |
| Construct with smart pointers to an Epetra vector space and an existing Epetra vector. | |
IndexableVector interface | |
| virtual const double & | operator[] (OrdType globalIndex) const |
| read the element at the given global index | |
| virtual double & | operator[] (OrdType globalIndex) |
| writable access to the element at the given global index | |
Raw data access interface | |
| virtual const double * | dataPtr () const |
| virtual double * | dataPtr () |
LoadableVector interface | |
| void | setElement (OrdType globalIndex, const double &value) |
| set a single element | |
| void | addToElement (OrdType globalIndex, const double &value) |
| add to a single element | |
| void | setElements (int numElems, const OrdType *globalIndices, const double *values) |
| set a group of elements | |
| void | addToElements (int numElems, const OrdType *globalIndices, const double *values) |
| add to a group of elements | |
| void | finalizeAssembly () |
| Do whatever finalization steps are needed by the implementation, for instance, synchronizing border elements. | |
AccessibleVector interface | |
| const double & | getElement (OrdType globalIndex) const |
| get the element at the given global index | |
| void | getElements (const OrdType *globalIndices, int numElems, vector< double > &elems) const |
Printable interface | |
| void | print (std::ostream &os) const |
| Write to a stream. | |
Static Public Member Functions | |
| static const Epetra_Vector & | getConcrete (const TSFExtended::Vector< double > &tsfVec) |
| Get a read-only Epetra_Vector. | |
| static Epetra_Vector & | getConcrete (TSFExtended::Vector< double > &tsfVec) |
| Get a read-write Epetra_Vector. | |
| static Epetra_Vector * | getConcretePtr (TSFExtended::Vector< double > &tsfVec) |
| Get a read-write Epetra_Vector pointer. | |
Protected Member Functions | |
| const RCP< const Epetra_Map > & | epetraMap () const |
Private Attributes | |
| RCP< Epetra_Vector > | epetraVec_ |
| RCP< const MPIVectorSpaceBase < double > > | mpiVecSpace_ |
| RCP< const Epetra_Map > | epetraMap_ |
TSF extension of Thyra::EpetraMultiVector, implementing the LoadableMultiVector interface allowing an application to access elements.
This class derives from Thyra::EpetraVector, so it can be used seamlessly in any Thyra-based code.
Definition at line 56 of file TSFEpetraMultiVector.hpp.
| TSFExtended::EpetraMultiVector::EpetraMultiVector | ( | const RCP< const VectorSpaceBase< double > > & | vs | ) |
Construct with a smart pointer to an Epetra vector space.
| TSFExtended::EpetraMultiVector::EpetraMultiVector | ( | const RCP< const VectorSpaceBase< double > > & | vs, |
| const RCP< Epetra_MultiVector > & | vec | ||
| ) |
| void TSFExtended::EpetraMultiVector::addToElement | ( | OrdType | globalIndex, |
| const double & | value | ||
| ) | [virtual] |
add to a single element
Reimplemented from TSFExtended::IndexableVector< double >.
| void TSFExtended::EpetraMultiVector::addToElements | ( | int | numElems, |
| const OrdType * | globalIndices, | ||
| const double * | values | ||
| ) |
add to a group of elements
| virtual double* TSFExtended::EpetraMultiVector::dataPtr | ( | ) | [inline, virtual] |
Implements TSFExtended::RawDataAccessibleVector< double >.
Definition at line 88 of file TSFEpetraMultiVector.hpp.
| virtual const double* TSFExtended::EpetraMultiVector::dataPtr | ( | ) | const [inline, virtual] |
Implements TSFExtended::RawDataAccessibleVector< double >.
Definition at line 86 of file TSFEpetraMultiVector.hpp.
| const RCP<const Epetra_Map>& TSFExtended::EpetraMultiVector::epetraMap | ( | ) | const [inline, protected] |
Definition at line 150 of file TSFEpetraMultiVector.hpp.
| RCP<Epetra_Vector>& TSFExtended::EpetraMultiVector::epetraVec | ( | ) | [inline] |
Definition at line 146 of file TSFEpetraMultiVector.hpp.
| const RCP<Epetra_Vector>& TSFExtended::EpetraMultiVector::epetraVec | ( | ) | const [inline] |
Definition at line 143 of file TSFEpetraMultiVector.hpp.
| void TSFExtended::EpetraMultiVector::finalizeAssembly | ( | ) | [virtual] |
Do whatever finalization steps are needed by the implementation, for instance, synchronizing border elements.
The default implementation is a no-op.
Reimplemented from TSFExtended::LoadableVector< double >.
| static const Epetra_Vector& TSFExtended::EpetraMultiVector::getConcrete | ( | const TSFExtended::Vector< double > & | tsfVec | ) | [static] |
Get a read-only Epetra_Vector.
| static Epetra_Vector& TSFExtended::EpetraMultiVector::getConcrete | ( | TSFExtended::Vector< double > & | tsfVec | ) | [static] |
Get a read-write Epetra_Vector.
| static Epetra_Vector* TSFExtended::EpetraMultiVector::getConcretePtr | ( | TSFExtended::Vector< double > & | tsfVec | ) | [static] |
Get a read-write Epetra_Vector pointer.
| const double& TSFExtended::EpetraMultiVector::getElement | ( | OrdType | globalIndex | ) | const [virtual] |
get the element at the given global index
Reimplemented from TSFExtended::IndexableVector< double >.
| void TSFExtended::EpetraMultiVector::getElements | ( | const OrdType * | globalIndices, |
| int | numElems, | ||
| vector< double > & | elems | ||
| ) | const |
| virtual const double& TSFExtended::EpetraMultiVector::operator[] | ( | OrdType | globalIndex | ) | const [inline, virtual] |
read the element at the given global index
Implements TSFExtended::IndexableVector< double >.
Definition at line 76 of file TSFEpetraMultiVector.hpp.
| virtual double& TSFExtended::EpetraMultiVector::operator[] | ( | OrdType | globalIndex | ) | [virtual] |
writable access to the element at the given global index
Implements TSFExtended::IndexableVector< double >.
| void TSFExtended::EpetraMultiVector::print | ( | std::ostream & | os | ) | const [inline, virtual] |
Write to a stream.
Implements Sundance::Printable.
Definition at line 126 of file TSFEpetraMultiVector.hpp.
| void TSFExtended::EpetraMultiVector::setElement | ( | OrdType | globalIndex, |
| const double & | value | ||
| ) | [virtual] |
set a single element
Reimplemented from TSFExtended::IndexableVector< double >.
| void TSFExtended::EpetraMultiVector::setElements | ( | int | numElems, |
| const OrdType * | globalIndices, | ||
| const double * | values | ||
| ) |
set a group of elements
RCP<const Epetra_Map> TSFExtended::EpetraMultiVector::epetraMap_ [private] |
Definition at line 158 of file TSFEpetraMultiVector.hpp.
RCP<Epetra_Vector> TSFExtended::EpetraMultiVector::epetraVec_ [private] |
Definition at line 154 of file TSFEpetraMultiVector.hpp.
RCP<const MPIVectorSpaceBase<double> > TSFExtended::EpetraMultiVector::mpiVecSpace_ [private] |
Definition at line 156 of file TSFEpetraMultiVector.hpp.