PPL Logo

chunk Class Reference

#include <chunk.h>

Inheritance diagram for chunk:

Inheritance graph
[legend]
Collaboration diagram for chunk:

Collaboration graph
[legend]

Public Member Functions

 chunk (int nChunks)
 chunk (CkMigrateMessage *)
void refineElement (int idx, double volume)
void refineElement (int idx)
void refiningElements ()
void coarsenElement (int idx, double volume)
void coarseningElements ()
void improveMesh ()
void relocatePoints ()
void flippingElements ()
intMsglockChunk (int lh, double prio)
void unlockChunk (int lh)
int lockLocalChunk (int lh, double prio)
void unlockLocalChunk (int lh)
void removeLock (int lh)
void insertLock (int lh, double prio)
void print ()
void out_print ()
nodeMsggetNode (int n)
void updateNodeCoord (nodeMsg *)
void relocationVote (nodeVoteMsg *)
doubleMsggetVolume (intMsg *im)
void setTargetVolume (doubleMsg *)
void resetTargetVolume (doubleMsg *)
elemRef findNeighbor (nodeRef nr1, nodeRef nr2, nodeRef nr3, int lidx)
refMsgfindRemoteNeighbor (threeNodeMsg *)
intMsgcheckFace (int idx, elemRef face)
intMsgcheckFace (int idx, node n1, node n2, node n3, elemRef nbr)
intMsglockLF (int idx, node n1, node n2, node n3, node n4, elemRef requester, double prio)
splitResponsesplitLF (int idx, node in1, node in2, node in3, node in4, elemRef requester)
LEsplitResultLEsplit (LEsplitMsg *)
lockResultlockArc (lockArcMsg *lm)
void unlockArc1 (int idx, int prio, elemRef parentRef, elemRef destRef, node aNode, node bNode)
void unlockArc2 (int idx, int prio, elemRef parentRef, elemRef destRef, node aNode, node bNode)
void updateFace (int idx, int rcid, int ridx)
void updateFace (int idx, elemRef oldElem, elemRef newElem)
flip23responseflip23remote (flip23request *)
flip32responseflip32remote (flip32request *fr)
flip32responseremove32element (flip32request *fr)
void debug_print (int c)
void splitAll (nodeRef le1, nodeRef le2, nodeRef mid, int elemId)
nodeRef findNode (node n)
int nodeOnSurface (int n)
int edgeOnSurface (int n1, int n2)
int faceOnSurface (int n1, int n2, int n2)
void updateFace (int n1, int n2, int n3, int oldNode, int newNode)
void addFace (int n1, int n2, int n3)
void removeFace (int n1, int n2, int n3)
void simpleAddFace (int n1, int n2, int n3)
void simpleUpdateFace (int n1, int n2, int n3, int newNode)
void simpleRemoveFace (int n1, int n2, int n3)
void printSurface ()
void printEdgeLists ()
void getAccessLock ()
void forcedGetAccessLock ()
void releaseAccessLock ()
void getAdjustLock ()
void releaseAdjustLock ()
void allocMesh (int nEl)
void adjustMesh ()
nodeRef addNode (node &n)
elemRef addElement (nodeRef &nr1, nodeRef &nr2, nodeRef &nr3, nodeRef &nr4)
void removeNode (intMsg *)
void removeElement (intMsg *)
void newMesh (int nEl, int nGhost, const int *conn_, const int *gid_, int *surface, int nSurFaces, int idxOffset)
void updateNodeCoords (int nNode, double *coord, int nEl, int nFx, int *fixed)
void deriveFaces ()
void refine (double *desiredVolume, refineClient *client)
void coarsen (double *desiredVolume, refineClient *client)
void improve (refineClient *client)
void newMesh (meshMsg *)
void updateNodeCoords (coordMsg *)
void refine ()
void start ()
void improve ()
void finalizeImprovements ()
void checkRefine ()
 chunk (chunkMsg *)
 chunk (CkMigrateMessage *m)
void sanityCheck (void)
void setupThreadPrivate (CthThread forThread)
void refineElement (int i, double area)
void refiningElements ()
void updateElement (int i, objRef oldval, objRef newval)
void specialRequest (int reqestee, elemRef requester)
void specialRequestResponse (int i, double newNodeX, double newNodeY, double otherNodeX, double otherNodeY, edgeRef newLongEdgeRef)
doubleMsggetArea (int i)
intMsglock (int i)
void unlock (int i)
intMsglocked (int i)
intMsgcheckElement (objRef oR, int i)
refMsggetNeighbor (objRef oR, int i)
void setTargetArea (int i, double area)
void updateEdges (int i, edgeRef e0, edgeRef e1, edgeRef e2)
void unsetDependency (int i)
void setDependent (objRef oR, int i)
intMsghasDependent (int i)
void accessLock ()
void releaseLock ()
void adjustFlag ()
void adjustLock ()
void adjustRelease ()
void print ()
void updateNodeCoords (int nNode, double *coord, int nEl)
void multipleRefine (double *desiredArea, refineClient *client)
void newMesh (int nEl, int nGhost, const int *conn_, const int *gid_, int idxOffset)
void addRemoteEdge (int elem, int localEdge, edgeRef er)
void setModified ()
int isModified ()
void setRefining ()
int isRefining ()
void allocMesh (int nEl)
void adjustMesh ()
int addNode (node n)
edgeRef addEdge ()
elemRef addElement (int n1, int n2, int n3)
elemRef addElement (int n1, int n2, int n3, edgeRef er1, edgeRef er2, edgeRef er3)
void debug_print (int c)
void out_print ()
 chunk (chunkMsg *)
 chunk (CkMigrateMessage *m)
