EpetraExt::DistArray< T > Class Template Reference

DistArray<T>: A class to store row-oriented multivectors of type T. More...

#include <EpetraExt_DistArray.h>

Inheritance diagram for EpetraExt::DistArray< T >:

[legend]
List of all members.

Constructors and Destructors

 DistArray (const Epetra_Map &Map, const int RowSize)
 Constructor for a given Map and RowSize.

Query methods

int MyLength () const
 Returns the length of the locally owned array.
int GlobalLength () const
 Returns the global length of the array.
int RowSize () const
 Returns the row size, that is, the amount of data associated with each element.
T & operator() (const int LEID, const int ID)
 Returns a reference to the ID component of the LEID local element.
T & operator() (const int GEID, const int ID, const bool isLocal)
void Print (ostream &os) const
 Prints the array on the specified stream.
int NextGID ()
int FirstGID ()
const vector< T > & ExtractView () const
 Extracts a view of the array.
T * Values ()
 Returns a pointer to the internally stored data (non-const version).
const T * Values () const
 Returns a pointer to the internally stored data (const version).

Detailed Description

template<class T>
class EpetraExt::DistArray< T >

DistArray<T>: A class to store row-oriented multivectors of type T.

Class DistArray allows the construction and usage of multivectors. These vectors contain element of type T, and the storage is row-oriented, and not column-oriented as in class Epetra_MultiVector. As such, this class should be used as a container for data, on which no BLAS-like operations are performed.

DistArray objects are indentified by an Epetra_Map and a RowSize. The map specifies the distribution of the elements across the processors and therefore the number of local elements, while the RowSize gives the total number of data assigned to each node. RowSize is constant for all elements.

DistArray is derived from Epetra_DistObject, and it can therefore be redistributed using Import/Export instructions.

The typical usage of this class is as follows:

EpetraExt::DistArray<double> COO(VertexMap, NumDimensions);

// set the value of the j-th dimension of the i-th local node i:
COO(i, j) = 1.24

Author:
Marzio Sala, ETHZ/D-INFK.
Date:
Last updated on Mar-06.

Definition at line 42 of file EpetraExt_DistArray.h.


Constructor & Destructor Documentation

template<class T>
EpetraExt::DistArray< T >::DistArray const Epetra_Map Map,
const int  RowSize
[inline]
 

Constructor for a given Map and RowSize.

Definition at line 48 of file EpetraExt_DistArray.h.


Member Function Documentation

template<class T>
int EpetraExt::DistArray< T >::MyLength  )  const [inline]
 

Returns the length of the locally owned array.

Definition at line 70 of file EpetraExt_DistArray.h.

template<class T>
int EpetraExt::DistArray< T >::GlobalLength  )  const [inline]
 

Returns the global length of the array.

Definition at line 76 of file EpetraExt_DistArray.h.

template<class T>
int EpetraExt::DistArray< T >::RowSize  )  const [inline]
 

Returns the row size, that is, the amount of data associated with each element.

Definition at line 82 of file EpetraExt_DistArray.h.

template<class T>
T& EpetraExt::DistArray< T >::operator() const int  LEID,
const int  ID
[inline]
 

Returns a reference to the ID component of the LEID local element.

Definition at line 88 of file EpetraExt_DistArray.h.

template<class T>
T& EpetraExt::DistArray< T >::operator() const int  GEID,
const int  ID,
const bool  isLocal
[inline]
 

Definition at line 94 of file EpetraExt_DistArray.h.

template<class T>
void EpetraExt::DistArray< T >::Print ostream &  os  )  const [inline, virtual]
 

Prints the array on the specified stream.

Reimplemented from Epetra_DistObject.

Definition at line 103 of file EpetraExt_DistArray.h.

template<class T>
int EpetraExt::DistArray< T >::NextGID  )  [inline]
 

Definition at line 133 of file EpetraExt_DistArray.h.

template<class T>
int EpetraExt::DistArray< T >::FirstGID  )  [inline]
 

Definition at line 142 of file EpetraExt_DistArray.h.

template<class T>
const vector<T>& EpetraExt::DistArray< T >::ExtractView  )  const [inline]
 

Extracts a view of the array.

Definition at line 149 of file EpetraExt_DistArray.h.

template<class T>
T* EpetraExt::DistArray< T >::Values  )  [inline]
 

Returns a pointer to the internally stored data (non-const version).

Definition at line 155 of file EpetraExt_DistArray.h.

template<class T>
const T* EpetraExt::DistArray< T >::Values  )  const [inline]
 

Returns a pointer to the internally stored data (const version).

Definition at line 161 of file EpetraExt_DistArray.h.


The documentation for this class was generated from the following file:
Generated on Thu Sep 18 12:31:47 2008 for EpetraExt by doxygen 1.3.9.1