#include <source/hierarchy/boxes/BoxComm.h>
Static Public Member Functions | |
static void | bcastBox (Box< DIM > &box, const int root=0, tbox::MPI::comm=tbox::MPI::commWorld) |
static void | bcastBoxList (BoxList< DIM > &box_list, const int root=0) |
static void | bcastBoxArray (BoxArray< DIM > &box_array, const int root=0) |
static void | sendBox (const Box< DIM > &box, const int rcvr_id) |
static void | sendBox (const Box< DIM > &box, const tbox::Array< int > &rcvr_id) |
static void | recvBox (Box< DIM > &box, const int sender_id) |
static void | exchangeBoxArraysAndWeightArrays (const BoxArray< DIM > &box_array_in, const tbox::Array< double > &weights_in, BoxArray< DIM > &box_array_out, tbox::Array< double > &weights_out) |
Note that this class is a utility class to group function calls in one name space (all calls are to static functions). Thus, you should never attempt to instantiate a class of type BoxComm<DIM>; simply call the functions as static functions using the BoxComm<DIM>::function(...) syntax.
|
Broadcast a Box from specified root process to all other processors (root's box is treated as const). |
|
Broadcast a BoxList from specified root process to all other processors. Processors other than root do NOT need to know the number of boxes in the list prior to calling, since box_list will be re-sized to the size of root's list (root's list is treated as const). |
|
Broadcast a BoxArray from specified root process to all other processes. Processors other than root do NOT need to know the number of boxes in the array prior to calling, since box_array will be re-sized to the size of root's array (root's array is treated as const). |
|
Send a Box from this processor to another processor. Blocking communications are used. This call must be matched by a call to recvBox, or your code will hang. |
|
Send a Box from this processor to several processors. |
|
Receive a Box from the designated processor (sender_id). Blocking communications are used. This call must be matched by a call to sendBox, or your code will hang. |
|
All-to-all communication of box arrays and associated weights. On invocation, each processor has a (possibly empty) array of 'owned' boxes, and each box has a weight. On return, each processor has a array that contains all boxes owned by all processors, and their associated weights. If all processors input arrays have zero length, an error is thrown. |