void sanityCheck (void)
void validCheck (void)
void deriveBoundaries (int *conn, int *gid)
void tweakMesh ()
void improveChunk ()
void improve ()
void deriveEdges (int *conn, int *gid, const int *edgeBounds, const int *edgeConn, int nEdges)
void refineElement (int idx, double area)
void refiningElements ()
void coarsenElement (int idx, double area)
void coarseningElements ()
intMsgsafeToMoveNode (int idx, double x, double y)
splitOutMsgsplit (int idx, elemRef e, int oIdx, int fIdx)
void collapse (int idx, elemRef e, int kIdx, int dIdx, elemRef kNbr, elemRef dNbr, edgeRef kEdge, edgeRef dEdge, node newN, double frac)
splitOutMsgflipPreventE (int idx, elemRef e, int kIdx, int dIdx, elemRef kNbr, elemRef dNbr, edgeRef kEdge, edgeRef dEdge, node newN)
void nodeReplaceDelete (int kIdx, int dIdx, node nn, int shared, int *chk, int *idx)
boolMsgflipPrevent (int kIdx, int dIdx, node nn, int shared, int *chk, int *idx)
intMsgisPending (int idx, objRef e)
void checkPending (int idx, objRef aRef)
void checkPending (int idx, objRef aRef1, objRef aRef2)
void updateElement (int idx, objRef oldval, objRef newval, int b)
void updateElementEdge (int idx, objRef oldval, objRef newval)
void updateReferences (int idx, objRef oldval, objRef newval)
doubleMsggetArea (int n)
void resetEdge (int n)
refMsggetNbr (int idx, objRef aRef)
void setTargetArea (int idx, double aDouble)
void resetTargetArea (int idx, double aDouble)
void reportPos (int idx, double x, double y)
void accessLock ()
void releaseLock ()
void adjustFlag ()
void adjustLock ()
void adjustRelease ()
void print ()
void newMesh (int meshID_, int nEl, int nGhost, const int *conn_, const int *gid_, int nnodes, const int *boundaries, int nEdges, const int *edgeConn, const int *edgeBounds, int idxOffset)
void multipleRefine (double *desiredArea, refineClient *client)
void multipleCoarsen (double *desiredArea, refineClient *client)
void updateNodeCoords (int nNode, double *coord, int nEl)
void addRemoteEdge (int elem, int localEdge, edgeRef er)
void setRefining ()
int isRefining ()
void allocMesh (int nEl)
void adjustMesh ()
intMsgaddNode (node n, int b1, int b2, int internal)
edgeRef addEdge (int n1, int n2, int b)
edgeRef addEdge (int n1, int n2, const int *edgeBounds, const int *edgeConn, int nEdges)
elemRef addElement (int n1, int n2, int n3)
elemRef addElement (int n1, int n2, int n3, edgeRef er1, edgeRef er2, edgeRef er3)
void removeNode (int n)
void removeEdge (int n)
void removeElement (int n)
void debug_print (int c)
void out_print ()
void dump ()
intMsglockChunk (int lhc, int lhi, double prio)
void unlockChunk (int lhc, int lhi)
int lockLocalChunk (int lhc, int lhi, double prio)
void unlockLocalChunk (int lhc, int lhi)
void removeLock (int lhc, int lhi)
void insertLock (int lhc, int lhi, double prio)
void fixNode (int nIdx, int chkid)
int joinCommLists (int nIdx, int shd, int *chk, int *idx, int *rChk, int *rIdx)
void addToStack (int eIdx, double len, int cFlag)
void rebubble (int cFlag)
void Insert (int elID, double len, int cFlag)
int Delete_Min (int cFlag)
intMsggetBoundary (int edgeIdx)
void incnonCoarsen (int idx)
void resetnonCoarsen (int idx)
intMsgneighboring (int idx, elemRef e)
intMsgsafeToCoarsen (int idx, edgeRef e)

Data Fields

int lock
int lockHolder
int lockCount
double lockPrio
double smoothness
prioLockRequests lockList
std::vector< elementtheElements
std::vector< nodetheNodes
std::vector< std::vector< int > > theSurface
refineClienttheClient
refineResultsrefineResultsStorage
refineResultsrefineResultsStorage
int numEdges
int numGhosts
std::vector< elementtheElements
std::vector< edgetheEdges
std::vector< nodetheNodes
refineClienttheClient
int meshID
FEM_MeshmeshPtr
refineResultsrefineResultsStorage
coarsenResultscoarsenResultsStorage
std::vector< elementtheElements
std::vector< edgetheEdges
std::vector< nodetheNodes
refineClienttheClient
int elementSlots
int edgeSlots
int nodeSlots
int lockHolderIdx
int lockHolderCid

Private Member Functions

void deriveNodes ()
int edgeLocal (elemRef e1, elemRef e2)
int findEdge (int n1, int n2)
int addNewEdge ()
int getNbrRefOnEdge (int n1, int n2, int *conn, int nGhost, int *gid, int idx, elemRef *er)
int hasEdge (int n1, int n2, int *conn, int idx)
void setupThreadPrivate (CthThread forThread)
void deriveNodes ()
int edgeLocal (elemRef e1, elemRef e2)
int getNbrRefOnEdge (int n1, int n2, int *conn, int nGhost, int *gid, int idx, elemRef *er)
int hasEdge (int n1, int n2, int *conn, int idx)

Private Attributes

int cid
int numElements
int numNodes
int numChunks
int sizeElements
int sizeNodes
int additions
int coordsRecvd
int debug_counter
int refineInProgress
int coarsenInProgress
int modified
int accessLock
int adjustLock
int sizeEdges
int meshLock
int meshExpandFlag
int firstFreeElement
int firstFreeEdge
int firstFreeNode
int edgesSent
int edgesRecvd
int first
elemHeapcoarsenElements
elemHeaprefineElements
elemHeaprefineStack
int refineTop
int refineHeapSize
int coarsenHeapSize
intconn
intgid

Data Structures

struct  elemHeap

Detailed Description

Definition at line 50 of file chunk.h.


Constructor & Destructor Documentation

chunk::chunk ( int  nChunks  ) 

Definition at line 19 of file chunk.C.

References cid, numChunks, refineResultsStorage, and ArrayElementT< CkIndex1D >::thisIndex.

chunk::chunk ( CkMigrateMessage  )  [inline]

Definition at line 84 of file chunk.h.

chunk::chunk ( chunkMsg m  ) 

chunk::chunk ( CkMigrateMessage m  )  [inline]

Definition at line 487 of file tri.h.

chunk::chunk ( chunkMsg  ) 

chunk::chunk ( CkMigrateMessage m  )  [inline]

Definition at line 192 of file tri.h.


Member Function Documentation

void chunk::refineElement ( int  idx,
double  volume 
)

Definition at line 33 of file chunk.C.

References cid, mesh, modified, numElements, refineInProgress, and theElements.

void chunk::refineElement ( int  idx  ) 

Definition at line 48 of file chunk.C.

References cid, getVolume(), mesh, modified, numElements, refineInProgress, and theElements.

Here is the call graph for this function:

void chunk::refiningElements (  ) 

Definition at line 63 of file chunk.C.

References adjustMesh(), cid, Converse::CkMyPe(), CthYield(), getVolume(), mesh, modified, numChunks, numElements, print(), refineInProgress, and theElements.

Here is the call graph for this function:

void chunk::coarsenElement ( int  idx,
double  volume 
)

Definition at line 98 of file chunk.C.

References cid, coarsenInProgress, mesh, modified, numElements, and theElements.

void chunk::coarseningElements (  ) 

Definition at line 113 of file chunk.C.

References Converse::CkMyPe(), coarsenInProgress, CthYield(), getVolume(), mesh, modified, numElements, print(), and theElements.

Here is the call graph for this function:

void chunk::improveMesh (  ) 

Definition at line 136 of file chunk.C.

References numElements, and theElements.

void chunk::relocatePoints (  ) 

Definition at line 142 of file chunk.C.

References numNodes, and theNodes.

void chunk::flippingElements (  ) 

Definition at line 148 of file chunk.C.

References cid, and theElements.

intMsg * chunk::lockChunk ( int  lh,
double  prio 
)

Definition at line 157 of file chunk.C.

References intMsg::anInt, and lockLocalChunk().

Here is the call graph for this function:

void chunk::unlockChunk ( int  lh  ) 

Definition at line 262 of file chunk.C.

References unlockLocalChunk().

Here is the call graph for this function:

int chunk::lockLocalChunk ( int  lh,
double  prio 
)

Definition at line 164 of file chunk.C.

