#include <source/hierarchy/boxes/BoxComm.h>
Static Public Member Functions | |
static void | bcastBox (Box< DIM > &box, const int root=0, tbox::SAMRAI_MPI::comm=tbox::SAMRAI_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.
void SAMRAI::hier::BoxComm< DIM >::bcastBox | ( | Box< DIM > & | box, | |
const int | root = 0 , |
|||
tbox::SAMRAI_MPI::comm | = tbox::SAMRAI_MPI::commWorld | |||
) | [static] |
Broadcast a Box from specified root process to all other processors (root's box is treated as const).
void SAMRAI::hier::BoxComm< DIM >::bcastBoxList | ( | BoxList< DIM > & | box_list, | |
const int | root = 0 | |||
) | [static] |
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).
void SAMRAI::hier::BoxComm< DIM >::bcastBoxArray | ( | BoxArray< DIM > & | box_array, | |
const int | root = 0 | |||
) | [static] |
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).
void SAMRAI::hier::BoxComm< DIM >::sendBox | ( | const Box< DIM > & | box, | |
const int | rcvr_id | |||
) | [static] |
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.
void SAMRAI::hier::BoxComm< DIM >::sendBox | ( | const Box< DIM > & | box, | |
const tbox::Array< int > & | rcvr_id | |||
) | [static] |
Send a Box from this processor to several processors.
void SAMRAI::hier::BoxComm< DIM >::recvBox | ( | Box< DIM > & | box, | |
const int | sender_id | |||
) | [static] |
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.
void SAMRAI::hier::BoxComm< DIM >::exchangeBoxArraysAndWeightArrays | ( | const BoxArray< DIM > & | box_array_in, | |
const tbox::Array< double > & | weights_in, | |||
BoxArray< DIM > & | box_array_out, | |||
tbox::Array< double > & | weights_out | |||
) | [static] |
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.