#include <idxl_comm.h>
Public Member Functions | |
IDXL_List () | |
IDXL_List (int otherchunk) | |
~IDXL_List () | |
int | getDest (void) const |
int | size (void) const |
int & | operator[] (int idx) |
int | operator[] (int idx) const |
const int * | getVec (void) const |
bool | lockIdxl () |
void | unlockIdxl () |
bool | isLocked () |
int | push_back (int localIdx) |
We share this local index with this other chunk. | |
bool | set (int localIdx, int sharedIdx) |
bool | unset (int sharedIdx) |
int | exists (int localIdx) |
int | get (int sharedIdx) |
void | pup (PUP::er &p) |
void | sort2d (double *coord) |
void | sort3d (double *coord) |
Private Attributes | |
int | chunk |
CkVec< int > | shared |
bool | lock |
This list is used to build outgoing and interpret incoming messages-- for an outgoing message, the listed entities are copied into the message; for an incoming message, the listed entities are copied out of the message.
Definition at line 82 of file idxl_comm.h.
IDXL_List::IDXL_List | ( | ) |
IDXL_List::IDXL_List | ( | int | otherchunk | ) |
IDXL_List::~IDXL_List | ( | ) |
Definition at line 78 of file idxl_comm.C.
int IDXL_List::getDest | ( | void | ) | const [inline] |
Definition at line 90 of file idxl_comm.h.
Referenced by FEM_chunk::exchangeGhostLists(), FEMchunk::exchangeGhostLists(), FEM_readMesh(), FEM_MUtil::IdxlListTest(), makeGhosts(), ParFUM_generateGlobalNodeNumbers(), IDXL_Comm::post(), and IDXL_Side::print().
int IDXL_List::size | ( | void | ) | const [inline] |
Definition at line 91 of file idxl_comm.h.
References shared, and CkVec< T >::size().
Referenced by FEM_MUtil::exists_in_IDXL(), FEM_add_element(), FEM_readMesh(), FEM_remove_element(), get(), BulkAdapt::get_idxl_for_node(), BulkAdapt::get_node_from_idxl(), FEM_MUtil::IdxlListTest(), BulkAdapt::is_node_in_idxl(), listContains(), FEM_MUtil::lookup_in_IDXL(), makeGhosts(), ParFUM_generateGlobalNodeNumbers(), IDXL_Comm::post(), IDXL_Side::print(), set(), sharedWith(), FEM_MUtil::splitEntityAll(), unset(), FEM_MUtil::verifyIdxlListRemote(), and IDXL_Comm::wait().
const int* IDXL_List::getVec | ( | void | ) | const [inline] |
Definition at line 94 of file idxl_comm.h.
References shared.
Referenced by IDXL_Comm::post(), and IDXL_Comm::wait().
bool IDXL_List::lockIdxl | ( | ) |
Definition at line 80 of file idxl_comm.C.
References lock.
Referenced by ParFUMShadowArray::lockSharedIdxls().
void IDXL_List::unlockIdxl | ( | ) |
Definition at line 88 of file idxl_comm.C.
References lock.
Referenced by ParFUMShadowArray::lockSharedIdxls(), and ParFUMShadowArray::unlockSharedIdxls().
bool IDXL_List::isLocked | ( | ) |
Definition at line 92 of file idxl_comm.C.
References lock.
Referenced by ParFUMShadowArray::lockSharedIdxls(), and ParFUMShadowArray::unlockSharedIdxls().
We share this local index with this other chunk.
Definition at line 96 of file idxl_comm.C.
References CkVec< T >::push_back(), shared, and CkVec< T >::size().
Referenced by IDXL_Side::add(), addIDXLists(), IDXL_Side::addNode(), BulkAdapt::make_node_shared(), makeGhost(), and ParFUM_recreateSharedNodes().
Definition at line 102 of file idxl_comm.C.
References CkVec< T >::push_back(), shared, CkVec< T >::size(), and size().
Referenced by IDXL_Side::setNode().
Definition at line 117 of file idxl_comm.C.
References shared, CkVec< T >::size(), and size().
Referenced by IDXL_Side::unsetNode().
Definition at line 124 of file idxl_comm.C.
References shared, and CkVec< T >::size().
Referenced by IDXL_Side::existsNode().
Definition at line 131 of file idxl_comm.C.
References shared, CkVec< T >::size(), and size().
Referenced by IDXL_Side::getNode().
void IDXL_List::pup | ( | PUP::er & | p | ) |
void IDXL_List::sort2d | ( | double * | coord | ) |
if the 2 points are equidistant from the origin, sort by x
Definition at line 150 of file idxl_comm.C.
References doubleeq(), shared, and CkVec< T >::size().
Referenced by IDXL_Side::sort2d().
void IDXL_List::sort3d | ( | double * | coord | ) |
if the 2 points are equidistant from the origin, sort by x and then by y
Definition at line 188 of file idxl_comm.C.
References doubleeq(), shared, and CkVec< T >::size().
Referenced by IDXL_Side::sort3d().
int IDXL_List::chunk [private] |
Definition at line 83 of file idxl_comm.h.
CkVec<int> IDXL_List::shared [private] |
Definition at line 84 of file idxl_comm.h.
Referenced by exists(), get(), getVec(), operator[](), pup(), push_back(), set(), size(), sort2d(), sort3d(), and unset().
bool IDXL_List::lock [private] |
Definition at line 85 of file idxl_comm.h.
Referenced by IDXL_List(), isLocked(), lockIdxl(), and unlockIdxl().