References free(), prioLockStruct::holder, insertLock(), lock, lockCount, lockHolder, lockList, lockPrio, prioLockStruct::next, prioLockStruct::prio, and removeLock().

Referenced by edge::buildLockingCloud(), edge::flipPrevent(), lockChunk(), element::lockLF(), element::refineCP(), element::refineLE(), and element::refineLF().

Here is the call graph for this function:

Here is the caller graph for this function:

void chunk::unlockLocalChunk ( int  lh  ) 

void chunk::removeLock ( int  lh  ) 

Definition at line 243 of file chunk.C.

References free(), prioLockStruct::holder, lockList, and prioLockStruct::next.

Referenced by lockLocalChunk().

Here is the call graph for this function:

Here is the caller graph for this function:

void chunk::insertLock ( int  lh,
double  prio 
)

Definition at line 213 of file chunk.C.

References prioLockStruct::holder, lockList, malloc(), prioLockStruct::next, and prioLockStruct::prio.

Referenced by lockLocalChunk().

Here is the call graph for this function:

Here is the caller graph for this function:

void chunk::print ( void   ) 

Definition at line 282 of file chunk.C.

References debug_counter, debug_print(), getAccessLock(), and releaseAccessLock().

Referenced by coarseningElements(), and refiningElements().

Here is the call graph for this function:

Here is the caller graph for this function:

void chunk::out_print (  ) 

Definition at line 290 of file chunk.C.

References cid, idx, numChunks, numElements, numNodes, theElements, and theNodes.

Referenced by multipleRefine().

Here is the caller graph for this function:

nodeMsg * chunk::getNode ( int  n  ) 

Definition at line 318 of file chunk.C.

References nodeMsg::coord, numNodes, and theNodes.

void chunk::updateNodeCoord ( nodeMsg m  ) 

Definition at line 328 of file chunk.C.

References CkFreeMsg(), nodeMsg::coord, nodeMsg::idx, numNodes, and theNodes.

Here is the call graph for this function:

void chunk::relocationVote ( nodeVoteMsg m  ) 

Definition at line 335 of file chunk.C.

References CkFreeMsg(), nodeVoteMsg::newCoord, numNodes, nodeVoteMsg::oldCoord, and theNodes.

Here is the call graph for this function:

doubleMsg * chunk::getVolume ( intMsg im  ) 

Definition at line 349 of file chunk.C.

References doubleMsg::aDouble, intMsg::anInt, CkFreeMsg(), numElements, and theElements.

Referenced by coarseningElements(), refine(), refineElement(), and refiningElements().

Here is the call graph for this function:

Here is the caller graph for this function:

void chunk::setTargetVolume ( doubleMsg dm  ) 

Definition at line 358 of file chunk.C.

References doubleMsg::aDouble, cid, CkFreeMsg(), doubleMsg::idx, mesh, modified, numElements, refineInProgress, and theElements.

Here is the call graph for this function:

void chunk::resetTargetVolume ( doubleMsg dm  ) 

Definition at line 371 of file chunk.C.

References doubleMsg::aDouble, CkFreeMsg(), doubleMsg::idx, modified, numElements, and theElements.

Here is the call graph for this function:

elemRef chunk::findNeighbor ( nodeRef  nr1,
nodeRef  nr2,
nodeRef  nr3,
int  lidx 
)

Definition at line 473 of file chunk.C.

References refMsg::cid, cid, objRef::cid, threeNodeMsg::coords, faceOnSurface(), refMsg::idx, objRef::idx, mesh, numChunks, numElements, theElements, and theNodes.

Referenced by deriveFaces().

Here is the call graph for this function:

Here is the caller graph for this function:

refMsg * chunk::findRemoteNeighbor ( threeNodeMsg tnm  ) 

Definition at line 511 of file chunk.C.

References cid, refMsg::cid, CkFreeMsg(), threeNodeMsg::coords, refMsg::idx, n1, n2, numElements, and theElements.

Here is the call graph for this function:

intMsg * chunk::checkFace ( int  idx,
elemRef  face 
)

Definition at line 410 of file chunk.C.

References intMsg::anInt, getAccessLock(), releaseAccessLock(), and theElements.

Here is the call graph for this function:

intMsg * chunk::checkFace ( int  idx,
node  n1,
node  n2,
node  n3,
elemRef  nbr 
)

Definition at line 419 of file chunk.C.

References intMsg::anInt, getAccessLock(), releaseAccessLock(), and theElements.

Here is the call graph for this function:

intMsg * chunk::lockLF ( int  idx,
node  n1,
node  n2,
node  n3,
node  n4,
elemRef  requester,
double  prio 
)

Definition at line 543 of file chunk.C.

References intMsg::anInt, forcedGetAccessLock(), releaseAccessLock(), and theElements.

Here is the call graph for this function:

splitResponse * chunk::splitLF ( int  idx,
node  in1,
node  in2,
node  in3,
node  in4,
elemRef  requester 
)

Definition at line 553 of file chunk.C.

References getAccessLock(), numElements, releaseAccessLock(), and theElements.

Here is the call graph for this function:

LEsplitResult * chunk::LEsplit ( LEsplitMsg lsm  ) 

lockResult * chunk::lockArc ( lockArcMsg lm  ) 

void chunk::unlockArc1 ( int  idx,
int  prio,
elemRef  parentRef,
elemRef  destRef,
node  aNode,
node  bNode 
)

Definition at line 585 of file chunk.C.

References forcedGetAccessLock(), releaseAccessLock(), and theElements.

Here is the call graph for this function:

void chunk::unlockArc2 ( int  idx,
int  prio,
elemRef  parentRef,
elemRef  destRef,
node  aNode,
node  bNode 
)

Definition at line 593 of file chunk.C.

References forcedGetAccessLock(), releaseAccessLock(), and theElements.

Here is the call graph for this function:

void chunk::updateFace ( int  idx,
int  rcid,
int  ridx 
)

Definition at line 601 of file chunk.C.

References numElements, and theElements.

Referenced by element::refineLF().

Here is the caller graph for this function:

void chunk::updateFace ( int  idx,
elemRef  oldElem,
elemRef  newElem 
)

Definition at line 607 of file chunk.C.

References numElements, and theElements.

flip23response * chunk::flip23remote ( flip23request fr  ) 

Definition at line 380 of file chunk.C.

References getAccessLock(), numElements, releaseAccessLock(), flip23request::requestee, and theElements.

Here is the call graph for this function:

flip32response * chunk::flip32remote ( flip32request fr  ) 

Definition at line 390 of file chunk.C.

References getAccessLock(), numElements, releaseAccessLock(), flip32request::requestee, and theElements.

Here is the call graph for this function:

flip32response * chunk::remove32element ( flip32request fr  ) 

Definition at line 400 of file chunk.C.

References getAccessLock(), numElements, releaseAccessLock(), flip32request::requestee, and theElements.

Here is the call graph for this function:

void chunk::debug_print ( int  c  ) 

Definition at line 430 of file chunk.C.

References cid, idx, numElements, numNodes, theElements, and theNodes.

Referenced by print().

Here is the caller graph for this function:

