Go to the source code of this file.
Functions | |
void | addSharedNodeData (int node, const IDXL_Rec *sharedChunkList, adjNode *adaptAdjTable) |
void | addElementNodeSetData (const int elem, const int *conn, const int nodesPerElem, const int numFaces, const int numEdges, const int faceSize, const int faceMap[MAX_ADJELEMS][MAX_FACE_SIZE], const int edgeMap[MAX_EDGES][2], adjNode *faceTable, adjNode *edgeTable) |
adjElem * | searchAdjElemInList (adjElem *adjStart, int *searchForNodeSet, int nodeSetSize, int searchForElemID, int *found) |
void | CreateAdaptAdjacencies (int meshid, int elemType) |
Create Adaptivity Adjacencies for elemType; dimension inferred. | |
void | fillLocalAdaptAdjacencies (const int numNodes, FEM_Node *node, adjNode *faceTable, adjNode *edgeTable, const int faceMapSize, const int edgeMapSize, adaptAdj *adaptFaceAdjacencies, CkVec< adaptAdj > **adaptEdgeAdjacencies, const int myRank, const int elemType) |
void | makeAdjacencyRequests (const int numNodes, FEM_Node *node, adjNode *adaptAdjTable, MSA1DREQLIST::Accum &requestTable, const int nodeSetSize, const int myRank, const int elemType) |
void | replyAdjacencyRequests (CkVec< adjRequest > *receivedRequestVec, MSA1DREPLYLIST::Accum &replyTable, FEM_Node *node, adjNode *adaptAdjTable, adaptAdj *adaptFaceAdjacencies, CkVec< adaptAdj > **adaptEdgeAdjacencies, const int nodeSetSize, const int numAdjElems, const int myRank, const int elemType, bool isEdgeRequest) |
void | findNodeSet (int meshid, int elemType, int *faceSize, int *faceMapSize, int *edgeMapSize, int nodeSetMap[MAX_ADJELEMS][MAX_NODESET_SIZE], int edgeMap[MAX_EDGES][2]) |
void | getAndDumpAdaptAdjacencies (const int meshid, const int numElems, const int elemType, const int myRank) |
adaptAdj * | lookupAdaptAdjacencies (const FEM_Mesh *const mesh, const int elemType, int *numAdjacencies) |
adaptAdj * | lookupAdaptAdjacencies (const int meshid, const int elemType, int *numAdjacencies) |
CkVec< adaptAdj > ** | lookupEdgeAdaptAdjacencies (const FEM_Mesh *const mesh, const int elemType, int *numAdjacencies) |
CkVec< adaptAdj > ** | lookupEdgeAdaptAdjacencies (const int meshID, const int elemType, int *numAdjacencies) |
adaptAdj * | getAdaptAdj (const int meshID, const int localID, const int elemType, const int faceID) |
Look up elemID in elemType array, access edgeFaceID-th adaptAdj. | |
adaptAdj * | getAdaptAdj (const FEM_Mesh *const meshPtr, const int localID, const int elemType, const int faceID) |
CkVec< adaptAdj > * | getEdgeAdaptAdj (const int meshID, const int localID, const int elemType, const int edgeID) |
CkVec< adaptAdj > * | getEdgeAdaptAdj (const FEM_Mesh *const meshPtr, const int localID, const int elemType, const int edgeID) |
adaptAdj * | getAdaptAdj (const int meshID, const int localID, const int elemType, const int *const vertexList) |
Look up elemID in elemType array, calculate edgeFaceID from vertexList (with GetEdgeFace below), and access edgeFaceID-th adaptAdj with GetAdaptAdj above. | |
CkVec< adaptAdj > * | getEdgeAdaptAdj (const int meshID, const int localID, const int elemType, const int *const vertexList) |
adaptAdj * | getFaceAdaptAdj (const int meshID, const int localID, const int elemType, const int *const vertexList) |
adaptAdj * | getFaceAdaptAdj (const int meshID, const int localID, const int elemType, const int faceID) |
adaptAdj * | getFaceAdaptAdj (const FEM_Mesh *const meshPtr, const int localID, const int elemType, const int faceID) |
void | clearEdgeAdjacency (const FEM_Mesh *const meshPtr, const int localID, const int elemType, const int edgeID) |
Remove all neighbors on the specified edge. | |
void | clearEdgeAdjacency (const int meshID, const int localID, const int elemType, const int edgeID) |
void | addEdgeAdjacency (const FEM_Mesh *const meshPtr, const int localID, const int elemType, const int edgeID, const adaptAdj adj) |
Add a new adjacency on the specified edge. | |
void | addEdgeAdjacency (const int meshID, const int localID, const int elemType, const int edgeID, const adaptAdj adj) |
int | getElemFace (const int meshID, const int type, const int *vertexList) |
Look up elemID in elemType array and determine the edge or face ID specified by the set of vertices in vertexList. | |
int | getElemEdge (const int meshID, const int type, const int *vertexList) |
void | setAdaptAdj (const int meshID, const adaptAdj elem, const int faceID, const adaptAdj nbr) |
Look up elemID in elemType array and set the adjacency on edgeFaceID to nbr. | |
void | setAdaptAdj (const FEM_Mesh *meshPtr, const adaptAdj elem, const int faceID, const adaptAdj nbr) |
void | addToAdaptAdj (const int meshid, const adaptAdj elem, const int edgeID, const adaptAdj nbr) |
3D: Look up elemID in elemType array and add nbr to the adjacency on edgeID. | |
void | addToAdaptAdj (const FEM_Mesh *meshPtr, const adaptAdj elem, const int edgeID, const adaptAdj nbr) |
void | removeFromAdaptAdj (const int meshid, const adaptAdj elem, const int edgeID, const adaptAdj nbr) |
3D: Look up elemID in elemType array and remove nbr from the adjacency on edgeID. | |
void | copyAdaptAdj (const int meshid, const adaptAdj *const srcElem, const adaptAdj *const destElem) |
Copy adjacency information for one element to another. | |
void | copyAdaptAdj (const FEM_Mesh *const meshPtr, const adaptAdj *const srcElem, const adaptAdj *const destElem) |
void | copyEdgeAdaptAdj (const int meshid, const adaptAdj *const srcElem, const adaptAdj *const destElem) |
void | copyEdgeAdaptAdj (const FEM_Mesh *const meshPtr, const adaptAdj *const srcElem, const adaptAdj *const destElem) |
void | replaceAdaptAdj (const FEM_Mesh *const meshPtr, const adaptAdj elem, const adaptAdj originalNbr, const adaptAdj newNbr) |
Lookup elemID in elemType array and search for the face which has originalNbr as a neighbor, then replace originalNbr with newNbr. | |
void | replaceAdaptAdj (const int meshID, const adaptAdj elem, const adaptAdj originalNbr, const adaptAdj newNbr) |
Substitute an old neighbor with a new neighbor, assumes 2D or 3D-face neighbor. | |
void | replaceAdaptAdjOnEdge (const FEM_Mesh *const meshPtr, const adaptAdj elem, const adaptAdj originalNbr, const adaptAdj newNbr, const int edgeID) |
void | replaceAdaptAdjOnEdge (const int meshID, const adaptAdj elem, const adaptAdj originalNbr, const adaptAdj newNbr, const int edgeID) |
3D edge neighbors: Substitution operation needs to know edgeID to reduce search space. | |
void | guessElementShape (const int dim, const int nodesPerElem, int *faceSize, int *faceMapSize, int *edgeMapSize, int faceMap[MAX_ADJELEMS][MAX_FACE_SIZE], int edgeMap[MAX_EDGES][2]) |
Given the dimensions and nodes per element guess whether the element is a triangle, quad, tet or hex. | |
Variables | |
const int | faceMap2d_tri [3][2] = {{0,1},{1,2},{2,0}} |
const int | faceMap2d_quad [4][2] = {{0,1},{1,2},{2,3},{3,0}} |
const int | faceMap3d_tet [4][3] = {{0,1,2},{0,3,1},{0,2,3},{1,3,2}} |
const int | faceMap3d_hex [6][4] = {{0,1,2,3},{1,5,6,2},{2,6,7,3},{3,7,4,0},{0,4,5,1},{5,4,6,7}} |
const int | edgeMap3d_tet [6][2] = {{0,1},{0,2},{0,3},{1,2},{1,3},{2,3}} |
const int | edgeMap3d_hex [12][2] = {{0,1},{0,3},{0,4},{1,2},{1,5},{2,3},{2,6},{3,7},{4,5},{4,7},{5,6},{6,7}} |
const int | faceMap2d_cohquad [2][2] = {{0,1},{2,3}} |
const int | faceMap3d_cohprism [2][3] = {{0,1,2},{3,4,5}} |
void addSharedNodeData | ( | int | node, | |
const IDXL_Rec * | sharedChunkList, | |||
adjNode * | adaptAdjTable | |||
) | [inline] |
Definition at line 23 of file adapt_adj.C.
References adjNode::numSharedPartitions, adjNode::sharedWithLocalIdx, and adjNode::sharedWithPartition.
Referenced by CreateAdaptAdjacencies().
void addElementNodeSetData | ( | const int | elem, | |
const int * | conn, | |||
const int | nodesPerElem, | |||
const int | numFaces, | |||
const int | numEdges, | |||
const int | faceSize, | |||
const int | faceMap[MAX_ADJELEMS][MAX_FACE_SIZE], | |||
const int | edgeMap[MAX_EDGES][2], | |||
adjNode * | faceTable, | |||
adjNode * | edgeTable | |||
) | [inline] |
Definition at line 40 of file adapt_adj.C.
References adjNode::adjElemCount, adjNode::adjElemList, adjElem::elemID, adjElem::next, adjElem::nodeSet, adjElem::nodeSetID, and CkVec< T >::quickSort().
Referenced by CreateAdaptAdjacencies().
adjElem* searchAdjElemInList | ( | adjElem * | adjStart, | |
int * | searchForNodeSet, | |||
int | nodeSetSize, | |||
int | searchForElemID, | |||
int * | found | |||
) | [inline] |
Definition at line 104 of file adapt_adj.C.
References adjElem::elemID, adjElem::next, adjElem::nodeSet, and CkVec< T >::size().
Referenced by fillLocalAdaptAdjacencies(), and replyAdjacencyRequests().
Create Adaptivity Adjacencies for elemType; dimension inferred.
Definition at line 144 of file adapt_adj.C.
References addElementNodeSetData(), addSharedNodeData(), adjNode::adjElemList, assert, conn, elem, MSA::MSA1D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::enroll(), fillLocalAdaptAdjacencies(), MSA::MSARead< MSA >::get(), FEM_chunk::get(), FEM_Entity::getCoord(), MSA::MSA1D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::getInitialAccum(), IDXL_Side::getRec(), guessElementShape(), FEM_Entity::is_valid(), adaptAdj::localID, FEM_Mesh::lookup(), FEM_chunk::lookup(), makeAdjacencyRequests(), mesh, MPI_Barrier, MPI_Bcast_pup(), MPI_Comm_rank, adjElem::next, adaptAdj::partID, replyAdjacencyRequests(), FEM_Node::shared, adjNode::sharedWithLocalIdx, adjNode::sharedWithPartition, FEM_Entity::size(), MSA::MSAHandle< MSA >::syncDone(), MSA::MSAHandle< MSA >::syncToRead(), and width().
Referenced by Bulk_Adapt::Bulk_Adapt_Init().
void fillLocalAdaptAdjacencies | ( | const int | numNodes, | |
FEM_Node * | node, | |||
adjNode * | faceTable, | |||
adjNode * | edgeTable, | |||
const int | faceMapSize, | |||
const int | edgeMapSize, | |||
adaptAdj * | adaptFaceAdjacencies, | |||
CkVec< adaptAdj > ** | adaptEdgeAdjacencies, | |||
const int | myRank, | |||
const int | elemType | |||
) |
Definition at line 441 of file adapt_adj.C.
References adjNode::adjElemList, adjElem::elemID, CkVec< T >::getVec(), FEM_Entity::is_valid(), adjElem::next, adjElem::nodeSet, adjElem::nodeSetID, CkVec< T >::push_back(), searchAdjElemInList(), and CkVec< T >::size().
Referenced by CreateAdaptAdjacencies().
void makeAdjacencyRequests | ( | const int | numNodes, | |
FEM_Node * | node, | |||
adjNode * | adaptAdjTable, | |||
MSA1DREQLIST::Accum & | requestTable, | |||
const int | nodeSetSize, | |||
const int | myRank, | |||
const int | elemType | |||
) |
Definition at line 575 of file adapt_adj.C.
References adjNode::adjElemList, elemID, adjElem::elemID, IDXL_Side::getRec(), std::inserter(), FEM_Entity::is_valid(), adjElem::next, adjElem::nodeSet, adjElem::nodeSetID, adjNode::numSharedPartitions, FEM_Node::shared, and adjNode::sharedWithPartition.
Referenced by CreateAdaptAdjacencies().
void replyAdjacencyRequests | ( | CkVec< adjRequest > * | receivedRequestVec, | |
MSA1DREPLYLIST::Accum & | replyTable, | |||
FEM_Node * | node, | |||
adjNode * | adaptAdjTable, | |||
adaptAdj * | adaptFaceAdjacencies, | |||
CkVec< adaptAdj > ** | adaptEdgeAdjacencies, | |||
const int | nodeSetSize, | |||
const int | numAdjElems, | |||
const int | myRank, | |||
const int | elemType, | |||
bool | isEdgeRequest | |||
) |
Definition at line 707 of file adapt_adj.C.
References adjNode::adjElemList, adjRequest::chunkID, adjRequest::elemID, adjElem::elemID, adaptAdj::elemType, adjRequest::elemType, IDXL_Side::getList(), CkVec< T >::length(), adaptAdj::localID, adjElem::next, adjRequest::nodeSetID, adjElem::nodeSetID, adaptAdj::partID, CkVec< T >::push_back(), CkVec< T >::quickSort(), adjReply::replyingElem, adjReply::requestingElemID, adjReply::requestingNodeSetID, searchAdjElemInList(), FEM_Node::shared, and adjRequest::translatedNodeSet.
Referenced by CreateAdaptAdjacencies().
void findNodeSet | ( | int | meshid, | |
int | elemType, | |||
int * | faceSize, | |||
int * | faceMapSize, | |||
int * | edgeMapSize, | |||
int | nodeSetMap[MAX_ADJELEMS][MAX_NODESET_SIZE], | |||
int | edgeMap[MAX_EDGES][2] | |||
) | [inline] |
Definition at line 826 of file adapt_adj.C.
References assert, elem, FEM_chunk::get(), FEM_Entity::getCoord(), guessElementShape(), mesh, and width().
Referenced by getAndDumpAdaptAdjacencies(), getElemEdge(), and getElemFace().
void getAndDumpAdaptAdjacencies | ( | const int | meshid, | |
const int | numElems, | |||
const int | elemType, | |||
const int | myRank | |||
) |
Definition at line 856 of file adapt_adj.C.
References adaptAdj::elemType, findNodeSet(), getAdaptAdj(), getEdgeAdaptAdj(), adaptAdj::localID, adaptAdj::partID, and CkVec< T >::size().
Referenced by BulkAdapt::edge_bisect_2D().
adaptAdj* lookupAdaptAdjacencies | ( | const FEM_Mesh *const | mesh, | |
const int | elemType, | |||
int * | numAdjacencies | |||
) |
Definition at line 895 of file adapt_adj.C.
References elem, FEM_Attribute::getWidth(), FEM_Entity::lookup(), and FEM_Mesh::lookup().
Referenced by BulkAdapt::add_element(), copyAdaptAdj(), getAdaptAdj(), lookupAdaptAdjacencies(), replaceAdaptAdj(), and setAdaptAdj().
Definition at line 911 of file adapt_adj.C.
References FEM_chunk::get(), FEM_chunk::lookup(), lookupAdaptAdjacencies(), and mesh.
CkVec<adaptAdj>** lookupEdgeAdaptAdjacencies | ( | const FEM_Mesh *const | mesh, | |
const int | elemType, | |||
int * | numAdjacencies | |||
) |
Definition at line 921 of file adapt_adj.C.
References elem, FEM_Attribute::getWidth(), FEM_Entity::lookup(), and FEM_Mesh::lookup().
Referenced by BulkAdapt::add_element(), copyEdgeAdaptAdj(), getEdgeAdaptAdj(), lookupEdgeAdaptAdjacencies(), and replaceAdaptAdjOnEdge().
CkVec<adaptAdj>** lookupEdgeAdaptAdjacencies | ( | const int | meshID, | |
const int | elemType, | |||
int * | numAdjacencies | |||
) |
Definition at line 936 of file adapt_adj.C.
References FEM_chunk::get(), lookupEdgeAdaptAdjacencies(), and mesh.
Look up elemID in elemType array, access edgeFaceID-th adaptAdj.
Definition at line 947 of file adapt_adj.C.
References lookupAdaptAdjacencies().
Referenced by BulkAdapt::edge_bisect_2D(), getAdaptAdj(), getAndDumpAdaptAdjacencies(), getFaceAdaptAdj(), BulkAdapt::one_side_split_2D(), and BulkAdapt::remote_edge_bisect_2D().
adaptAdj* getAdaptAdj | ( | const FEM_Mesh *const | meshPtr, | |
const int | localID, | |||
const int | elemType, | |||
const int | faceID | |||
) |
Definition at line 959 of file adapt_adj.C.
References lookupAdaptAdjacencies().
CkVec<adaptAdj>* getEdgeAdaptAdj | ( | const int | meshID, | |
const int | localID, | |||
const int | elemType, | |||
const int | edgeID | |||
) |
Definition at line 971 of file adapt_adj.C.
References lookupEdgeAdaptAdjacencies().
Referenced by addEdgeAdjacency(), addToAdaptAdj(), clearEdgeAdjacency(), BulkAdapt::get_elemsToLock(), getAndDumpAdaptAdjacencies(), getEdgeAdaptAdj(), removeFromAdaptAdj(), and BulkAdapt::update_local_edge_adj().
CkVec<adaptAdj>* getEdgeAdaptAdj | ( | const FEM_Mesh *const | meshPtr, | |
const int | localID, | |||
const int | elemType, | |||
const int | edgeID | |||
) |
Definition at line 983 of file adapt_adj.C.
References lookupEdgeAdaptAdjacencies().
adaptAdj* getAdaptAdj | ( | const int | meshID, | |
const int | localID, | |||
const int | elemType, | |||
const int *const | vertexList | |||
) |
Look up elemID in elemType array, calculate edgeFaceID from vertexList (with GetEdgeFace below), and access edgeFaceID-th adaptAdj with GetAdaptAdj above.
Definition at line 998 of file adapt_adj.C.
References getAdaptAdj(), and getElemFace().
CkVec<adaptAdj>* getEdgeAdaptAdj | ( | const int | meshID, | |
const int | localID, | |||
const int | elemType, | |||
const int *const | vertexList | |||
) |
Definition at line 1008 of file adapt_adj.C.
References getEdgeAdaptAdj(), and getElemEdge().
adaptAdj* getFaceAdaptAdj | ( | const int | meshID, | |
const int | localID, | |||
const int | elemType, | |||
const int *const | vertexList | |||
) |
Definition at line 1018 of file adapt_adj.C.
References getAdaptAdj().
Referenced by BulkAdapt::local_update_asterisk_3D(), BulkAdapt::update_local_edge_adj(), and BulkAdapt::update_local_face_adj().
adaptAdj* getFaceAdaptAdj | ( | const int | meshID, | |
const int | localID, | |||
const int | elemType, | |||
const int | faceID | |||
) |
Definition at line 1027 of file adapt_adj.C.
References getAdaptAdj().
adaptAdj* getFaceAdaptAdj | ( | const FEM_Mesh *const | meshPtr, | |
const int | localID, | |||
const int | elemType, | |||
const int | faceID | |||
) |
Definition at line 1036 of file adapt_adj.C.
References getAdaptAdj().
void clearEdgeAdjacency | ( | const FEM_Mesh *const | meshPtr, | |
const int | localID, | |||
const int | elemType, | |||
const int | edgeID | |||
) |
Remove all neighbors on the specified edge.
Definition at line 1047 of file adapt_adj.C.
References getEdgeAdaptAdj().
Referenced by clearEdgeAdjacency(), and BulkAdapt::local_update_asterisk_3D().
void clearEdgeAdjacency | ( | const int | meshID, | |
const int | localID, | |||
const int | elemType, | |||
const int | edgeID | |||
) |
Definition at line 1056 of file adapt_adj.C.
References clearEdgeAdjacency(), FEM_chunk::get(), and mesh.
void addEdgeAdjacency | ( | const FEM_Mesh *const | meshPtr, | |
const int | localID, | |||
const int | elemType, | |||
const int | edgeID, | |||
const adaptAdj | adj | |||
) |
Add a new adjacency on the specified edge.
Definition at line 1068 of file adapt_adj.C.
References getEdgeAdaptAdj(), and adaptAdj::localID.
Referenced by addEdgeAdjacency(), and BulkAdapt::local_update_asterisk_3D().
void addEdgeAdjacency | ( | const int | meshID, | |
const int | localID, | |||
const int | elemType, | |||
const int | edgeID, | |||
const adaptAdj | adj | |||
) |
Definition at line 1079 of file adapt_adj.C.
References addEdgeAdjacency(), FEM_chunk::get(), adaptAdj::localID, and mesh.
Look up elemID in elemType array and determine the edge or face ID specified by the set of vertices in vertexList.
Definition at line 1094 of file adapt_adj.C.
References findNodeSet().
Referenced by getAdaptAdj().
Definition at line 1119 of file adapt_adj.C.
References findNodeSet().
Referenced by getEdgeAdaptAdj().
Look up elemID in elemType array and set the adjacency on edgeFaceID to nbr.
2D or 3D (faces): Look up elemID in elemType array and set the adjacency on edgeFaceID to nbr.
Definition at line 1148 of file adapt_adj.C.
References adaptAdj::elemType, adaptAdj::localID, and lookupAdaptAdjacencies().
Referenced by BulkAdapt::update_local_face_adj().
void setAdaptAdj | ( | const FEM_Mesh * | meshPtr, | |
const adaptAdj | elem, | |||
const int | faceID, | |||
const adaptAdj | nbr | |||
) |
Definition at line 1160 of file adapt_adj.C.
References adaptAdj::elemType, adaptAdj::localID, and lookupAdaptAdjacencies().
3D: Look up elemID in elemType array and add nbr to the adjacency on edgeID.
Definition at line 1172 of file adapt_adj.C.
References adaptAdj::elemType, getEdgeAdaptAdj(), adaptAdj::localID, and CkVec< T >::push_back().
Referenced by BulkAdapt::remote_edgeAdj_add(), and BulkAdapt::update_local_edge_adj().
void addToAdaptAdj | ( | const FEM_Mesh * | meshPtr, | |
const adaptAdj | elem, | |||
const int | edgeID, | |||
const adaptAdj | nbr | |||
) |
Definition at line 1184 of file adapt_adj.C.
References adaptAdj::elemType, getEdgeAdaptAdj(), adaptAdj::localID, and CkVec< T >::push_back().
void removeFromAdaptAdj | ( | const int | meshid, | |
const adaptAdj | elem, | |||
const int | edgeID, | |||
const adaptAdj | nbr | |||
) |
3D: Look up elemID in elemType array and remove nbr from the adjacency on edgeID.
Definition at line 1196 of file adapt_adj.C.
References adaptAdj::elemType, getEdgeAdaptAdj(), adaptAdj::localID, CkVec< T >::remove(), and CkVec< T >::size().
void copyAdaptAdj | ( | const int | meshid, | |
const adaptAdj *const | srcElem, | |||
const adaptAdj *const | destElem | |||
) |
Copy adjacency information for one element to another.
Definition at line 1214 of file adapt_adj.C.
References copyAdaptAdj(), FEM_chunk::get(), and FEM_chunk::lookup().
Referenced by copyAdaptAdj(), and BulkAdapt::update_local_face_adj().
void copyAdaptAdj | ( | const FEM_Mesh *const | meshPtr, | |
const adaptAdj *const | srcElem, | |||
const adaptAdj *const | destElem | |||
) |
Definition at line 1225 of file adapt_adj.C.
References adaptAdj::elemType, adaptAdj::localID, and lookupAdaptAdjacencies().
void copyEdgeAdaptAdj | ( | const int | meshid, | |
const adaptAdj *const | srcElem, | |||
const adaptAdj *const | destElem | |||
) |
Definition at line 1239 of file adapt_adj.C.
References copyEdgeAdaptAdj(), FEM_chunk::get(), and FEM_chunk::lookup().
Referenced by copyEdgeAdaptAdj(), and BulkAdapt::update_local_edge_adj().
void copyEdgeAdaptAdj | ( | const FEM_Mesh *const | meshPtr, | |
const adaptAdj *const | srcElem, | |||
const adaptAdj *const | destElem | |||
) |
Definition at line 1250 of file adapt_adj.C.
References adaptAdj::elemType, adaptAdj::localID, and lookupEdgeAdaptAdjacencies().
void replaceAdaptAdj | ( | const FEM_Mesh *const | meshPtr, | |
const adaptAdj | elem, | |||
const adaptAdj | originalNbr, | |||
const adaptAdj | newNbr | |||
) |
Lookup elemID in elemType array and search for the face which has originalNbr as a neighbor, then replace originalNbr with newNbr.
Definition at line 1270 of file adapt_adj.C.
References adaptAdj::elemType, adaptAdj::localID, and lookupAdaptAdjacencies().
Referenced by BulkAdapt::local_update_asterisk_3D(), BulkAdapt::one_side_split_2D(), BulkAdapt::remote_adaptAdj_replace(), replaceAdaptAdj(), and BulkAdapt::update_local_face_adj().
void replaceAdaptAdj | ( | const int | meshID, | |
const adaptAdj | elem, | |||
const adaptAdj | originalNbr, | |||
const adaptAdj | newNbr | |||
) |
Substitute an old neighbor with a new neighbor, assumes 2D or 3D-face neighbor.
Definition at line 1289 of file adapt_adj.C.
References FEM_chunk::get(), FEM_chunk::lookup(), and replaceAdaptAdj().
void replaceAdaptAdjOnEdge | ( | const FEM_Mesh *const | meshPtr, | |
const adaptAdj | elem, | |||
const adaptAdj | originalNbr, | |||
const adaptAdj | newNbr, | |||
const int | edgeID | |||
) |
Definition at line 1301 of file adapt_adj.C.
References adaptAdj::elemType, adaptAdj::localID, lookupEdgeAdaptAdjacencies(), n, and CkVec< T >::size().
Referenced by BulkAdapt::local_update_asterisk_3D(), BulkAdapt::remote_edgeAdj_replace(), replaceAdaptAdjOnEdge(), and BulkAdapt::update_local_edge_adj().
void replaceAdaptAdjOnEdge | ( | const int | meshID, | |
const adaptAdj | elem, | |||
const adaptAdj | originalNbr, | |||
const adaptAdj | newNbr, | |||
const int | edgeID | |||
) |
3D edge neighbors: Substitution operation needs to know edgeID to reduce search space.
Definition at line 1324 of file adapt_adj.C.
References FEM_chunk::get(), adaptAdj::localID, FEM_chunk::lookup(), and replaceAdaptAdjOnEdge().
void guessElementShape | ( | const int | dim, | |
const int | nodesPerElem, | |||
int * | faceSize, | |||
int * | faceMapSize, | |||
int * | edgeMapSize, | |||
int | faceMap[MAX_ADJELEMS][MAX_FACE_SIZE], | |||
int | edgeMap[MAX_EDGES][2] | |||
) |
Given the dimensions and nodes per element guess whether the element is a triangle, quad, tet or hex.
At the moment these are the 4 shapes that are handled
Definition at line 1351 of file adapt_adj.C.
References edgeMap3d_hex, edgeMap3d_tet, faceMap2d_quad, faceMap2d_tri, faceMap3d_hex, and faceMap3d_tet.
Referenced by CreateAdaptAdjacencies(), and findNodeSet().
const int faceMap2d_tri[3][2] = {{0,1},{1,2},{2,0}} |
Definition at line 11 of file adapt_adj.C.
Referenced by guessElementShape(), and mesh2graph_face().
const int faceMap2d_quad[4][2] = {{0,1},{1,2},{2,3},{3,0}} |
const int faceMap3d_tet[4][3] = {{0,1,2},{0,3,1},{0,2,3},{1,3,2}} |
Definition at line 13 of file adapt_adj.C.
Referenced by guessElementShape(), and mesh2graph_face().
const int faceMap3d_hex[6][4] = {{0,1,2,3},{1,5,6,2},{2,6,7,3},{3,7,4,0},{0,4,5,1},{5,4,6,7}} |
Definition at line 14 of file adapt_adj.C.
Referenced by guessElementShape(), and mesh2graph_face().
const int edgeMap3d_tet[6][2] = {{0,1},{0,2},{0,3},{1,2},{1,3},{2,3}} |
const int edgeMap3d_hex[12][2] = {{0,1},{0,3},{0,4},{1,2},{1,5},{2,3},{2,6},{3,7},{4,5},{4,7},{5,6},{6,7}} |
const int faceMap2d_cohquad[2][2] = {{0,1},{2,3}} |
Definition at line 19 of file adapt_adj.C.
const int faceMap3d_cohprism[2][3] = {{0,1,2},{3,4,5}} |
Definition at line 20 of file adapt_adj.C.