MFEM  v3.1
Finite element discretization library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Classes | Public Member Functions | Static Public Member Functions | List of all members
mfem::GroupCommunicator Class Reference

#include <communication.hpp>

Classes

struct  OpData
 

Public Member Functions

 GroupCommunicator (GroupTopology &gt)
 
void Create (Array< int > &ldof_group)
 
TableGroupLDofTable ()
 
void Finalize ()
 Allocate internal buffers after the GroupLDofTable is defined. More...
 
GroupTopologyGetGroupTopology ()
 Get a reference to the group topology object. More...
 
template<class T >
void Bcast (T *ldata)
 
template<class T >
void Bcast (Array< T > &ldata)
 
template<class T >
void Reduce (T *ldata, void(*Op)(OpData< T >))
 
template<class T >
void Reduce (Array< T > &ldata, void(*Op)(OpData< T >))
 
 ~GroupCommunicator ()
 

Static Public Member Functions

template<class T >
static void Sum (OpData< T >)
 Reduce operation Sum, instantiated for int and double. More...
 
template<class T >
static void Min (OpData< T >)
 Reduce operation Min, instantiated for int and double. More...
 
template<class T >
static void Max (OpData< T >)
 Reduce operation Max, instantiated for int and double. More...
 
template<class T >
static void BitOR (OpData< T >)
 Reduce operation bitwise OR, instantiated for int only. More...
 

Detailed Description

Definition at line 78 of file communication.hpp.

Constructor & Destructor Documentation

mfem::GroupCommunicator::GroupCommunicator ( GroupTopology gt)

Definition at line 195 of file communication.cpp.

mfem::GroupCommunicator::~GroupCommunicator ( )

Definition at line 500 of file communication.cpp.

Member Function Documentation

template<class T >
void mfem::GroupCommunicator::Bcast ( T *  ldata)

Broadcast within each group where the master is the root. This method is instantiated for int and double.

Definition at line 255 of file communication.cpp.

template<class T >
void mfem::GroupCommunicator::Bcast ( Array< T > &  ldata)
inline

Definition at line 109 of file communication.hpp.

template<class T >
template void mfem::GroupCommunicator::BitOR< int > ( OpData< T >  )
static

Reduce operation bitwise OR, instantiated for int only.

Definition at line 487 of file communication.cpp.

void mfem::GroupCommunicator::Create ( Array< int > &  ldof_group)

Initialize the communicator from a local-dof to group map. Finalize is called internally.

Definition at line 203 of file communication.cpp.

void mfem::GroupCommunicator::Finalize ( )

Allocate internal buffers after the GroupLDofTable is defined.

Definition at line 229 of file communication.cpp.

GroupTopology& mfem::GroupCommunicator::GetGroupTopology ( )
inline

Get a reference to the group topology object.

Definition at line 104 of file communication.hpp.

Table& mfem::GroupCommunicator::GroupLDofTable ( )
inline

Fill-in the returned Table reference to initialize the communicator then call Finalize.

Definition at line 99 of file communication.hpp.

template<class T >
template void mfem::GroupCommunicator::Max< double > ( OpData< T >  )
static

Reduce operation Max, instantiated for int and double.

Definition at line 469 of file communication.cpp.

template<class T >
template void mfem::GroupCommunicator::Min< double > ( OpData< T >  )
static

Reduce operation Min, instantiated for int and double.

Definition at line 451 of file communication.cpp.

template<class T >
void mfem::GroupCommunicator::Reduce ( T *  ldata,
void(*)(OpData< T >)  Op 
)

Reduce within each group where the master is the root. The reduce operation is given by the second argument (see below for list of the supported operations.) This method is instantiated for int and double.

Definition at line 344 of file communication.cpp.

template<class T >
void mfem::GroupCommunicator::Reduce ( Array< T > &  ldata,
void(*)(OpData< T >)  Op 
)
inline

Definition at line 124 of file communication.hpp.

template<class T >
template void mfem::GroupCommunicator::Sum< double > ( OpData< T >  )
static

Reduce operation Sum, instantiated for int and double.

Definition at line 437 of file communication.cpp.


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