void chunk::splitAll ( nodeRef  le1,
nodeRef  le2,
nodeRef  mid,
int  elemId 
)

nodeRef chunk::findNode ( node  n  ) 

Definition at line 530 of file chunk.C.

References cid, objRef::cid, objRef::idx, numNodes, and theNodes.

Referenced by element::flip23(), element::flip23remote(), element::flip32(), and element::flip32remote().

Here is the caller graph for this function:

int chunk::nodeOnSurface ( int  n  ) 

Definition at line 614 of file chunk.C.

References theSurface.

Referenced by newMesh().

Here is the caller graph for this function:

int chunk::edgeOnSurface ( int  n1,
int  n2 
)

Definition at line 619 of file chunk.C.

References theSurface.

Referenced by element::refineLE().

Here is the caller graph for this function:

int chunk::faceOnSurface ( int  n1,
int  n2,
int  n2 
)

Definition at line 628 of file chunk.C.

References theSurface.

Referenced by findNeighbor(), and element::improveSurfaceNode().

Here is the caller graph for this function:

void chunk::updateFace ( int  n1,
int  n2,
int  n3,
int  oldNode,
int  newNode 
)

Definition at line 638 of file chunk.C.

References simpleAddFace(), simpleRemoveFace(), and simpleUpdateFace().

Here is the call graph for this function:

void chunk::addFace ( int  n1,
int  n2,
int  n3 
)

Definition at line 688 of file chunk.C.

References simpleAddFace().

Referenced by element::flip23(), element::flip23remote(), element::flip32(), element::flip32remote(), newMesh(), and element::refineLF().

Here is the call graph for this function:

Here is the caller graph for this function:

void chunk::removeFace ( int  n1,
int  n2,
int  n3 
)

Definition at line 695 of file chunk.C.

References simpleRemoveFace().

Referenced by element::flip23(), element::flip23remote(), element::flip32(), element::flip32remote(), and element::remove32element().

Here is the call graph for this function:

Here is the caller graph for this function:

void chunk::simpleAddFace ( int  n1,
int  n2,
int  n3 
)

Definition at line 702 of file chunk.C.

References theSurface.

Referenced by addFace(), and updateFace().

Here is the caller graph for this function:

void chunk::simpleUpdateFace ( int  n1,
int  n2,
int  n3,
int  newNode 
)

Definition at line 665 of file chunk.C.

References theSurface.

Referenced by updateFace().

Here is the caller graph for this function:

void chunk::simpleRemoveFace ( int  n1,
int  n2,
int  n3 
)

Definition at line 675 of file chunk.C.

References theSurface.

Referenced by removeFace(), and updateFace().

Here is the caller graph for this function:

void chunk::printSurface (  ) 

Definition at line 708 of file chunk.C.

References size, and theSurface.

Referenced by newMesh().

Here is the caller graph for this function:

void chunk::printEdgeLists (  ) 

void chunk::getAccessLock (  ) 

Definition at line 721 of file chunk.C.

References accessLock(), adjustLock(), and CthYield().

Referenced by checkFace(), flip23remote(), flip32remote(), forcedGetAccessLock(), print(), remove32element(), and splitLF().

Here is the call graph for this function:

Here is the caller graph for this function:

void chunk::forcedGetAccessLock (  ) 

Definition at line 728 of file chunk.C.

References accessLock(), adjustLock(), and getAccessLock().

Referenced by LEsplit(), lockArc(), lockLF(), unlockArc1(), and unlockArc2().

Here is the call graph for this function:

Here is the caller graph for this function:

void chunk::releaseAccessLock (  ) 

Definition at line 735 of file chunk.C.

References accessLock().

Referenced by checkFace(), flip23remote(), flip32remote(), LEsplit(), lockArc(), lockLF(), print(), remove32element(), splitLF(), unlockArc1(), and unlockArc2().

Here is the call graph for this function:

Here is the caller graph for this function:

void chunk::getAdjustLock (  ) 

Definition at line 740 of file chunk.C.

References accessLock(), adjustLock(), and CthYield().

Referenced by adjustMesh().

Here is the call graph for this function:

Here is the caller graph for this function:

void chunk::releaseAdjustLock (  ) 

Definition at line 747 of file chunk.C.

References adjustLock().

Referenced by adjustMesh().

Here is the call graph for this function:

Here is the caller graph for this function:

void chunk::allocMesh ( int  nEl  ) 

Definition at line 753 of file chunk.C.

References cid, sizeElements, sizeNodes, theElements, theNodes, and theSurface.

Referenced by newMesh().

Here is the caller graph for this function:

void chunk::adjustMesh (  ) 

Definition at line 764 of file chunk.C.

References cid, getAdjustLock(), numElements, releaseAdjustLock(), sizeElements, sizeNodes, theElements, theNodes, and theSurface.

Referenced by refiningElements().

Here is the call graph for this function:

Here is the caller graph for this function:

nodeRef chunk::addNode ( node n  ) 

elemRef chunk::addElement ( nodeRef nr1,
nodeRef nr2,
nodeRef nr3,
nodeRef nr4 
)

void chunk::removeNode ( intMsg im  ) 

Definition at line 816 of file chunk.C.

References intMsg::anInt, CkFreeMsg(), numNodes, and theNodes.

Referenced by nodeReplaceDelete().

Here is the call graph for this function:

Here is the caller graph for this function:

void chunk::removeElement ( intMsg im  ) 

Definition at line 823 of file chunk.C.

References intMsg::anInt, CkFreeMsg(), numElements, and theElements.

Referenced by element::collapse().

Here is the call graph for this function:

Here is the caller graph for this function:

void chunk::newMesh ( int  nEl,
int  nGhost,
const int conn_,
const int gid_,
int surface,
int  nSurFaces,
int  idxOffset 
)

Definition at line 831 of file chunk.C.

References addFace(), allocMesh(), cid, objRef::cid, objRef::idx, nodeOnSurface(), numElements, numNodes, printSurface(), theElements, and theNodes.

Referenced by newMesh().

Here is the call graph for this function:

Here is the caller graph for this function:

void chunk::updateNodeCoords ( int  nNode,
double *  coord,
int  nEl,
int  nFx,
int fixed 
)

Definition at line 899 of file chunk.C.

References cid, numElements, numNodes, and theNodes.

Referenced by REFINE2D_Coarsen(), REFINE2D_Split(), and updateNodeCoords().

Here is the caller graph for this function:

void chunk::deriveFaces (  ) 

Definition at line 878 of file chunk.C.

References cid, findNeighbor(), PUP::l, numElements, and theElements.

Here is the call graph for this function:

void chunk::refine ( double *  desiredVolume,
refineClient client 
)

Definition at line 917 of file chunk.C.

References cid, getVolume(), mesh, modified, numElements, refineInProgress, theClient, and theElements.

Here is the call graph for this function:

void chunk::coarsen ( double *  desiredVolume,
refineClient client 
)

Definition at line 933 of file chunk.C.

void chunk::improve ( refineClient client  ) 

Definition at line 937 of file chunk.C.

void chunk::newMesh ( meshMsg mm  ) 

Definition at line 942 of file chunk.C.

