PPL Logo

libs/ck-libs/ParFUM/ParFUM_Mesh_Modify.h File Reference

Go to the source code of this file.

Data Structures

class  femMeshModMsg
 Message to initialize 'numChunks' and 'chunkIdx' of femMeshModify on all chunks. More...
class  boolMsg
 A Message to encapsulate a boolean. More...
class  intMsg
 A message to encapsulate an integer. More...
class  int2Msg
 A message to encapsulate two integers. More...
class  double2Msg
 A message to encapsulate two doubles. More...
class  FEMMeshMsg
 A message to encapsulate a mesh pointer and a tcharm pointer. More...
class  addNodeMsg
 A message to pack all the data needed to tell a remote chunk to add a new node. More...
class  sharedNodeMsg
 A message used to tell a remote chunk to add a shared node. More...
class  removeSharedNodeMsg
 A message to tell a remote chunk to remove a shared node. More...
class  addGhostElemMsg
 A message to tell a remote chunk to add a ghost element (all data is packed). More...
class  chunkListMsg
 A message to return data about the chunks that share/ghost a node/element. More...
class  addElemMsg
 A message to pack all data to tell a remote chunk to add an element. More...
class  removeGhostElemMsg
 A message to tell a remote chunk to remove a ghost element and some IDXL list entries. More...
class  removeElemMsg
 A message to tell a remote chunk to remove an element. More...
class  verifyghostsendMsg
 A message to verify if the IDXL entries for a node/element on one chunk is consistent with another chunk. More...
class  findgsMsg
 A message that packs the indices of a bunch of chunks (used for ghost send). More...
class  entDataMsg
 A message that packs all data for a node/element. More...
class  updateAttrsMsg
 A message that packs all attributes for a node. More...
class  femMeshModify
 The shadow array attached to a fem chunk to perform all communication during adaptivity. More...

Functions

int FEM_add_node (FEM_Mesh *m, int *adjacent_nodes=0, int num_adjacent_nodes=0, int *chunks=0, int numChunks=0, int forceShared=0)
 Add a node between some adjacent nodes on this mesh.
void FEM_remove_node (FEM_Mesh *m, int node)
 Remove a node on this mesh.
int FEM_add_element (FEM_Mesh *m, int *conn, int conn_size, int elem_type=0, int chunkNo=-1)
 Add an element on this mesh with this connectivity.
int FEM_remove_element (FEM_Mesh *m, int element, int elem_type=0, int permanent=-1, bool aggressive_node_removal=false)
 Remove an element on this mesh.
int FEM_purge_element (FEM_Mesh *m, int element, int elem_type=0)
 Purge the element from this mesh (invalidate entry).
int FEM_add_node_local (FEM_Mesh *m, bool addGhost=false, bool doLocking=true, bool doAdjacencies=true)
 Update adjacencies for this new node, and attach a lock to it.
void FEM_remove_node_local (FEM_Mesh *m, int node)
 Get rid of idxl entries for this node and clear adjacencies, invalidate node.
int FEM_add_element_local (FEM_Mesh *m, int *conn, int connSize, int elemType, bool addGhost, bool create_adjacencies=1)
 Update adjacencies for this element and all surrounding nodes/elements.
void FEM_remove_element_local (FEM_Mesh *m, int element, int etype)
 Clear up the adjacencies.
void FEM_update_new_element_e2e (FEM_Mesh *m, int newEl, int elemType)
int FEM_Modify_Lock (FEM_Mesh *m, int *affectedNodes=0, int numAffectedNodes=0, int *affectedElts=0, int numAffectedElts=0, int elemtype=0)
 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=true)
 Reassign the lock on a node when a chunk is losing a node.
void FEM_Modify_LockUpdate (FEM_Mesh *m, int nodeId, bool lockall=true)
 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.
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 *fem_mesh, 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'.
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.


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