Go to the source code of this file.
Functions | |
CLINKAGE int | FEM_add_node (int mesh, int *adjacent_nodes, int num_adjacent_nodes, int *chunks, int numChunks, int forceShared, int upcall) |
CLINKAGE void | FEM_remove_node (int mesh, int node) |
CLINKAGE int | FEM_remove_element (int mesh, int element, int elem_type, int permanent) |
CLINKAGE int | FEM_purge_element (int mesh, int element, int elem_type) |
CLINKAGE int | FEM_add_element (int mesh, int *conn, int conn_size, int elem_type, int chunkNo) |
CLINKAGE int | FEM_Modify_Lock (int mesh, int *affectedNodes, int numAffectedNodes, int *affectedElts, int numAffectedElts, int elemtype) |
CLINKAGE int | FEM_Modify_Unlock (int mesh) |
CLINKAGE int | FEM_Modify_LockN (int mesh, int nodeId, int readLock) |
CLINKAGE int | FEM_Modify_UnlockN (int mesh, int nodeId, int readLock) |
void | FEM_Mesh_dataP (FEM_Mesh *fem_mesh, int entity, int attr, void *data, int firstItem, int length, int datatype, int width) |
Get the data for 'length' indices from 'fem_mesh' for the 'attr' of 'entity' starting at index 'firstItem'. | |
void | FEM_Mesh_data_layoutP (FEM_Mesh *fem_mesh, int entity, int attr, void *data, int firstItem, int length, IDXL_Layout_t layout) |
Get the data for 'length' indices from 'fem_mesh' for the 'attr' of 'entity' starting at index 'firstItem'. | |
void | FEM_Mesh_data_layoutP (FEM_Mesh *m, int entity, int attr, void *data, int firstItem, int length, const IDXL_Layout &layout) |
Get the data for 'length' indices from 'fem_mesh' for the 'attr' of 'entity' starting at index 'firstItem'. | |
int | is_shared (FEM_Mesh *m, int node) |
CLINKAGE void | FEM_Print_Mesh_Summary (int mesh) |
CLINKAGE void | FEM_Print_n2n (int mesh, int nodeid) |
CLINKAGE void | FEM_Print_n2e (int mesh, int eid) |
CLINKAGE void | FEM_Print_e2n (int mesh, int eid) |
CLINKAGE void | FEM_Print_e2e (int mesh, int eid) |
int | FEM_add_node_local (FEM_Mesh *m, int addGhost) |
int | FEM_add_node (FEM_Mesh *m, int *adjacentNodes, int numAdjacentNodes, int *chunks, int numChunks, int forceShared, int upcall) |
void | FEM_add_shared_node_remote (FEM_Mesh *m, int chk, int nBetween, int *between) |
void | FEM_remove_node_local (FEM_Mesh *m, int node) |
Get rid of idxl entries for this node and clear adjacencies, invalidate node. | |
void | FEM_remove_node (FEM_Mesh *m, int node) |
Remove a node on this mesh. | |
void | FEM_remove_element_local (FEM_Mesh *m, int element, int etype) |
Clear up the adjacencies. | |
int | FEM_remove_element (FEM_Mesh *m, int elementid, int elemtype, int permanent) |
void | FEM_remove_element_remote (FEM_Mesh *m, int element, int elemtype) |
int | FEM_purge_element (FEM_Mesh *m, int elementid, int elemtype) |
Purge the element from this mesh (invalidate entry). | |
void | update_new_element_e2e (FEM_Mesh *m, int newEl, int elemType) |
Regenerate the e2e connectivity for the given element. | |
int | FEM_add_element_local (FEM_Mesh *m, const int *conn, int connSize, int elemType, int addGhost) |
int | FEM_add_element (FEM_Mesh *m, int *conn, int connSize, int elemType, int chunkNo) |
Add an element on this mesh with this connectivity. | |
int | FEM_add_element_remote () |
int | FEM_Modify_Lock (FEM_Mesh *m, int *affectedNodes, int numAffectedNodes, int *affectedElts, int numAffectedElts, int elemtype) |
Deprecated: locks all chunks for the nodes and elements specified. | |
int | FEM_Modify_Unlock (FEM_Mesh *m) |
Deprecated: Unlock all chunks that have been locked by this mesh. | |
int | FEM_Modify_LockN (FEM_Mesh *m, int nodeId, int readlock) |
Lock this node on this mesh with a read/write lock. | |
int | FEM_Modify_UnlockN (FEM_Mesh *m, int nodeId, int readlock) |
Lock the read/write lock for this node on this mesh. | |
void | FEM_Modify_LockAll (FEM_Mesh *m, int nodeId, bool lockall) |
Reassign the lock on a node when a chunk is losing a node. | |
void | FEM_Modify_LockUpdate (FEM_Mesh *m, int nodeId, bool lockall) |
Update the lock on this node (by locking the newly formed node: Deprecated. | |
void | FEM_Modify_correctLockN (FEM_Mesh *m, int nodeId) |
For the newly acquired node, correct the lock by removing superfluous locks: Deprecated. | |
CLINKAGE void | FEM_REF_INIT (int mesh, int dim) |
void | FEM_Ghost_Essential_attributes (FEM_Mesh *m, int coord_attr, int bc_attr, int nodeid) |
Copy the essential attributes for this ghost node from remote chunks. | |
Variables | |
CProxy_femMeshModify | meshMod |
CLINKAGE int FEM_add_node | ( | int | mesh, | |
int * | adjacent_nodes, | |||
int | num_adjacent_nodes, | |||
int * | chunks, | |||
int | numChunks, | |||
int | forceShared, | |||
int | upcall | |||
) |
Definition at line 17 of file fem_mesh_modify.C.
References FEM_add_node().
Referenced by femMeshModify::addNodeRemote(), FEM_Adapt::edge_bisect_help(), FEM_add_node(), and FEM_Adapt::vertex_split_help().
Definition at line 20 of file fem_mesh_modify.C.
References FEM_remove_node().
Definition at line 23 of file fem_mesh_modify.C.
References FEM_remove_element().
Definition at line 26 of file fem_mesh_modify.C.
References FEM_purge_element().
Definition at line 29 of file fem_mesh_modify.C.
References FEM_add_element().
CLINKAGE int FEM_Modify_Lock | ( | int | mesh, | |
int * | affectedNodes, | |||
int | numAffectedNodes, | |||
int * | affectedElts, | |||
int | numAffectedElts, | |||
int | elemtype | |||
) |
Definition at line 32 of file fem_mesh_modify.C.
References FEM_Modify_Lock().
Definition at line 35 of file fem_mesh_modify.C.
References FEM_Modify_Unlock().
Definition at line 38 of file fem_mesh_modify.C.
References FEM_Modify_LockN().
Definition at line 41 of file fem_mesh_modify.C.
References FEM_Modify_UnlockN().
void FEM_Mesh_dataP | ( | FEM_Mesh * | fem_mesh, | |
int | entity, | |||
int | attr, | |||
void * | data, | |||
int | firstItem, | |||
int | length, | |||
int | datatype, | |||
int | width | |||
) |
Get the data for 'length' indices from 'fem_mesh' for the 'attr' of 'entity' starting at index 'firstItem'.
Definition at line 46 of file fem_mesh_modify.C.
Referenced by FEM_AdaptL::edge_contraction_help(), FEM_Interpolate::FEM_InterpolateCopyAttributes(), FEM_Interpolate::FEM_InterpolateNodeOnEdge(), FEM_MUtil::FEM_Print_coords(), FEM_Adapt_Algs::getCoord(), femMeshModify::getRemoteBound(), femMeshModify::getRemoteCoord(), and FEM_Adapt::isCorner().
void FEM_Mesh_data_layoutP | ( | FEM_Mesh * | fem_mesh, | |
int | entity, | |||
int | attr, | |||
void * | data, | |||
int | firstItem, | |||
int | length, | |||
IDXL_Layout_t | layout | |||
) |
Get the data for 'length' indices from 'fem_mesh' for the 'attr' of 'entity' starting at index 'firstItem'.
Definition at line 51 of file fem_mesh_modify.C.
Referenced by FEM_Mesh_data_layoutP(), and FEM_Mesh_dataP().
void FEM_Mesh_data_layoutP | ( | FEM_Mesh * | m, | |
int | entity, | |||
int | attr, | |||
void * | data, | |||
int | firstItem, | |||
int | length, | |||
const IDXL_Layout & | layout | |||
) |
Get the data for 'length' indices from 'fem_mesh' for the 'attr' of 'entity' starting at index 'firstItem'.
Definition at line 57 of file fem_mesh_modify.C.
Definition at line 71 of file fem_mesh_modify.C.
References FEM_Mesh::getfmMM(), femMeshModify::getfmUtil(), and FEM_MUtil::isShared().
Referenced by FEM_add_element(), FEM_add_node(), FEM_Modify_correctLockN(), FEM_Modify_LockN(), FEM_Modify_UnlockN(), and FEM_remove_node().
CLINKAGE void FEM_Print_Mesh_Summary | ( | int | mesh | ) |
Definition at line 76 of file fem_mesh_modify.C.
References FEM_Entity::count_valid(), FEM_Mesh::elem, FEM_Entity::getGhost(), FEM_Entity_Types< T >::has(), PUP::m, FEM_Mesh::node, FEM_Entity_Types< T >::size(), FEM_Entity::size(), and PUP::t.
Definition at line 99 of file fem_mesh_modify.C.
References FEM_MUtil::FEM_Print_n2n(), FEM_Mesh::getfmMM(), femMeshModify::getfmUtil(), and PUP::m.
Definition at line 104 of file fem_mesh_modify.C.
References FEM_MUtil::FEM_Print_n2e(), FEM_Mesh::getfmMM(), femMeshModify::getfmUtil(), and PUP::m.
Definition at line 111 of file fem_mesh_modify.C.
References FEM_MUtil::FEM_Print_e2n(), FEM_Mesh::getfmMM(), femMeshModify::getfmUtil(), and PUP::m.
Definition at line 116 of file fem_mesh_modify.C.
References FEM_MUtil::FEM_Print_e2e(), FEM_Mesh::getfmMM(), femMeshModify::getfmUtil(), and PUP::m.
Definition at line 122 of file fem_mesh_modify.C.
References femMeshModify::fmLockN, FEM_Entity::get_next_invalid(), FEM_Mesh::getfmMM(), FEM_Entity::getGhost(), FEM_Mesh::n2e_removeAll(), FEM_Mesh::n2n_removeAll(), FEM_Mesh::node, CkVec< T >::push_back(), and CkVec< T >::size().
Referenced by FEM_MUtil::addGhostElementRemote(), FEM_add_node(), FEM_add_shared_node_remote(), and FEM_remove_element().
int FEM_add_node | ( | FEM_Mesh * | m, | |
int * | adjacentNodes, | |||
int | numAdjacentNodes, | |||
int * | chunks, | |||
int | numChunks, | |||
int | forceShared, | |||
int | upcall | |||
) |
Definition at line 145 of file fem_mesh_modify.C.
References FEM_Interpolate::NodalArgs::addNode, IDXL_Side::addNode(), addNodeMsg::between, addNodeMsg::chk, addNodeMsg::chunks, CmiMemoryCheck(), FEM_MUtil::exists_in_IDXL(), FEM_add_node_local(), FEM_Interpolate::FEM_InterpolateNodeOnEdge(), FEM_Interpolate::NodalArgs::frac, femMeshModify::getfmInp(), FEM_Mesh::getfmMM(), femMeshModify::getfmUtil(), femMeshModify::getIdx(), FEM_Entity::ghost, FEM_Entity::ghostRecv, FEM_MUtil::idxllock(), FEM_MUtil::idxlunlock(), index, is_shared(), meshMod, FEM_Interpolate::NodalArgs::n, addNodeMsg::nBetween, FEM_Mesh::node, FEM_Interpolate::NodalArgs::nodes, addNodeMsg::numChunks, FEM_MUtil::splitEntitySharing(), and addNodeMsg::upcall.
Definition at line 224 of file fem_mesh_modify.C.
References CmiMemoryCheck(), FEM_add_node_local(), FEM_Mesh::getfmMM(), femMeshModify::getfmUtil(), and FEM_MUtil::splitEntityRemote().
Referenced by femMeshModify::addSharedNodeRemote().
Get rid of idxl entries for this node and clear adjacencies, invalidate node.
Definition at line 242 of file fem_mesh_modify.C.
Referenced by FEM_add_element(), FEM_remove_element(), FEM_remove_node(), FEM_MUtil::removeGhostElementRemote(), FEM_MUtil::removeNodeAll(), and FEM_MUtil::removeNodeRemote().
Clear up the adjacencies.
Definition at line 373 of file fem_mesh_modify.C.
Referenced by FEM_remove_element(), and FEM_MUtil::removeGhostElementRemote().
Definition at line 446 of file fem_mesh_modify.C.
References IDXL_Side::addList(), IDXL_Side::addNode(), PUP::b, removeGhostElemMsg::chk, removeElemMsg::chk, CmiMemoryCheck(), FEM_Mesh::e2n_getAll(), FEM_Mesh::e2n_replace(), FEM_Mesh::elem, removeGhostElemMsg::elementid, removeElemMsg::elementid, removeGhostElemMsg::elemtype, removeElemMsg::elemtype, FEM_MUtil::exists_in_IDXL(), FEM_add_node_local(), FEM_Modify_LockAll(), FEM_remove_element_local(), FEM_remove_node_local(), femMeshModify::fmUtil, free(), FEM_Mesh::getfmMM(), femMeshModify::getfmUtil(), FEM_MUtil::getIdx(), IDXL_Side::getRec(), FEM_Entity::ghost, removeGhostElemMsg::ghostIndices, FEM_Entity::ghostRecv, removeGhostElemMsg::ghostREIndices, removeGhostElemMsg::ghostRNIndices, FEM_Entity::ghostSend, FEM_MUtil::idxllock(), FEM_MUtil::idxlunlock(), index, int, PUP::l, malloc(), meshMod, n1, FEM_Mesh::n2e_add(), FEM_Mesh::n2e_getAll(), FEM_Mesh::n2e_remove(), FEM_Mesh::n2n_add(), FEM_Mesh::n2n_getAll(), FEM_Mesh::n2n_remove(), FEM_Mesh::n2n_replace(), FEM_Mesh::node, removeGhostElemMsg::numGhostIndex, removeGhostElemMsg::numGhostREIndex, removeGhostElemMsg::numGhostRNIndex, removeGhostElemMsg::numSharedIndex, removeElemMsg::permanent, CkVec< T >::push_back(), IDXL_Side::removeNode(), FEM_Node::shared, removeGhostElemMsg::sharedIndices, CkVec< T >::size(), IDXL_List::size(), and size.
Definition at line 816 of file fem_mesh_modify.C.
Purge the element from this mesh (invalidate entry).
Definition at line 820 of file fem_mesh_modify.C.
int FEM_add_element_local | ( | FEM_Mesh * | m, | |
const int * | conn, | |||
int | connSize, | |||
int | elemType, | |||
int | addGhost | |||
) |
Definition at line 984 of file fem_mesh_modify.C.
References CmiMemoryCheck(), FEM_Mesh::e2e_getAll(), FEM_Mesh::e2e_removeAll(), FEM_Mesh::elem, FEM_Mesh::n2e_add(), FEM_Mesh::n2n_add(), FEM_Mesh::n2n_exists(), and update_new_element_e2e().
Referenced by FEM_MUtil::addGhostElementRemote(), and FEM_add_element().
Add an element on this mesh with this connectivity.
Definition at line 1023 of file fem_mesh_modify.C.
int FEM_add_element_remote | ( | ) |
Definition at line 1391 of file fem_mesh_modify.C.
int FEM_Modify_Lock | ( | FEM_Mesh * | m, | |
int * | affectedNodes, | |||
int | numAffectedNodes, | |||
int * | affectedElts, | |||
int | numAffectedElts, | |||
int | elemtype | |||
) |
Deprecated: locks all chunks for the nodes and elements specified.
Definition at line 1403 of file fem_mesh_modify.C.
Deprecated: Unlock all chunks that have been locked by this mesh.
Definition at line 1407 of file fem_mesh_modify.C.
Lock this node on this mesh with a read/write lock.
Definition at line 1411 of file fem_mesh_modify.C.
Lock the read/write lock for this node on this mesh.
Definition at line 1508 of file fem_mesh_modify.C.
Reassign the lock on a node when a chunk is losing a node.
Definition at line 1581 of file fem_mesh_modify.C.
Referenced by FEM_remove_element(), and femMeshModify::modifyLockAll().
Update the lock on this node (by locking the newly formed node: Deprecated.
Definition at line 1616 of file fem_mesh_modify.C.
Referenced by FEM_MUtil::eatIntoElement(), and FEM_add_element().
For the newly acquired node, correct the lock by removing superfluous locks: Deprecated.
Definition at line 1669 of file fem_mesh_modify.C.
Definition at line 1756 of file fem_mesh_modify.C.
References CkArrayOptions::bindTo(), CmiMemoryCheck(), comm, TCharm::get(), TCharm::getProxy(), PUP::m, meshMod, MPI_Bcast, MPI_Comm_rank, msg, and size.
Referenced by FEM_ADAPT_Init().
Copy the essential attributes for this ghost node from remote chunks.
Definition at line 1794 of file fem_mesh_modify.C.
Referenced by FEM_MUtil::addGhostElementRemote().