References CkFreeMsg(), meshMsg::conn, meshMsg::gid, meshMsg::idxOffset, newMesh(), meshMsg::numElements, meshMsg::numGhosts, meshMsg::numSurFaces, and meshMsg::surface.

Here is the call graph for this function:

void chunk::updateNodeCoords ( coordMsg cm  ) 

Definition at line 949 of file chunk.C.

References CkFreeMsg(), coordMsg::coords, coordMsg::fixedNodes, coordMsg::numElements, coordMsg::numFixed, coordMsg::numNodes, and updateNodeCoords().

Here is the call graph for this function:

void chunk::refine (  ) 

Definition at line 956 of file chunk.C.

References cid, getVolume(), and theElements.

Here is the call graph for this function:

void chunk::start (  ) 

Definition at line 973 of file chunk.C.

References cid, mesh, modified, and refineInProgress.

void chunk::improve (  ) 

Definition at line 982 of file chunk.C.

References cid, and mesh.

void chunk::finalizeImprovements (  ) 

Definition at line 987 of file chunk.C.

References cid, and mesh.

void chunk::checkRefine (  ) 

Definition at line 992 of file chunk.C.

References cid, numElements, and theElements.

void chunk::deriveNodes (  )  [private]

Definition at line 1420 of file tri.C.

References ArrayElement::CkAbort(), theElements, and theNodes.

Referenced by deriveEdges(), and newMesh().

Here is the call graph for this function:

Here is the caller graph for this function:

int chunk::edgeLocal ( elemRef  e1,
elemRef  e2 
) [private]

Definition at line 1445 of file tri.C.

References objRef::cid, and objRef::idx.

Referenced by deriveEdges(), and newMesh().

Here is the caller graph for this function:

int chunk::findEdge ( int  n1,
int  n2 
) [private]

int chunk::addNewEdge (  )  [private]

Definition at line 1458 of file tri.C.

References theEdges.

Referenced by newMesh().

Here is the caller graph for this function:

int chunk::getNbrRefOnEdge ( int  n1,
int  n2,
int conn,
int  nGhost,
int gid,
int  idx,
elemRef er 
) [private]

Definition at line 1465 of file tri.C.

References hasEdge(), and objRef::init().

Referenced by deriveBoundaries(), deriveEdges(), and newMesh().

Here is the call graph for this function:

Here is the caller graph for this function:

int chunk::hasEdge ( int  n1,
int  n2,
int conn,
int  idx 
) [private]

Definition at line 1478 of file tri.C.

References PUP::a, and PUP::b.

Referenced by getNbrRefOnEdge().

Here is the caller graph for this function:

void chunk::sanityCheck ( void   ) 

Definition at line 1276 of file tri.C.

References cid, ArrayElement::CkAbort(), theEdges, theElements, and theNodes.

Referenced by checkConn(), multipleCoarsen(), and updateNodeCoords().

Here is the call graph for this function:

Here is the caller graph for this function:

void chunk::setupThreadPrivate ( CthThread  forThread  )  [inline, virtual]

Implements TCharmClient1D.

Definition at line 491 of file tri.h.

void chunk::refineElement ( int  i,
double  area 
)

void chunk::refiningElements (  ) 

void chunk::updateElement ( int  i,
objRef  oldval,
objRef  newval 
)

Definition at line 899 of file tri.C.

References accessLock(), objRef::cid, objRef::idx, releaseLock(), and theEdges.

Here is the call graph for this function:

void chunk::specialRequest ( int  reqestee,
elemRef  requester 
)

Definition at line 908 of file tri.C.

References accessLock(), cid, mesh, modified, refineInProgress, releaseLock(), and theElements.

Here is the call graph for this function:

void chunk::specialRequestResponse ( int  i,
double  newNodeX,
double  newNodeY,
double  otherNodeX,
double  otherNodeY,
edgeRef  newLongEdgeRef 
)

Definition at line 921 of file tri.C.

References accessLock(), cid, mesh, modified, refineInProgress, releaseLock(), and theElements.

Here is the call graph for this function:

doubleMsg * chunk::getArea ( int  i  ) 

Definition at line 938 of file tri.C.

References accessLock(), doubleMsg::aDouble, releaseLock(), and theElements.

Referenced by multipleRefine(), and updateNodeCoords().

Here is the call graph for this function:

Here is the caller graph for this function:

intMsg* chunk::lock ( int  i  ) 

void chunk::unlock ( int  i  ) 

Definition at line 961 of file tri.C.

References accessLock(), releaseLock(), and theEdges.

Here is the call graph for this function:

intMsg * chunk::locked ( int  i  ) 

Definition at line 969 of file tri.C.

References accessLock(), intMsg::anInt, releaseLock(), and theEdges.

Here is the call graph for this function:

intMsg * chunk::checkElement ( objRef  oR,
int  i 
)

Definition at line 978 of file tri.C.

References accessLock(), intMsg::anInt, objRef::cid, objRef::idx, releaseLock(), and theElements.

Here is the call graph for this function:

refMsg * chunk::getNeighbor ( objRef  oR,
int  i 
)

Definition at line 989 of file tri.C.

References accessLock(), refMsg::aRef, objRef::cid, objRef::idx, releaseLock(), and theEdges.

Here is the call graph for this function:

void chunk::setTargetArea ( int  i,
double  area 
)

Definition at line 1000 of file tri.C.

References accessLock(), cid, mesh, modified, refineInProgress, releaseLock(), and theElements.

Here is the call graph for this function:

void chunk::updateEdges ( int  i,
edgeRef  e0,
edgeRef  e1,
edgeRef  e2 
)

Definition at line 1012 of file tri.C.

References accessLock(), releaseLock(), and theElements.

Here is the call graph for this function:

void chunk::unsetDependency ( int  i  ) 

Definition at line 1040 of file tri.C.

References accessLock(), cid, mesh, modified, refineInProgress, releaseLock(), and theElements.

Here is the call graph for this function:

void chunk::setDependent ( objRef  oR,
int  i 
)

Definition at line 1019 of file tri.C.

References accessLock(), cid, objRef::cid, objRef::idx, mesh, modified, refineInProgress, releaseLock(), and theElements.

Here is the call graph for this function:

intMsg * chunk::hasDependent ( int  i  ) 

Definition at line 1031 of file tri.C.

References accessLock(), intMsg::anInt, releaseLock(), and theElements.

Here is the call graph for this function:

void chunk::accessLock (  ) 

void chunk::releaseLock (  ) 

void chunk::adjustFlag (  ) 

Definition at line 1066 of file tri.C.

References meshExpandFlag.

void chunk::adjustLock (  ) 

Referenced by forcedGetAccessLock(), getAccessLock(), getAdjustLock(), and releaseAdjustLock().

Here is the caller graph for this function:

void chunk::adjustRelease (  ) 

Definition at line 1078 of file tri.C.

References meshExpandFlag, and meshLock.

void chunk::print (  ) 

void chunk::updateNodeCoords ( int  nNode,
double *  coord,
int  nEl 
)

Definition at line 1219 of file tri.C.

References cid, ArrayElement::CkAbort(), getArea(), sanityCheck(), theElements, and theNodes.

Here is the call graph for this function:

