#include <fem_mesh_modify.h>
Public Member Functions | |
femMeshModify (femMeshModMsg *fm) | |
femMeshModify (CkMigrateMessage *m) | |
~femMeshModify () | |
intMsg * | lockRemoteChunk (int2Msg *i2msg) |
intMsg * | unlockRemoteChunk (int2Msg *i2msg) |
intMsg * | lockRemoteNode (int sharedIdx, int fromChk, int isGhost, int readLock) |
intMsg * | unlockRemoteNode (int sharedIdx, int fromChk, int isGhost, int readLock) |
void | setFemMesh (FEMMeshMsg *fm) |
Part of the initialization phase, create all the new objects Populate all data structures, include all locks It also computes all the fixed nodes and populates a data structure with it. | |
int | getNumChunks () |
int | getIdx () |
FEM_Mesh * | getfmMesh () |
FEM_lock * | getfmLock () |
FEM_lockN * | getfmLockN (int nodeid) |
FEM_MUtil * | getfmUtil () |
FEM_Adapt * | getfmAdapt () |
FEM_AdaptL * | getfmAdaptL () |
FEM_Adapt_Algs * | getfmAdaptAlgs () |
FEM_Interpolate * | getfmInp () |
intMsg * | addNodeRemote (addNodeMsg *fm) |
void | addSharedNodeRemote (sharedNodeMsg *fm) |
void | removeSharedNodeRemote (removeSharedNodeMsg *fm) |
void | addGhostElem (addGhostElemMsg *fm) |
chunkListMsg * | getChunksSharingGhostNode (int2Msg *) |
void | addElementRemote (addElemMsg *fm) |
void | removeGhostElem (removeGhostElemMsg *fm) |
void | removeElementRemote (removeElemMsg *fm) |
void | removeGhostNode (int fromChk, int sharedIdx) |
intMsg * | eatIntoElement (int fromChk, int sharedIdx) |
intMsg * | getLockOwner (int fromChk, int sharedIdx) |
boolMsg * | knowsAbtNode (int fromChk, int toChk, int sharedIdx) |
void | refine_flip_element_leb (int fromChk, int propElemT, int propNodeT, int newNodeT, int nbrOpNodeT, int nbrghost, double longEdgeLen) |
void | addToSharedList (int fromChk, int sharedIdx) |
void | updateNodeAttrs (int fromChk, int sharedIdx, double coordX, double coordY, int bound, bool isGhost) |
void | updateghostsend (verifyghostsendMsg *vmsg) |
findgsMsg * | findghostsend (int fromChk, int sharedIdx) |
double2Msg * | getRemoteCoord (int fromChk, int ghostIdx) |
intMsg * | getRemoteBound (int fromChk, int ghostIdx) |
intMsg * | getIdxGhostSend (int fromChk, int idxshared, int toChk) |
void | updateIdxlList (int fromChk, int idxTrans, int transChk) |
void | removeIDXLRemote (int fromChk, int sharedIdx, int type) |
void | addTransIDXLRemote (int fromChk, int sharedIdx, int type) |
void | verifyIdxlList (int fromChk, int size, int type) |
void | idxllockRemote (int fromChk, int type) |
void | idxlunlockRemote (int fromChk, int type) |
intMsg * | hasLockRemoteNode (int sharedIdx, int fromChk, int isGhost) |
void | modifyLockAll (int fromChk, int sharedIdx) |
boolMsg * | verifyLock (int fromChk, int sharedIdx, int isGhost) |
void | verifyghostsend (verifyghostsendMsg *vmsg) |
boolMsg * | shouldLoseGhost (int fromChk, int sharedIdx, int toChk) |
void | addghostsendl (int fromChk, int sharedIdx, int toChk, int transIdx) |
The node index is the sharedIdx with 'fromChk' This local node index is then to be send as a ghost to 'toChk'. | |
void | addghostsendl1 (int fromChk, int transChk, int transIdx) |
The node index is obtained as a the ghost received from 'transChk' at 'transIdx'. | |
void | addghostsendr (int fromChk, int sharedIdx, int toChk, int transIdx) |
The node is the obtained on the ghost recv list from 'fromChk' at 'sharedIdx' index. | |
void | addghostsendr1 (int fromChk, int transChk, int transIdx) |
The local node index is obtained on the shared list of 'transChk' at 'transIdx'. | |
boolMsg * | willItLose (int fromChk, int sharedIdx) |
void | interpolateElemCopy (int fromChk, int sharedIdx1, int sharedIdx2) |
The two local elements indices are obtained from the ghost send list to 'fromChk' Data is copied from the first element to the second. | |
void | cleanupIDXL (int fromChk, int sharedIdx) |
void | purgeElement (int fromChk, int sharedIdx) |
elemDataMsg * | packElemData (int fromChk, int sharedIdx) |
femMeshModify (femMeshModMsg *fm) | |
constructor | |
femMeshModify (CkMigrateMessage *m) | |
constructor for migration | |
~femMeshModify () | |
destructor | |
void | pup (PUP::er &p) |
Pup to transfer this object's data. | |
void | ckJustMigrated (void) |
This function is overloaded, it is called on this object just after migration. | |
void | setPointersAfterMigrate (FEM_Mesh *m) |
Set the mesh pointer after the migration. | |
void | setFemMesh (FEMMeshMsg *fm) |
Initialize the mesh pointer for this chunk. | |
intMsg * | lockRemoteChunk (int2Msg *i2msg) |
Deprecated: Try to lock this node on this chunk (the node index is local to this chunk). | |
intMsg * | unlockRemoteChunk (int2Msg *i2msg) |
Deprecated: Unlock the node on this chunk (the node index is local to this chunk). | |
intMsg * | lockRemoteNode (int sharedIdx, int fromChk, int isGhost, int readLock) |
Try to lock this node on this chunk (receives a shared/ghost index). | |
intMsg * | unlockRemoteNode (int sharedIdx, int fromChk, int isGhost, int readLock) |
Unlock this node on this chunk (receives a shared/ghost index). | |
int | getNumChunks () |
Get number of chunks. | |
int | getIdx () |
Get the index of this chunk. | |
FEM_Mesh * | getfmMesh () |
Get the pointer to the mesh object. | |
FEM_lock * | getfmLock () |
Deprecated: Get the pointer to the lock-chunk object. | |
FEM_lockN | getfmLockN (int nodeid) |
Get the status of the lock for this node. | |
FEM_MUtil * | getfmUtil () |
Get the pointer to the utility object on this chunk. | |
FEM_Adapt * | getfmAdapt () |
Deprecated: Get the pointer to the primitive operation object. | |
FEM_AdaptL * | getfmAdaptL () |
Get the pointer to the object that encapsulates the primitive adaptive operations. | |
FEM_Adapt_Algs * | getfmAdaptAlgs () |
Get the pointer to the object that encapsulates the adaptive algorithms. | |
FEM_Interpolate * | getfmInp () |
Get the pointer to the interpolate object. | |
chunkListMsg * | getChunksSharingGhostNode (int2Msg *) |
Get the list of chunks that share this node. | |
intMsg * | addNodeRemote (addNodeMsg *fm) |
Add a node on this chunk. | |
void | addSharedNodeRemote (sharedNodeMsg *fm) |
Add a shared node on this chunk. | |
void | removeSharedNodeRemote (removeSharedNodeMsg *fm) |
Remove a shared node on this chunk. | |
void | removeGhostNode (int fromChk, int sharedIdx) |
Remove a ghost node on this chunk. | |
void | addGhostElem (addGhostElemMsg *fm) |
Add a ghost element on this chunk. | |
intMsg * | addElementRemote (addElemMsg *fm) |
Add a local element on this chunk. | |
void | removeGhostElem (removeGhostElemMsg *fm) |
Remove a ghost element on this chunk. | |
void | removeElementRemote (removeElemMsg *fm) |
Remove a local element on this chunk. | |
intMsg * | eatIntoElement (int fromChk, int sharedIdx) |
Acquire this element from 'fromChk'. | |
intMsg * | getLockOwner (int fromChk, int sharedIdx) |
Get the owner of the lock for this shared node. | |
boolMsg * | knowsAbtNode (int fromChk, int toChk, int sharedIdx) |
Does this chunk send this as a ghost to 'toChk'. | |
void | refine_flip_element_leb (int fromChk, int propElemT, int propNodeT, int newNodeT, int nbrOpNodeT, int nbrghost, double longEdgeLen) |
propagate a flip operation across chunks | |
void | addToSharedList (int fromChk, int sharedIdx) |
add this node to the shared idxl lists for 'fromChk' | |
void | updateAttrs (updateAttrsMsg *umsg) |
update the attributes of the node with this data | |
void | updateghostsend (verifyghostsendMsg *vmsg) |
get rid of unnecessary node sends to some chunks for a node | |
findgsMsg * | findghostsend (int fromChk, int sharedIdx) |
find the set of chunks where this node should be sent as a ghost | |
intMsg * | getIdxGhostSend (int fromChk, int idxshared, int toChk) |
return the shared index on the ghost send list for chunk 'toChk' | |
double2Msg * | getRemoteCoord (int fromChk, int ghostIdx) |
Get the coordinates for this node. | |
intMsg * | getRemoteBound (int fromChk, int ghostIdx) |
Get the boundary variable for this node. | |
void | updateIdxlList (int fromChk, int idxTrans, int transChk) |
find the ghost received from 'transChk' at index 'idxTrans' and add this ghost as received from 'fromChk' | |
void | removeIDXLRemote (int fromChk, int sharedIdx, int type) |
remove this node from this idxl list of chunk 'fromChk' | |
void | addTransIDXLRemote (int fromChk, int sharedIdx, int type) |
find the shared node with 'transChk' at index 'sharedIdx' and send this as a ghost to 'fromChk' | |
void | verifyIdxlList (int fromChk, int size, int type) |
verify that the size of the idxl list is same on this chunk and 'fromChk' | |
void | idxllockRemote (int fromChk, int type) |
lock the idxl list for 'fromChk' on this chunk (blocking call) | |
void | idxlunlockRemote (int fromChk, int type) |
unlock the idxl list for 'fromChk' on this chunk | |
intMsg * | hasLockRemoteNode (int sharedIdx, int fromChk, int isGhost) |
Return the lock owner for this node if there is one (return -1 otherwise). | |
void | modifyLockAll (int fromChk, int sharedIdx) |
Reassign lock on this node. | |
boolMsg * | verifyLock (int fromChk, int sharedIdx, int isGhost) |
verify that this lock is locked on the smallest chunk | |
void | verifyghostsend (verifyghostsendMsg *vmsg) |
Verify that the number of chunks I get this node as a ghost is same as the number of chunnks that this node is shared on. | |
boolMsg * | shouldLoseGhost (int fromChk, int sharedIdx, int toChk) |
Should this node be send as a ghost from this chunk to 'fromChk' (if no, return true). | |
void | addghostsendl (int fromChk, int sharedIdx, int toChk, int transIdx) |
If this node is not in the ghostSend list add it on the idxl lists on both chunks. | |
void | addghostsendl1 (int fromChk, int transChk, int transIdx) |
add this node to the idxl ghost recv list of this chunk | |
void | addghostsendr (int fromChk, int sharedIdx, int toChk, int transIdx) |
Add the node as a ghostRecv from 'toChk'. | |
void | addghostsendr1 (int fromChk, int transChk, int transIdx) |
Add this node on the ghostSend list with 'fromChk'. | |
boolMsg * | willItLose (int fromChk, int sharedIdx) |
Will it lose this element as a ghost send to 'fromChk'. | |
void | interpolateElemCopy (int fromChk, int sharedIdx1, int sharedIdx2) |
The element data is copied from the first element to the second. | |
void | cleanupIDXL (int fromChk, int sharedIdx) |
Remove this ghost element from the ghostRecv idxl list and delete the ghost node. | |
void | purgeElement (int fromChk, int sharedIdx) |
Purge this element on this chunk. | |
entDataMsg * | packEntData (int fromChk, int sharedIdx, bool isnode=false, int elemType=0) |
Pack the data from this element/node and return it. | |
boolMsg * | isFixedNodeRemote (int fromChk, int sharedIdx) |
Is this node a fixed node on this chunk. | |
void | finish1 (void) |
void | finish (void) |
Data Fields | |
int | numChunks |
Total number of chunks. | |
int | idx |
Index of this chunk (the chunk this is attached to). | |
FEM_Mesh * | fmMesh |
FEM_lock * | fmLock |
CkVec< FEM_lockN * > | fmLockN |
CkVec< bool > | fmIdxlLock |
CkVec< int > | fmfixedNodes |
FEM_MUtil * | fmUtil |
FEM_Interpolate * | fmInp |
FEM_Adapt * | fmAdapt |
FEM_AdaptL * | fmAdaptL |
FEM_Adapt_Algs * | fmAdaptAlgs |
TCharm * | tc |
The Tcharm pointer to set it even outside the thread.. | |
CProxy_TCharm | tproxy |
The proxy for the current Tcharm object. | |
FEM_Mesh * | fmMesh |
cross-pointer to the fem mesh on this chunk | |
FEM_lock * | fmLock |
Deprecated: used to lock this chunk. | |
CkVec< FEM_lockN > | fmLockN |
Set of locks for all nodes on this chunk. | |
CkVec< bool > | fmIdxlLock |
Set of locks for all idxl lists. | |
CkVec< int > | fmfixedNodes |
The list of fixed nodes. | |
FEM_MUtil * | fmUtil |
Pointer to the utility object (performs most adaptive utilities). | |
FEM_Interpolate * | fmInp |
Pointer to the object that performs the interpolations. | |
FEM_Adapt * | fmAdapt |
Deprecated: Pointer to the FEM_Adapt object. | |
FEM_AdaptL * | fmAdaptL |
Pointer to the object that performs the primitive adaptive operations. | |
FEM_Adapt_Algs * | fmAdaptAlgs |
Pointer to the object that performs the adaptive algorithms. | |
Friends | |
class | FEM_lock |
class | FEM_MUtil |
class | FEM_Mesh |
class | FEM_Interpolate |
class | FEM_Adapt |
class | FEM_AdaptL |
class | FEM_Adapt_Algs |
This data structure maintains some adaptivity information, along with locks for nodes and idxl lists. It handles all the remote function calls and uses FEM_MUtil to perform most of the operations.
Definition at line 313 of file fem_mesh_modify.h.
femMeshModify::femMeshModify | ( | femMeshModMsg * | fm | ) |
constructor
femMeshModify::femMeshModify | ( | CkMigrateMessage * | m | ) |
constructor for migration
femMeshModify::~femMeshModify | ( | ) |
destructor
int femMeshModify::getNumChunks | ( | ) | [inline] |
int femMeshModify::getIdx | ( | ) | [inline] |
Definition at line 348 of file fem_mesh_modify.h.
References idx.
Referenced by FEM_Adapt::edge_bisect_help(), FEM_AdaptL::edge_contraction_help(), FEM_Adapt::edge_flip_help(), FEM_add_element(), FEM_add_node(), FEM_Interpolate::FEM_InterpolateNodeOnEdge(), FEM_Modify_correctLockN(), FEM_Modify_LockAll(), FEM_Modify_LockN(), FEM_Modify_LockUpdate(), FEM_Modify_UnlockN(), FEM_remove_node_local(), and FEM_Adapt::vertex_remove_help().
FEM_Mesh* femMeshModify::getfmMesh | ( | ) | [inline] |
FEM_lock* femMeshModify::getfmLock | ( | ) | [inline] |
Definition at line 350 of file fem_mesh_modify.h.
References fmLock.
Referenced by FEM_Modify_Lock(), and FEM_Modify_Unlock().
Definition at line 351 of file fem_mesh_modify.h.
References fmLockN, and CkVec< T >::size().
Referenced by FEM_Modify_correctLockN(), FEM_Modify_LockAll(), FEM_Modify_LockN(), FEM_Modify_LockUpdate(), FEM_Modify_UnlockN(), and FEM_MUtil::getLockOwner().
FEM_MUtil* femMeshModify::getfmUtil | ( | ) | [inline] |
Definition at line 360 of file fem_mesh_modify.h.
References fmUtil.
Referenced by FEM_Adapt::edge_bisect_help(), FEM_AdaptL::edge_contraction_help(), FEM_Adapt::edge_flip_help(), FEM_add_element(), FEM_add_element_local(), FEM_add_node(), FEM_add_node_local(), FEM_add_shared_node_remote(), FEM_Ghost_Essential_attributes(), FEM_Modify_correctLockN(), FEM_Modify_LockN(), FEM_Modify_UnlockN(), FEM_Print_e2e(), FEM_Print_e2n(), FEM_Print_n2e(), FEM_Print_n2n(), FEM_remove_element(), FEM_remove_element_local(), FEM_remove_node(), FEM_remove_node_local(), FEM_Adapt::getGhostElementIdxl(), FEM_Adapt::getGhostNodeIdxl(), FEM_MUtil::getLockOwner(), FEM_Adapt::getSharedNodeIdxl(), is_shared(), FEM_Adapt::printAdjacencies(), FEM_Adapt_Algs::refine_element_leb(), refine_flip_element_leb(), FEM_Adapt_Algs::refine_flip_element_leb(), FEM_Adapt::vertex_remove_help(), and FEM_Adapt::vertex_split_help().
FEM_Adapt* femMeshModify::getfmAdapt | ( | ) | [inline] |
FEM_AdaptL* femMeshModify::getfmAdaptL | ( | ) | [inline] |
FEM_Adapt_Algs* femMeshModify::getfmAdaptAlgs | ( | ) | [inline] |
Definition at line 363 of file fem_mesh_modify.h.
References fmAdaptAlgs.
Referenced by FEM_ADAPT_AdaptMesh(), FEM_ADAPT_Coarsen(), FEM_ADAPT_GradateMesh(), FEM_ADAPT_Init(), FEM_ADAPT_Refine(), FEM_ADAPT_SetReferenceMesh(), FEM_ADAPT_SimpleCoarsenMesh(), FEM_ADAPT_SimpleRefineMesh(), and FEM_ADAPT_TestMesh().
FEM_Interpolate* femMeshModify::getfmInp | ( | ) | [inline] |
Definition at line 364 of file fem_mesh_modify.h.
References fmInp.
Referenced by FEM_MUtil::copyElemData(), FEM_AdaptL::edge_contraction_help(), FEM_add_node(), FEM_MUtil::Replace_node_local(), and FEM_MUtil::splitEntityRemote().
void femMeshModify::updateNodeAttrs | ( | int | fromChk, | |
int | sharedIdx, | |||
double | coordX, | |||
double | coordY, | |||
int | bound, | |||
bool | isGhost | |||
) |
Definition at line 2234 of file fem_mesh_modify.C.
References PUP::a, CmiMemoryCheck(), FEM_Adapt_Algs::coord_attr, PUP::d, fmAdaptAlgs, fmMesh, fmUtil, FEM_Attribute::getAttr(), FEM_MUtil::lookup_in_IDXL(), FEM_Mesh::node, and CkVec< T >::size().
elemDataMsg * femMeshModify::packElemData | ( | int | fromChk, | |
int | sharedIdx | |||
) |
Definition at line 2546 of file fem_mesh_modify.C.
References count, elemDataMsg::data, FEM_Mesh::elem, fmMesh, fmUtil, FEM_Attribute::getAttr(), FEM_MUtil::lookup_in_IDXL(), FEM_Attribute::pupSingle(), PUP::sizer::size(), and CkVec< T >::size().
void femMeshModify::setFemMesh | ( | FEMMeshMsg * | fm | ) |
Initialize the mesh pointer for this chunk.
int femMeshModify::getNumChunks | ( | ) | [inline] |
int femMeshModify::getIdx | ( | ) | [inline] |
FEM_Mesh* femMeshModify::getfmMesh | ( | ) | [inline] |
Get the pointer to the mesh object.
Definition at line 436 of file ParFUM_Mesh_Modify.h.
References fmMesh.
FEM_lock* femMeshModify::getfmLock | ( | ) | [inline] |
Deprecated: Get the pointer to the lock-chunk object.
Definition at line 438 of file ParFUM_Mesh_Modify.h.
References fmLock.
Get the status of the lock for this node.
Definition at line 440 of file ParFUM_Mesh_Modify.h.
References fmLockN, and CkVec< T >::size().
FEM_MUtil* femMeshModify::getfmUtil | ( | ) | [inline] |
Get the pointer to the utility object on this chunk.
Definition at line 450 of file ParFUM_Mesh_Modify.h.
References fmUtil.
FEM_Adapt* femMeshModify::getfmAdapt | ( | ) | [inline] |
Deprecated: Get the pointer to the primitive operation object.
Definition at line 452 of file ParFUM_Mesh_Modify.h.
References fmAdapt.
FEM_AdaptL* femMeshModify::getfmAdaptL | ( | ) | [inline] |
Get the pointer to the object that encapsulates the primitive adaptive operations.
Definition at line 454 of file ParFUM_Mesh_Modify.h.
References fmAdaptL.
FEM_Adapt_Algs* femMeshModify::getfmAdaptAlgs | ( | ) | [inline] |
Get the pointer to the object that encapsulates the adaptive algorithms.
Definition at line 456 of file ParFUM_Mesh_Modify.h.
References fmAdaptAlgs.
FEM_Interpolate* femMeshModify::getfmInp | ( | ) | [inline] |
Get the pointer to the interpolate object.
Definition at line 458 of file ParFUM_Mesh_Modify.h.
References fmInp.
chunkListMsg* femMeshModify::getChunksSharingGhostNode | ( | int2Msg * | ) |
Get the list of chunks that share this node.
intMsg* femMeshModify::addNodeRemote | ( | addNodeMsg * | fm | ) |
void femMeshModify::addSharedNodeRemote | ( | sharedNodeMsg * | fm | ) |
void femMeshModify::removeSharedNodeRemote | ( | removeSharedNodeMsg * | fm | ) |
void femMeshModify::addGhostElem | ( | addGhostElemMsg * | fm | ) |
intMsg* femMeshModify::addElementRemote | ( | addElemMsg * | fm | ) |
void femMeshModify::removeGhostElem | ( | removeGhostElemMsg * | fm | ) |
void femMeshModify::removeElementRemote | ( | removeElemMsg * | fm | ) |
Acquire this element from 'fromChk'.
Get the owner of the lock for this shared node.
Does this chunk send this as a ghost to 'toChk'.
void femMeshModify::refine_flip_element_leb | ( | int | fromChk, | |
int | propElemT, | |||
int | propNodeT, | |||
int | newNodeT, | |||
int | nbrOpNodeT, | |||
int | nbrghost, | |||
double | longEdgeLen | |||
) |
propagate a flip operation across chunks
add this node to the shared idxl lists for 'fromChk'
void femMeshModify::updateghostsend | ( | verifyghostsendMsg * | vmsg | ) |
find the set of chunks where this node should be sent as a ghost
return the shared index on the ghost send list for chunk 'toChk'
double2Msg* femMeshModify::getRemoteCoord | ( | int | fromChk, | |
int | ghostIdx | |||
) |
Get the coordinates for this node.
Get the boundary variable for this node.
find the ghost received from 'transChk' at index 'idxTrans' and add this ghost as received from 'fromChk'
find the shared node with 'transChk' at index 'sharedIdx' and send this as a ghost to 'fromChk'
verify that the size of the idxl list is same on this chunk and 'fromChk'
lock the idxl list for 'fromChk' on this chunk (blocking call)
unlock the idxl list for 'fromChk' on this chunk
Return the lock owner for this node if there is one (return -1 otherwise).
verify that this lock is locked on the smallest chunk
void femMeshModify::verifyghostsend | ( | verifyghostsendMsg * | vmsg | ) |
If this node is not in the ghostSend list add it on the idxl lists on both chunks.
Add the node as a ghostRecv from 'toChk'.
Add this node on the ghostSend list with 'fromChk'.
Will it lose this element as a ghost send to 'fromChk'.
FEM_lock [friend] |
FEM_MUtil [friend] |
FEM_Mesh [friend] |
Definition at line 316 of file fem_mesh_modify.h.
FEM_Interpolate [friend] |
FEM_Adapt [friend] |
FEM_AdaptL [friend] |
FEM_Adapt_Algs [friend] |
Total number of chunks.
Definition at line 323 of file fem_mesh_modify.h.
Referenced by femMeshModify(), getNumChunks(), pup(), FEM_MUtil::residualLockTest(), setFemMesh(), and FEM_MUtil::unlockAll().
Index of this chunk (the chunk this is attached to).
Definition at line 324 of file fem_mesh_modify.h.
Referenced by addghostsendl(), addghostsendr(), ckJustMigrated(), FEM_AdaptL::edge_contraction_help(), FEM_Ghost_Essential_attributes(), FEM_Interpolate::FEM_InterpolateCopyAttributes(), FEM_Interpolate::FEM_InterpolateElementCopy(), FEM_Interpolate::FEM_InterpolateNodeOnEdge(), FEM_MUtil::FEM_Print_coords(), FEM_purge_element(), femMeshModify(), FEM_Adapt::findAdjData(), finish(), FEM_Adapt_Algs::getCoord(), getIdx(), FEM_Adapt::isCorner(), FEM_AdaptL::lockNodes(), pup(), FEM_MUtil::removeNodeAll(), FEM_MUtil::splitEntityAll(), FEM_AdaptL::unlockNodes(), FEM_lockN::verifyLock(), FEM_lockN::wlock(), and FEM_lockN::wunlock().
Definition at line 325 of file fem_mesh_modify.h.
Referenced by addElementRemote(), addGhostElem(), addghostsendl(), addghostsendl1(), addghostsendr(), addghostsendr1(), addNodeRemote(), addSharedNodeRemote(), addToSharedList(), addTransIDXLRemote(), ckJustMigrated(), cleanupIDXL(), FEM_MUtil::eatIntoElement(), eatIntoElement(), femMeshModify(), FEM_MUtil::findGhostSend(), findghostsend(), FEM_MUtil::getChunkNos(), getChunksSharingGhostNode(), getfmMesh(), getIdxGhostSend(), FEM_MUtil::getLockOwner(), getLockOwner(), getRemoteBound(), getRemoteCoord(), hasLockRemoteNode(), idxllockRemote(), idxlunlockRemote(), interpolateElemCopy(), isFixedNodeRemote(), FEM_MUtil::isShared(), FEM_MUtil::knowsAbtNode(), knowsAbtNode(), FEM_lock::lock(), lockRemoteNode(), modifyLockAll(), packElemData(), FEM_MUtil::packEntData(), packEntData(), purgeElement(), refine_flip_element_leb(), removeElementRemote(), removeGhostElem(), removeGhostNode(), removeIDXLRemote(), removeSharedNodeRemote(), FEM_AdaptL::residualLockTest(), setFemMesh(), setPointersAfterMigrate(), shouldLoseGhost(), FEM_AdaptL::structureTest(), FEM_AdaptL::unlockAll(), unlockRemoteNode(), FEM_MUtil::updateAttrs(), updateAttrs(), FEM_MUtil::UpdateGhostSend(), updateghostsend(), updateIdxlList(), updateNodeAttrs(), verifyghostsend(), verifyIdxlList(), verifyLock(), FEM_lockN::verifyLock(), and willItLose().
Definition at line 326 of file fem_mesh_modify.h.
Referenced by femMeshModify(), getfmLock(), lockRemoteChunk(), pup(), unlockRemoteChunk(), and ~femMeshModify().
Definition at line 327 of file fem_mesh_modify.h.
Referenced by FEM_add_node_local(), FEM_Modify_correctLockN(), FEM_Modify_LockAll(), FEM_Modify_LockN(), FEM_Modify_LockUpdate(), FEM_Modify_UnlockN(), FEM_remove_node_local(), FEM_Entity::get_next_invalid(), getfmLockN(), hasLockRemoteNode(), lockRemoteNode(), pup(), FEM_MUtil::Replace_node_local(), FEM_MUtil::residualLockTest(), setFemMesh(), setPointersAfterMigrate(), FEM_MUtil::unlockAll(), unlockRemoteNode(), and verifyLock().
Definition at line 329 of file fem_mesh_modify.h.
Referenced by FEM_MUtil::idxllockLocal(), FEM_MUtil::idxlunlockLocal(), pup(), FEM_MUtil::residualLockTest(), setFemMesh(), and FEM_MUtil::unlockAll().
Definition at line 330 of file fem_mesh_modify.h.
Referenced by FEM_add_element(), FEM_remove_element(), FEM_Adapt::isFixedNode(), isFixedNodeRemote(), pup(), and setFemMesh().
Definition at line 331 of file fem_mesh_modify.h.
Referenced by addElementRemote(), addGhostElem(), addghostsendl(), addghostsendl1(), addghostsendr(), addghostsendr1(), addNodeRemote(), FEM_MUtil::addToSharedList(), addToSharedList(), addTransIDXLRemote(), cleanupIDXL(), FEM_AdaptL::eatIntoElement(), eatIntoElement(), FEM_Adapt::edge_bisect_help(), FEM_AdaptL::edge_contraction_help(), FEM_Adapt::edge_flip_help(), FEM_Interpolate::FEM_InterpolateCopyAttributes(), FEM_Interpolate::FEM_InterpolateElementCopy(), FEM_Interpolate::FEM_InterpolateNodeOnEdge(), FEM_remove_element(), femMeshModify(), findghostsend(), getChunksSharingGhostNode(), FEM_Adapt_Algs::getCoord(), getfmUtil(), getIdxGhostSend(), getLockOwner(), getRemoteBound(), getRemoteCoord(), hasLockRemoteNode(), idxllockRemote(), idxlunlockRemote(), interpolateElemCopy(), FEM_Adapt::isCorner(), isFixedNodeRemote(), knowsAbtNode(), FEM_lock::lock(), lockRemoteNode(), modifyLockAll(), packElemData(), packEntData(), pup(), purgeElement(), removeElementRemote(), removeGhostElem(), removeGhostNode(), removeIDXLRemote(), removeSharedNodeRemote(), FEM_AdaptL::residualLockTest(), shouldLoseGhost(), FEM_AdaptL::structureTest(), FEM_Adapt_Algs::tests(), FEM_AdaptL::unlockAll(), unlockRemoteNode(), updateAttrs(), updateghostsend(), updateIdxlList(), updateNodeAttrs(), verifyghostsend(), verifyIdxlList(), verifyLock(), willItLose(), and ~femMeshModify().
Definition at line 332 of file fem_mesh_modify.h.
Referenced by femMeshModify(), getfmInp(), pup(), setFemMesh(), and setPointersAfterMigrate().
Definition at line 333 of file fem_mesh_modify.h.
Referenced by femMeshModify(), getfmAdapt(), pup(), setFemMesh(), and setPointersAfterMigrate().
Definition at line 334 of file fem_mesh_modify.h.
Referenced by eatIntoElement(), FEM_Adapt_Algs::FEM_Adapt_Algs(), FEM_Interpolate::FEM_InterpolateNodeOnEdge(), FEM_Modify_correctLockN(), femMeshModify(), getfmAdaptL(), pup(), setFemMesh(), and setPointersAfterMigrate().
Definition at line 335 of file fem_mesh_modify.h.
Referenced by FEM_MUtil::addGhostElementRemote(), FEM_MUtil::AreaTest(), FEM_Adapt_Algs::controlQualityR(), FEM_AdaptL::edge_contraction_help(), FEM_add_element_local(), FEM_Ghost_Essential_attributes(), FEM_Interpolate::FEM_InterpolateCopyAttributes(), FEM_Interpolate::FEM_InterpolateNodeOnEdge(), FEM_MUtil::FEM_Print_coords(), femMeshModify(), getfmAdaptAlgs(), getRemoteCoord(), pup(), refine_flip_element_leb(), setFemMesh(), setPointersAfterMigrate(), and updateNodeAttrs().
The Tcharm pointer to set it even outside the thread..
Definition at line 376 of file ParFUM_Mesh_Modify.h.
Referenced by ckJustMigrated(), isFixedNodeRemote(), packEntData(), and updateAttrs().
CProxy_TCharm femMeshModify::tproxy |
The proxy for the current Tcharm object.
Definition at line 378 of file ParFUM_Mesh_Modify.h.
Referenced by ckJustMigrated(), and pup().
Set of locks for all idxl lists.
each chunk can have numChunks*5 idxl lists, but numChunks locks.
Definition at line 388 of file ParFUM_Mesh_Modify.h.
The list of fixed nodes.
this list is populated initially, and never changes (defines shape)
Definition at line 392 of file ParFUM_Mesh_Modify.h.
Pointer to the utility object (performs most adaptive utilities).
Definition at line 394 of file ParFUM_Mesh_Modify.h.
Pointer to the object that performs the interpolations.
Definition at line 396 of file ParFUM_Mesh_Modify.h.
Pointer to the object that performs the primitive adaptive operations.
Definition at line 400 of file ParFUM_Mesh_Modify.h.
Pointer to the object that performs the adaptive algorithms.
Definition at line 402 of file ParFUM_Mesh_Modify.h.