Main Page | Namespace List | Class Hierarchy | Data Structures | Directories | File List | Data Fields | Globals

communicator< T, S > Class Template Reference

#include <communicator.h>


Public Member Functions

void collect (S &_t)
void collect (vector< S > &_t)
void distribute (vector< S > &_x)
void distribute (packed_vector< S > &_x)
void accumulate (vector< S > &_x)
void accumulate (packed_vector< S > &_x)
 communicator (const vector< T > &_gnod)

Private Attributes

vector< T > _rpos
vector< S > _rsca
vector< T > _rcom
vector< T > _rcnt
vector< T > _rdsp
vector< S > _rvec
vector< S > _svec
vector< S > _rcol


Detailed Description

template<class T, class S>
class communicator< T, S >

The communicator class provides all communication functions for the parallel toolbox.
Author:
Manfred Liebmann


Constructor & Destructor Documentation

template<class T, class S>
communicator< T, S >::communicator const vector< T > &  _gnod  )  [inline]
 

The constructor calculates the communication data structures from a vector of global node numbers.

Parameters:
_gnod Input: Vector of global node numbers.


Member Function Documentation

template<class T, class S>
void communicator< T, S >::accumulate packed_vector< S > &  _x  )  [inline]
 

The accumulate procedure converts a distributed packed_vector to an accumulated packed_vector.

Parameters:
_x Input: Distributed packed_vector, Output: Accumulated packed_vector.

template<class T, class S>
void communicator< T, S >::accumulate vector< S > &  _x  )  [inline]
 

The accumulate procedure converts a distributed vector to an accumulated vector.

Parameters:
_x Input: Distributed vector, Output: Accumulated vector.

template<class T, class S>
void communicator< T, S >::collect vector< S > &  _t  )  [inline]
 

The collect procedure calculates the global sum of all input vectors.

Parameters:
_t Input: Numerical vector, Output: Sum of all input vectors.

template<class T, class S>
void communicator< T, S >::collect S &  _t  )  [inline]
 

The collect procedure calculates the global sum of all input values.

Parameters:
_t Input: Numerical value, Output: Sum of all input values.

template<class T, class S>
void communicator< T, S >::distribute packed_vector< S > &  _x  )  [inline]
 

The distribute procedure converts an accumulated packed_vector to a distributed packed_vector.

Parameters:
_x Input: Accumulated packed_vector, Output: Distributed packed_vector.

template<class T, class S>
void communicator< T, S >::distribute vector< S > &  _x  )  [inline]
 

The distribute procedure converts an accumulated vector to a distributed vector.

Parameters:
_x Input: Accumulated vector, Output: Distributed vector.


Field Documentation

template<class T, class S>
vector<T> communicator< T, S >::_rcnt [private]
 

Vector of shared node counts for the accumulate procedure

template<class T, class S>
vector<S> communicator< T, S >::_rcol [private]
 

Receive buffer for the collect procedure

template<class T, class S>
vector<T> communicator< T, S >::_rcom [private]
 

Vector of all shared local nodes ordered by processor for the accumulate procedure

template<class T, class S>
vector<T> communicator< T, S >::_rdsp [private]
 

Vector of shared node displacements for the accumulate procedure.

template<class T, class S>
vector<T> communicator< T, S >::_rpos [private]
 

Vector of ordered local node numbers for the distribute procedure

template<class T, class S>
vector<S> communicator< T, S >::_rsca [private]
 

Vector of the reciprocal multiplicity for the distribute procedure

template<class T, class S>
vector<S> communicator< T, S >::_rvec [private]
 

Receive buffer for the accumulate procedure

template<class T, class S>
vector<S> communicator< T, S >::_svec [private]
 

Send buffer for the accumulate procedure


The documentation for this class was generated from the following file:
Generated on Wed Apr 26 17:41:45 2006 for Parallel Toolbox by  doxygen 1.4.2