void chunk::multipleRefine ( double *  desiredArea,
refineClient client 
)

Definition at line 1248 of file tri.C.

References cid, Converse::CkMyPe(), getArea(), mesh, modified, numChunks, out_print(), refineInProgress, theClient, and theElements.

Referenced by REFINE2D_Split().

Here is the call graph for this function:

Here is the caller graph for this function:

void chunk::newMesh ( int  nEl,
int  nGhost,
const int conn_,
const int gid_,
int  idxOffset 
)

Definition at line 1341 of file tri.C.

References addNewEdge(), allocMesh(), objRef::cid, cid, conn, deriveNodes(), edgeLocal(), edges, getNbrRefOnEdge(), gid, objRef::idx, objRef::init(), mesh, nullRef, numGhosts, theEdges, and theElements.

Here is the call graph for this function:

void chunk::addRemoteEdge ( int  elem,
int  localEdge,
edgeRef  er 
)

Definition at line 1439 of file tri.C.

References CthYield(), and theElements.

Here is the call graph for this function:

void chunk::setModified (  )  [inline]

Definition at line 546 of file tri.h.

References modified.

Referenced by elemRef::setDependent(), and elemRef::unsetDependency().

Here is the caller graph for this function:

int chunk::isModified (  )  [inline]

Definition at line 547 of file tri.h.

References modified.

void chunk::setRefining (  )  [inline]

Definition at line 548 of file tri.h.

References refineInProgress.

Referenced by elemRef::setDependent(), and elemRef::unsetDependency().

Here is the caller graph for this function:

int chunk::isRefining (  )  [inline]

Definition at line 549 of file tri.h.

References refineInProgress.

Referenced by elemRef::setDependent(), and elemRef::unsetDependency().

Here is the caller graph for this function:

void chunk::allocMesh ( int  nEl  ) 

void chunk::adjustMesh (  ) 

int chunk::addNode ( node  n  ) 

Definition at line 1102 of file tri.C.

References numNodes, and theNodes.

edgeRef chunk::addEdge (  ) 

Definition at line 1111 of file tri.C.

References cid, numEdges, and theEdges.

Referenced by deriveEdges(), edge::split(), element::split(), element::splitBorderLocal(), element::splitHelp(), element::splitNeighborsLocal(), and element::splitResponse().

Here is the caller graph for this function:

elemRef chunk::addElement ( int  n1,
int  n2,
int  n3 
)

Definition at line 1119 of file tri.C.

References cid, mesh, modified, n, numElements, refineInProgress, and theElements.

elemRef chunk::addElement ( int  n1,
int  n2,
int  n3,
edgeRef  er1,
edgeRef  er2,
edgeRef  er3 
)

Definition at line 1134 of file tri.C.

References cid, mesh, modified, n, numElements, refineInProgress, and theElements.

void chunk::debug_print ( int  c  ) 

void chunk::out_print (  ) 

void chunk::setupThreadPrivate ( CthThread  forThread  )  [inline, private, virtual]

Implements TCharmClient1D.

Definition at line 134 of file tri.h.

void chunk::deriveNodes (  )  [private]

int chunk::edgeLocal ( elemRef  e1,
elemRef  e2 
) [private]

int chunk::getNbrRefOnEdge ( int  n1,
int  n2,
int conn,
int  nGhost,
int gid,
int  idx,
elemRef er 
) [private]

int chunk::hasEdge ( int  n1,
int  n2,
int conn,
int  idx 
) [private]

void chunk::sanityCheck ( void   ) 

void chunk::validCheck ( void   ) 

Definition at line 1569 of file tri.C.

References FEM_Entity::lookup(), FEM_Mesh::lookup(), meshPtr, and theNodes.

Here is the call graph for this function:

void chunk::deriveBoundaries ( int conn,
int gid 
)

Definition at line 1175 of file tri.C.

References objRef::cid, cid, getNbrRefOnEdge(), objRef::idx, numGhosts, and theNodes.

Referenced by newMesh().

Here is the call graph for this function:

Here is the caller graph for this function:

void chunk::tweakMesh (  ) 

Definition at line 1200 of file tri.C.

References cid.

void chunk::improveChunk (  ) 

Definition at line 1209 of file tri.C.

References cid.

void chunk::improve (  ) 

void chunk::deriveEdges ( int conn,
int gid,
const int edgeBounds,
const int edgeConn,
int  nEdges 
)

Definition at line 1004 of file tri.C.

References addEdge(), objRef::cid, cid, count, deriveNodes(), edgeLocal(), edges, edgeSlots, edgesSent, firstFreeEdge, firstFreeNode, getNbrRefOnEdge(), IDXL_Side::getRec(), objRef::idx, mesh, meshPtr, FEM_Mesh::node, nullRef, numGhosts, FEM_Node::shared, theEdges, and theNodes.

Referenced by newMesh().

Here is the call graph for this function:

Here is the caller graph for this function:

void chunk::refineElement ( int  idx,
double  area 
)

void chunk::refiningElements (  ) 

void chunk::coarsenElement ( int  idx,
double  area 
)

void chunk::coarseningElements (  ) 

intMsg * chunk::safeToMoveNode ( int  idx,
double  x,
double  y 
)

Definition at line 172 of file tri.C.

References accessLock(), intMsg::anInt, releaseLock(), and theNodes.

Here is the call graph for this function:

splitOutMsg * chunk::split ( int  idx,
elemRef  e,
int  oIdx,
int  fIdx 
)

Definition at line 182 of file tri.C.

References accessLock(), splitOutMsg::e, splitOutMsg::first, splitOutMsg::local, splitOutMsg::n, splitOutMsg::nullNbr, releaseLock(), splitOutMsg::result, and theEdges.

Here is the call graph for this function:

void chunk::collapse ( int  idx,
elemRef  e,
int  kIdx,
int  dIdx,
elemRef  kNbr,
elemRef  dNbr,
edgeRef  kEdge,
edgeRef  dEdge,
node  newN,
double  frac 
)

Definition at line 193 of file tri.C.

References accessLock(), releaseLock(), and theEdges.

Here is the call graph for this function:

splitOutMsg * chunk::flipPreventE ( int  idx,
elemRef  e,
int  kIdx,
int  dIdx,
elemRef  kNbr,
elemRef  dNbr,
edgeRef  kEdge,
edgeRef  dEdge,
node  newN 
)

Definition at line 202 of file tri.C.

References accessLock(), releaseLock(), splitOutMsg::result, and theEdges.

Here is the call graph for this function:

void chunk::nodeReplaceDelete ( int  kIdx,
int  dIdx,
node  nn,
int  shared,
int chk,
int idx 
)

Definition at line 214 of file tri.C.

References accessLock(), node::boundary, cid, edgeSlots, node::fixed, joinCommLists(), refineClient::nodeReplaceDelete(), refineClient::nodeUpdate(), releaseLock(), removeNode(), theClient, theEdges, theElements, theNodes, node::X(), and node::Y().

Referenced by edge::updateCloud().

Here is the call graph for this function:

Here is the caller graph for this function:

boolMsg * chunk::flipPrevent ( int  kIdx,
int  dIdx,
node  nn,
int  shared,
int chk,
int idx 
)

