

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(), nodes, and BasicTable2d< T >::width().
Referenced by createMesh().
| 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 this chunk with these symmetries:.
Definition at line 168 of file map.C.
References dest.
Referenced by copySparseChunks().
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] |
| 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(), nodes, 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