

Public Member Functions | |
| splitter (FEM_Mesh *mesh_, const int *elem2chunk_, int nChunks_) | |
| ~splitter () | |
| void | buildCommLists (void) |
| void | addGhosts (const FEM_Partition &partition) |
| void | separateSparse (bool forGhost) |
| void | aboutToCreate (void) |
| FEM_Mesh * | createMesh (int c) |
| void | consistencyCheck (void) |
| splitter (FEM_Mesh *mesh_, const int *elem2chunk_, int nChunks_) | |
| ~splitter () | |
| void | buildCommLists (void) |
| void | addGhosts (const FEM_Partition &partition) |
| void | separateSparse (bool forGhost) |
| void | aboutToCreate (void) |
| FEM_Mesh * | createMesh (int c) |
| void | consistencyCheck (void) |
Private Member Functions | |
| void | renumberNodesLocal (int row, BasicTable2d< int > &table, int chunk, FEM_Symmetries_t sym) |
| Renumber the global node numbers in this row of this table to be local to this chunk, with these symmetries. | |
| void | copySparse (const FEM_Sparse &src, int s, int chunk, FEM_Symmetries_t sym) |
| Copy the global sparse record src[s] into this chunk with these symmetries:. | |
| void | copySparseChunks (const FEM_Sparse &src, int s, bool forGhost) |
| Copy the global sparse record src[s] into all the chunks it belongs in. | |
| void | addStencil (const FEM_Ghost_Stencil &s, const FEM_Partition &partition) |
| Add a ghost stencil: an explicit list of needed ghosts. | |
| void | addLayer (const FEM_Ghost_Layer &g, const FEM_Partition &partition) |
| Add an entire layer of ghost elements. | |
| bool | hasGhostNodes (const int *conn, int nodesPer) |
| Return true if any of these global nodes are ghost nodes. | |
| bool | addTuple (int *dest, FEM_Symmetries_t *destSym, const int *elem2tuple, int nodesPerTuple, const int *conn) const |
| Return an elemList entry if this tuple should be a ghost:. | |
| void | addSymmetryGhost (const elemList &a) |
| Add this ghost, which arrises because of a mirror symmetry condition. | |
| void | addGlobalGhost (int srcType, int srcNum, int destType, int destNum, bool addNodes) |
| Add the real element (srcType,srcNum) as a ghost for use by (destType,destNum). | |
| void | addGhostPair (const elemList &src, const elemList &dest, bool addNodes) |
| Check if src should be added as a ghost on dest's chunk. | |
| int | addGhostElement (int t, int gNo, int srcChunk, int destChunk, FEM_Symmetries_t sym) |
| Add this global element as a ghost between src and dest, or return -1. | |
| int | addGhostNode (int gnNo, int srcChunk, int destChunk, FEM_Symmetries_t sym) |
| Add this global node as a ghost between src and dest, or return -1. | |
| int | addGhostInner (const FEM_Entity &gEnt, int gNo, chunkList &gDest, int srcChunk, FEM_Entity &srcEnt, int destChunk, FEM_Entity &destEnt, FEM_Symmetries_t sym, int isNode, int t) |
| Utility used by addGhostNode and addGhostElement. | |
| void | addElemElems (const FEM_Partition &partition) |
| isaac's element to element adjacency creation | |
| void | buildElemElemData (const FEM_ElemAdj_Layer &g, const FEM_Partition &partition) |
| void | bad (const char *why) |
| void | equal (int is, int should, const char *what) |
| void | range (int value, int lo, int hi, const char *what) |
| void | nonnegative (int value, const char *what) |
| void | renumberNodesLocal (int row, BasicTable2d< int > &table, int chunk, FEM_Symmetries_t sym) |
| Renumber the global node numbers in this row of this table to be local to this chunk, with these symmetries. | |
| void | copySparse (const FEM_Sparse &src, int s, int chunk, FEM_Symmetries_t sym) |
| Copy the global sparse record src[s] into this chunk with these symmetries:. | |
| void | copySparseChunks (const FEM_Sparse &src, int s, bool forGhost) |
| Copy the global sparse record src[s] into all the chunks it belongs in. | |
| void | addStencil (const FEM_Ghost_Stencil &s, const FEM_Partition &partition) |
| Add a ghost stencil: an explicit list of needed ghosts. | |
| void | addLayer (const FEM_Ghost_Layer &g, const FEM_Partition &partition) |
| Add an entire layer of ghost elements. | |
| bool | hasGhostNodes (const int *conn, int nodesPer) |
| Return true if any of these global nodes are ghost nodes. | |
| bool | addTuple (int *dest, FEM_Symmetries_t *destSym, const int *elem2tuple, int nodesPerTuple, const int *conn) const |
| Return an elemList entry if this tuple should be a ghost:. | |
| void | addSymmetryGhost (const elemList &a) |
| Add this ghost, which arrises because of a mirror symmetry condition. | |
| void | addGlobalGhost (int srcType, int srcNum, int destType, int destNum, bool addNodes) |
| Add the real element (srcType,srcNum) as a ghost for use by (destType,destNum). | |
| void | addGhostPair (const elemList &src, const elemList &dest, bool addNodes) |
| Check if src should be added as a ghost on dest's chunk. | |
| int | addGhostElement (int t, int gNo, int srcChunk, int destChunk, FEM_Symmetries_t sym) |
| Add this global element as a ghost between src and dest, or return -1. | |
| int | addGhostNode (int gnNo, int srcChunk, int destChunk, FEM_Symmetries_t sym) |
| Add this global node as a ghost between src and dest, or return -1. | |
| int | addGhostInner (const FEM_Entity &gEnt, int gNo, chunkList &gDest, int srcChunk, FEM_Entity &srcEnt, int destChunk, FEM_Entity &destEnt, FEM_Symmetries_t sym, int isNode, int t) |
| Utility used by addGhostNode and addGhostElement. | |
| void | addElemElems (const FEM_Partition &partition) |
| isaac's element to element adjacency creation | |
| void | buildElemElemData (const FEM_ElemAdj_Layer &g, const FEM_Partition &partition) |
| void | bad (const char *why) |
| void | equal (int is, int should, const char *what) |
| void | range (int value, int lo, int hi, const char *what) |
| void | nonnegative (int value, const char *what) |
Private Attributes | |
| FEM_Mesh * | mesh |
| const int * | elem2chunk |
| int | nChunks |
| FEM_Mesh ** | chunks |
| chunkList * | gNode |
| CkVec< chunkList * > | gElem |
| dynChunk * | dyn |
| FEM_Sparse ** | sparseDest |
| unsigned char * | ghostNode |
| const int * | canon |
| const FEM_Symmetries_t * | sym |
| int | curGhostLayerNo |
| int | totGhostElem |
| int | totGhostNode |
| FEM_Mesh * | mesh |
| const int * | elem2chunk |
| FEM_Mesh ** | chunks |
| chunkList * | gNode |
| CkVec< chunkList * > | gElem |
| dynChunk * | dyn |
| FEM_Sparse ** | sparseDest |
| unsigned char * | ghostNode |
| const int * | canon |
| const FEM_Symmetries_t * | sym |
It build communication lists, ghosts, etc. and copies mesh data.
Definition at line 138 of file map.C.
| splitter::~splitter | ( | ) |
| void splitter::renumberNodesLocal | ( | int | row, | |
| BasicTable2d< int > & | table, | |||
| int | chunk, | |||
| FEM_Symmetries_t | sym | |||
| ) | [inline, private] |
Renumber the global node numbers in this row of this table to be local to this chunk, with these symmetries.
Definition at line 155 of file map.C.
References BasicTable2d< T >::getRow(), and BasicTable2d< T >::width().
Referenced by createMesh().