Definition at line 302 of file tri.C.

References boolMsg::aBool, theElements, and theNodes.

Referenced by edge::flipPrevent().

Here is the caller graph for this function:

intMsg * chunk::isPending ( int  idx,
objRef  e 
)

Definition at line 350 of file tri.C.

References accessLock(), intMsg::anInt, objRef::cid, objRef::idx, releaseLock(), and theEdges.

Here is the call graph for this function:

void chunk::checkPending ( int  idx,
objRef  aRef 
)

Definition at line 360 of file tri.C.

References accessLock(), objRef::cid, objRef::idx, releaseLock(), and theEdges.

Here is the call graph for this function:

void chunk::checkPending ( int  idx,
objRef  aRef1,
objRef  aRef2 
)

Definition at line 369 of file tri.C.

References accessLock(), objRef::cid, objRef::idx, releaseLock(), and theEdges.

Here is the call graph for this function:

void chunk::updateElement ( int  idx,
objRef  oldval,
objRef  newval,
int  b 
)

Definition at line 379 of file tri.C.

References accessLock(), cid, objRef::cid, getBoundary(), objRef::idx, releaseLock(), and theEdges.

Here is the call graph for this function:

void chunk::updateElementEdge ( int  idx,
objRef  oldval,
objRef  newval 
)

Definition at line 397 of file tri.C.

References accessLock(), objRef::cid, objRef::idx, releaseLock(), and theElements.

Here is the call graph for this function:

void chunk::updateReferences ( int  idx,
objRef  oldval,
objRef  newval 
)

Definition at line 407 of file tri.C.

References cid.

doubleMsg* chunk::getArea ( int  n  ) 

void chunk::resetEdge ( int  n  ) 

Definition at line 431 of file tri.C.

References accessLock(), releaseLock(), and theEdges.

Here is the call graph for this function:

refMsg * chunk::getNbr ( int  idx,
objRef  aRef 
)

Definition at line 438 of file tri.C.

References accessLock(), refMsg::aRef, objRef::cid, objRef::idx, releaseLock(), and theEdges.

Here is the call graph for this function:

void chunk::setTargetArea ( int  idx,
double  aDouble 
)

void chunk::resetTargetArea ( int  idx,
double  aDouble 
)

Definition at line 461 of file tri.C.

References accessLock(), releaseLock(), and theElements.

Here is the call graph for this function:

void chunk::reportPos ( int  idx,
double  x,
double  y 
)

Definition at line 468 of file tri.C.

References accessLock(), releaseLock(), and theNodes.

Here is the call graph for this function:

void chunk::accessLock (  ) 

void chunk::releaseLock (  ) 

void chunk::adjustFlag (  ) 

void chunk::adjustLock (  ) 

void chunk::adjustRelease (  ) 

void chunk::print (  ) 

void chunk::newMesh ( int  meshID_,
int  nEl,
int  nGhost,
const int conn_,
const int gid_,
int  nnodes,
const int boundaries,
int  nEdges,
const int edgeConn,
const int edgeBounds,
int  idxOffset 
)

Definition at line 933 of file tri.C.

References allocMesh(), cid, conn, deriveBoundaries(), deriveEdges(), edges, gid, meshID, meshPtr, MPI_Barrier, numGhosts, objRef::reset(), and theNodes.

Here is the call graph for this function:

void chunk::multipleRefine ( double *  desiredArea,
refineClient client 
)

void chunk::multipleCoarsen ( double *  desiredArea,
refineClient client 
)

Definition at line 872 of file tri.C.

References cid, CkWaitQD(), CmiMemoryCheck(), coarsenElements, coarsenInProgress, chunk::elemHeap::elID, Insert(), chunk::elemHeap::len, mesh, sanityCheck(), and theClient.

Referenced by REFINE2D_Coarsen().

Here is the call graph for this function:

Here is the caller graph for this function:

void chunk::updateNodeCoords ( int  nNode,
double *  coord,
int  nEl 
)

void chunk::addRemoteEdge ( int  elem,
int  localEdge,
edgeRef  er 
)

void chunk::setRefining (  )  [inline]

Definition at line 273 of file tri.h.

References refineInProgress.

int chunk::isRefining (  )  [inline]

Definition at line 274 of file tri.h.

References refineInProgress.

void chunk::allocMesh ( int  nEl  ) 

void chunk::adjustMesh (  ) 

intMsg * chunk::addNode ( node  n,
int  b1,
int  b2,
int  internal 
)

Definition at line 555 of file tri.C.

References intMsg::anInt, firstFreeNode, nodeSlots, numNodes, and theNodes.

edgeRef chunk::addEdge ( int  n1,
int  n2,
int  b 
)

Definition at line 571 of file tri.C.

References cid, edgeSlots, firstFreeEdge, numEdges, and theEdges.

edgeRef chunk::addEdge ( int  n1,
int  n2,
const int edgeBounds,
const int edgeConn,
int  nEdges 
)

Definition at line 589 of file tri.C.

References cid, firstFreeEdge, numEdges, and theEdges.

elemRef chunk::addElement ( int  n1,
int  n2,
int  n3 
)

elemRef chunk::addElement ( int  n1,
int  n2,
int  n3,
edgeRef  er1,
edgeRef  er2,
edgeRef  er3 
)

void chunk::removeNode ( int  n  ) 

Definition at line 648 of file tri.C.

References cid, firstFreeNode, nodeSlots, numNodes, and theNodes.

void chunk::removeEdge ( int  n  ) 

Definition at line 664 of file tri.C.

References cid, edgeSlots, firstFreeEdge, numEdges, and theEdges.

Referenced by edge::unlockCloudRemoveEdge().

Here is the caller graph for this function:

void chunk::removeElement ( int  n  ) 

Definition at line 686 of file tri.C.

References cid, firstFreeElement, numElements, and theElements.

void chunk::debug_print ( int  c  ) 

void chunk::out_print (  ) 

void chunk::dump (  ) 

Definition at line 1263 of file tri.C.

References cid, edges, theEdges, and theNodes.

intMsg * chunk::lockChunk ( int  lhc,
int  lhi,
double  prio 
)

Definition at line 1285 of file tri.C.

References intMsg::anInt, and lockLocalChunk().

Here is the call graph for this function:

void chunk::unlockChunk ( int  lhc,
int  lhi 
)

Definition at line 1402 of file tri.C.

References unlockLocalChunk().

Here is the call graph for this function:

int chunk::lockLocalChunk ( int  lhc,
int  lhi,
double  prio 
)

void chunk::unlockLocalChunk ( int  lhc,
int  lhi 
)

Definition at line 1407 of file tri.C.

References cid, Converse::CkMyPe(), lock, lockHolderCid, lockHolderIdx, and lockPrio.

Here is the call graph for this function:

void chunk::removeLock ( int  lhc,
int  lhi 
)

Definition at line 1382 of file tri.C.

References free(), prioLockStruct::holderCid, prioLockStruct::holderIdx, lockList, and prioLockStruct::next.

Here is the call graph for this function:

void chunk::insertLock ( int  lhc,
int  lhi,
double  prio 
)

