PPL Logo

libs/ck-libs/ParFUM/adapt_adj.C File Reference

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)
adjElemsearchAdjElemInList (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)
adaptAdjlookupAdaptAdjacencies (const FEM_Mesh *const mesh, const int elemType, int *numAdjacencies)
adaptAdjlookupAdaptAdjacencies (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)
adaptAdjgetAdaptAdj (const int meshID, const int localID, const int elemType, const int faceID)
 Look up elemID in elemType array, access edgeFaceID-th adaptAdj.
adaptAdjgetAdaptAdj (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)
adaptAdjgetAdaptAdj (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)
adaptAdjgetFaceAdaptAdj (const int meshID, const int localID, const int elemType, const int *const vertexList)
adaptAdjgetFaceAdaptAdj (const int meshID, const int localID, const int elemType, const int faceID)
adaptAdjgetFaceAdaptAdj (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}}


Function Documentation

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().

Here is the caller graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

void CreateAdaptAdjacencies ( int  meshid,
int  elemType 
)

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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] 
) [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().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

adaptAdj* lookupAdaptAdjacencies ( const int  meshid,
const int  elemType,
int numAdjacencies 
)

Definition at line 911 of file adapt_adj.C.

References FEM_chunk::get(), FEM_chunk::lookup(), lookupAdaptAdjacencies(), and mesh.

Here is the call graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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.

Here is the call graph for this function:

adaptAdj* getAdaptAdj ( const int  meshID,
const int  localID,
const int  elemType,
const int  faceID 
)

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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.

Here is the call graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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.

Here is the call graph for this function:

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.

Definition at line 1094 of file adapt_adj.C.

References findNodeSet().

Referenced by getAdaptAdj().

Here is the call graph for this function:

Here is the caller graph for this function:

int getElemEdge ( const int  meshID,
const int  type,
const int vertexList 
)

Definition at line 1119 of file adapt_adj.C.

References findNodeSet().

Referenced by getEdgeAdaptAdj().

Here is the call graph for this function:

Here is the caller graph for this function:

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.

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the call graph for this function:

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.

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the call graph for this function:

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().

Here is the caller graph for this function:


Variable Documentation

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}}

Definition at line 12 of file adapt_adj.C.

Referenced by guessElementShape().

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}}

Definition at line 16 of file adapt_adj.C.

Referenced by guessElementShape().

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}}

Definition at line 17 of file adapt_adj.C.

Referenced by guessElementShape().

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.


Generated on Mon Sep 21 08:10:40 2020 for Charm++ by  doxygen 1.5.5