| void splitter::copySparse | ( | const FEM_Sparse & | src, | |
| int | s, | |||
| int | chunk, | |||
| FEM_Symmetries_t | sym | |||
| ) | [inline, private] |
Return true if any of these global nodes are ghost nodes.
Definition at line 198 of file map.C.
Referenced by addLayer().

| void splitter::addElemElems | ( | const FEM_Partition & | partition | ) | [private] |
| void splitter::buildElemElemData | ( | const FEM_ElemAdj_Layer & | g, | |
| const FEM_Partition & | partition | |||
| ) | [private] |
Definition at line 240 of file map.C.
References bad().
Referenced by consistencyCheck().


Definition at line 247 of file map.C.
References bad().
Referenced by consistencyCheck().


| void splitter::nonnegative | ( | int | value, | |
| const char * | what | |||
| ) | [inline, private] |
| void splitter::renumberNodesLocal | ( | int | row, | |
| BasicTable2d< int > & | table, | |||
| int | chunk, | |||
| FEM_Symmetries_t | sym | |||
| ) | [inline, private] |
Renumber the global node numbers in this row of this table to be local to this chunk, with these symmetries.
Definition at line 162 of file map.C.
References BasicTable2d< T >::getRow(), and BasicTable2d< T >::width().

| void splitter::copySparse | ( | const FEM_Sparse & | src, | |
| int | s, | |||
| int | chunk, | |||
| FEM_Symmetries_t | sym | |||
| ) | [inline, private] |
Copy the global sparse record src[s] into all the chunks it belongs in.
| void splitter::addStencil | ( | const FEM_Ghost_Stencil & | s, | |
| const FEM_Partition & | partition | |||
| ) | [private] |
Add a ghost stencil: an explicit list of needed ghosts.
| void splitter::addLayer | ( | const FEM_Ghost_Layer & | g, | |
| const FEM_Partition & | partition | |||
| ) | [private] |
Add an entire layer of ghost elements.
| bool splitter::addTuple | ( | int * | dest, | |
| FEM_Symmetries_t * | destSym, | |||
| const int * | elem2tuple, | |||
| int | nodesPerTuple, | |||
| const int * | conn | |||
| ) | const [private] |
Return an elemList entry if this tuple should be a ghost:.
| void splitter::addSymmetryGhost | ( | const elemList & | a | ) | [private] |
Add this ghost, which arrises because of a mirror symmetry condition.
| void splitter::addGlobalGhost | ( | int | srcType, | |
| int | srcNum, | |||
| int | destType, | |||
| int | destNum, | |||
| bool | addNodes | |||
| ) | [private] |
Add the real element (srcType,srcNum) as a ghost for use by (destType,destNum).
| void splitter::addGhostPair | ( | const elemList & | src, | |
| const elemList & | dest, | |||
| bool | addNodes | |||
| ) | [private] |
Check if src should be added as a ghost on dest's chunk.
Calls addGhostElement and addGhostNode.
| int splitter::addGhostElement | ( | int | t, | |
| int | gNo, | |||
| int | srcChunk, | |||
| int | destChunk, | |||
| FEM_Symmetries_t | sym | |||
| ) | [private] |
Add this global element as a ghost between src and dest, or return -1.
| int splitter::addGhostNode | ( | int | gnNo, | |
| int | srcChunk, | |||
| int | destChunk, | |||
| FEM_Symmetries_t | sym | |||
| ) | [private] |
Add this global node as a ghost between src and dest, or return -1.
| int splitter::addGhostInner | ( | const FEM_Entity & | gEnt, | |
| int | gNo, | |||
| chunkList & | gDest, | |||
| int | srcChunk, | |||
| FEM_Entity & | srcEnt, | |||
| int | destChunk, | |||
| FEM_Entity & | destEnt, | |||
| FEM_Symmetries_t | sym, | |||
| int | isNode, | |||
| int | t | |||
| ) | [private] |
Utility used by addGhostNode and addGhostElement.
| void splitter::addElemElems | ( | const FEM_Partition & | partition | ) | [private] |
| void splitter::buildElemElemData | ( | const FEM_ElemAdj_Layer & | g, | |
| const FEM_Partition & | partition | |||
| ) | [private] |
| void splitter::nonnegative | ( | int | value, | |
| const char * | what | |||
| ) | [inline, private] |
| void splitter::buildCommLists | ( | void | ) |
| void splitter::addGhosts | ( | const FEM_Partition & | partition | ) |
| void splitter::separateSparse | ( | bool | forGhost | ) |
| void splitter::aboutToCreate | ( | void | ) |
| void splitter::consistencyCheck | ( | void | ) |
FEM_Mesh* splitter::mesh [private] |
Definition at line 140 of file map.C.
Referenced by aboutToCreate(), addGhostElement(), addGhostNode(), addGhostPair(), addGhosts(), addLayer(), addStencil(), buildCommLists(), consistencyCheck(), copySparseChunks(), createMesh(), separateSparse(), splitter(), and ~splitter().
const int* splitter::elem2chunk [private] |
Definition at line 141 of file map.C.
Referenced by buildCommLists(), copySparseChunks(), and FEM_Mesh_split().
int splitter::nChunks [private] |
Definition at line 142 of file map.C.
Referenced by consistencyCheck(), separateSparse(), splitter(), and ~splitter().
FEM_Mesh** splitter::chunks [private] |
Definition at line 144 of file map.C.
Referenced by addGhostElement(), addGhostInner(), addGhostNode(), addGhostPair(), buildCommLists(), createMesh(), separateSparse(), splitter(), and ~splitter().
chunkList* splitter::gNode [private] |
Definition at line 147 of file map.C.
Referenced by addGhostNode(), addGhostPair(), addGhosts(), buildCommLists(), consistencyCheck(), copySparseChunks(), createMesh(), splitter(), and ~splitter().
CkVec<chunkList *> splitter::gElem [private] |
Definition at line 148 of file map.C.
Referenced by aboutToCreate(), addGhostElement(), addGlobalGhost(), addLayer(), buildCommLists(), consistencyCheck(), copySparseChunks(), splitter(), and ~splitter().
dynChunk* splitter::dyn [private] |
Definition at line 149 of file map.C.
Referenced by addGhostPair(), buildCommLists(), consistencyCheck(), createMesh(), splitter(), and ~splitter().
FEM_Sparse** splitter::sparseDest [private] |
unsigned char* splitter::ghostNode [private] |
Definition at line 185 of file map.C.
Referenced by addGhostPair(), addGhosts(), addTuple(), and splitter().
const int* splitter::canon [private] |
Definition at line 186 of file map.C.
Referenced by addGhostPair(), addGhosts(), addTuple(), and splitter().
const FEM_Symmetries_t* splitter::sym [private] |
Definition at line 187 of file map.C.
Referenced by addGhosts(), addTuple(), consistencyCheck(), and copySparseChunks().
int splitter::curGhostLayerNo [private] |
Definition at line 188 of file map.C.
Referenced by addGhostInner(), addGhosts(), and addGlobalGhost().
int splitter::totGhostElem [private] |
int splitter::totGhostNode [private] |
FEM_Mesh* splitter::mesh [private] |
const int* splitter::elem2chunk [private] |
FEM_Mesh** splitter::chunks [private] |
chunkList* splitter::gNode [private] |
CkVec<chunkList *> splitter::gElem [private] |
dynChunk* splitter::dyn [private] |
FEM_Sparse** splitter::sparseDest [private] |
unsigned char* splitter::ghostNode [private] |
const int* splitter::canon [private] |
const FEM_Symmetries_t* splitter::sym [private] |
1.5.5