MFEM  v3.2
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 107 of file communication.hpp.

Constructor & Destructor Documentation

mfem::GroupCommunicator::GroupCommunicator ( GroupTopology gt)

Definition at line 203 of file communication.cpp.

mfem::GroupCommunicator::~GroupCommunicator ( )

Definition at line 508 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 263 of file communication.cpp.

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

Definition at line 134 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 495 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 211 of file communication.cpp.

void mfem::GroupCommunicator::Finalize ( )

Allocate internal buffers after the GroupLDofTable is defined.

Definition at line 237 of file communication.cpp.

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

Get a reference to the group topology object.

Definition at line 129 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 124 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 477 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 459 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 352 of file communication.cpp.

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

Definition at line 149 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 445 of file communication.cpp.


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