Definition at line 1347 of file tri.C.

References prioLockStruct::holderCid, prioLockStruct::holderIdx, lockList, malloc(), prioLockStruct::next, and prioLockStruct::prio.

Here is the call graph for this function:

void chunk::fixNode ( int  nIdx,
int  chkid 
)

Definition at line 1428 of file tri.C.

References cid, IDXL_Side::getList(), meshPtr, FEM_Mesh::node, FEM_Node::shared, and theNodes.

Here is the call graph for this function:

int chunk::joinCommLists ( int  nIdx,
int  shd,
int chk,
int idx,
int rChk,
int rIdx 
)

Definition at line 1440 of file tri.C.

References count, free(), IDXL_Side::getRec(), index, int, malloc(), meshPtr, FEM_Mesh::node, FEM_Node::shared, and theNodes.

Referenced by nodeReplaceDelete().

Here is the call graph for this function:

Here is the caller graph for this function:

void chunk::addToStack ( int  eIdx,
double  len,
int  cFlag 
)

void chunk::rebubble ( int  cFlag  ) 

void chunk::Insert ( int  elID,
double  len,
int  cFlag 
)

Definition at line 1479 of file tri.C.

References coarsenElements, coarsenHeapSize, chunk::elemHeap::elID, chunk::elemHeap::len, refineElements, and refineHeapSize.

Referenced by multipleCoarsen().

Here is the caller graph for this function:

int chunk::Delete_Min ( int  cFlag  ) 

intMsg * chunk::getBoundary ( int  edgeIdx  ) 

Definition at line 1561 of file tri.C.

References intMsg::anInt, and theEdges.

Referenced by updateElement().

Here is the caller graph for this function:

void chunk::incnonCoarsen ( int  idx  ) 

Definition at line 336 of file tri.C.

References accessLock(), releaseLock(), and theElements.

Here is the call graph for this function:

void chunk::resetnonCoarsen ( int  idx  ) 

Definition at line 343 of file tri.C.

References accessLock(), releaseLock(), and theElements.

Here is the call graph for this function:

intMsg * chunk::neighboring ( int  idx,
elemRef  e 
)

Definition at line 1585 of file tri.C.

References intMsg::anInt.

intMsg * chunk::safeToCoarsen ( int  idx,
edgeRef  e 
)

Definition at line 1592 of file tri.C.

References intMsg::anInt.


Field Documentation

int chunk::cid [private]

int chunk::numNodes [private]

int chunk::numChunks [private]

Definition at line 53 of file chunk.h.

Referenced by chunk(), findNeighbor(), multipleRefine(), out_print(), and refiningElements().

Definition at line 56 of file chunk.h.

Referenced by addElement(), adjustMesh(), and allocMesh().

int chunk::sizeNodes [private]

Definition at line 56 of file chunk.h.

Referenced by adjustMesh(), and allocMesh().

int chunk::additions [private]

Definition at line 59 of file chunk.h.

Definition at line 59 of file chunk.h.

Definition at line 65 of file chunk.h.

Referenced by print().

Definition at line 65 of file chunk.h.

Referenced by coarsenElement(), coarseningElements(), and multipleCoarsen().

int chunk::modified [private]

void chunk::accessLock [private]

Definition at line 67 of file chunk.h.

void chunk::adjustLock [private]

Definition at line 67 of file chunk.h.

Definition at line 69 of file chunk.h.

Referenced by lockLocalChunk(), and unlockLocalChunk().

Definition at line 69 of file chunk.h.

Referenced by lockLocalChunk(), and unlockLocalChunk().

Definition at line 69 of file chunk.h.

Referenced by lockLocalChunk(), and unlockLocalChunk().

Definition at line 70 of file chunk.h.

Referenced by lockLocalChunk(), and unlockLocalChunk().

Definition at line 71 of file chunk.h.

Definition at line 72 of file chunk.h.

Referenced by insertLock(), lockLocalChunk(), and removeLock().

std::vector<node> chunk::theNodes

std::vector<std::vector<int> > chunk::theSurface

Definition at line 80 of file chunk.h.

Referenced by chunk(), refineResults::extract(), getResults(), and REFINE2D_Split().

int chunk::sizeEdges [private]

Definition at line 444 of file tri.h.

int chunk::meshLock [private]

Definition at line 461 of file tri.h.

Referenced by adjustRelease(), and releaseLock().

Definition at line 461 of file tri.h.

Referenced by adjustFlag(), and adjustRelease().

Definition at line 473 of file tri.h.

Definition at line 477 of file tri.h.

Referenced by addEdge(), and removeEdge().

Definition at line 477 of file tri.h.

Referenced by deriveBoundaries(), deriveEdges(), and newMesh().

Definition at line 478 of file tri.h.

std::vector<edge> chunk::theEdges

std::vector<node> chunk::theNodes

Definition at line 480 of file tri.h.

Definition at line 483 of file tri.h.

Definition at line 121 of file tri.h.

Referenced by removeElement().

Definition at line 121 of file tri.h.

Referenced by addEdge(), deriveEdges(), and removeEdge().

Definition at line 121 of file tri.h.

Referenced by addNode(), deriveEdges(), and removeNode().

int chunk::edgesSent [private]

Definition at line 123 of file tri.h.

Referenced by deriveEdges().

Definition at line 123 of file tri.h.

int chunk::first [private]

Definition at line 123 of file tri.h.

Definition at line 129 of file tri.h.

Referenced by Delete_Min(), Insert(), and multipleCoarsen().

Definition at line 130 of file tri.h.

Referenced by Delete_Min(), and Insert().

Definition at line 131 of file tri.h.

int chunk::refineTop [private]

Definition at line 132 of file tri.h.

Definition at line 132 of file tri.h.

Referenced by Delete_Min(), and Insert().

Definition at line 132 of file tri.h.

Referenced by Delete_Min(), and Insert().

int* chunk::conn [private]

Definition at line 138 of file tri.h.

Referenced by newMesh().

int * chunk::gid [private]

Definition at line 138 of file tri.h.

Referenced by newMesh().

Definition at line 169 of file tri.h.

Referenced by newMesh().

Definition at line 172 of file tri.h.

Definition at line 173 of file tri.h.

Referenced by getCoarsenResults(), and REFINE2D_Coarsen().

Definition at line 176 of file tri.h.

std::vector<edge> chunk::theEdges

Definition at line 177 of file tri.h.

std::vector<node> chunk::theNodes

Definition at line 178 of file tri.h.

Definition at line 181 of file tri.h.

Definition at line 184 of file tri.h.

Definition at line 184 of file tri.h.

Referenced by addEdge(), deriveEdges(), nodeReplaceDelete(), and removeEdge().

Definition at line 184 of file tri.h.

Referenced by addNode(), and removeNode().

Definition at line 186 of file tri.h.

Referenced by lockLocalChunk(), and unlockLocalChunk().

Definition at line 186 of file tri.h.

Referenced by lockLocalChunk(), and unlockLocalChunk().


The documentation for this class was generated from the following files:

Generated on Mon Sep 21 08:18:57 2020 for Charm++ by  doxygen 1.5.5