#include <chunk.h>
Definition at line 50 of file chunk.h.
chunk::chunk | ( | int | nChunks | ) |
Definition at line 19 of file chunk.C.
References cid, numChunks, refineResultsStorage, and ArrayElementT< CkIndex1D >::thisIndex.
chunk::chunk | ( | CkMigrateMessage * | ) | [inline] |
chunk::chunk | ( | chunkMsg * | m | ) |
Definition at line 834 of file tri.C.
References cid, CkFreeMsg(), chunkMsg::nChunks, numChunks, refineResultsStorage, TCharm::resume(), TCharmClient1D::tcharmClientInit(), ArrayElementT< CkIndex1D >::thisIndex, and TCharmClient1D::thread.
chunk::chunk | ( | CkMigrateMessage * | m | ) | [inline] |
chunk::chunk | ( | chunkMsg * | ) |
chunk::chunk | ( | CkMigrateMessage * | m | ) | [inline] |
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.
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.
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.
void chunk::improveMesh | ( | ) |
void chunk::relocatePoints | ( | ) |
void chunk::flippingElements | ( | ) |
Definition at line 157 of file chunk.C.
References intMsg::anInt, and lockLocalChunk().
void chunk::unlockChunk | ( | int | lh | ) |
Definition at line 262 of file chunk.C.
References unlockLocalChunk().
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().
void chunk::unlockLocalChunk | ( | int | lh | ) |
Definition at line 267 of file chunk.C.
References lock, lockCount, lockHolder, and lockPrio.
Referenced by edge::buildLockingCloud(), edge::flipPrevent(), element::lockArc(), element::lockLF(), element::refineCP(), element::refineLE(), element::refineLF(), element::unlockArc1(), element::unlockArc2(), unlockChunk(), and edge::unlockCloudRemoveEdge().
void chunk::removeLock | ( | int | lh | ) |
Definition at line 243 of file chunk.C.
References free(), prioLockStruct::holder, lockList, and prioLockStruct::next.
Referenced by lockLocalChunk().
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().
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().
void chunk::out_print | ( | ) |
Definition at line 290 of file chunk.C.
References cid, idx, numChunks, numElements, numNodes, theElements, and theNodes.
Referenced by multipleRefine().
void chunk::updateNodeCoord | ( | nodeMsg * | m | ) |
Definition at line 328 of file chunk.C.
References CkFreeMsg(), nodeMsg::coord, nodeMsg::idx, numNodes, and theNodes.
void chunk::relocationVote | ( | nodeVoteMsg * | m | ) |
Definition at line 335 of file chunk.C.
References CkFreeMsg(), nodeVoteMsg::newCoord, numNodes, nodeVoteMsg::oldCoord, and theNodes.
Definition at line 349 of file chunk.C.
References doubleMsg::aDouble, intMsg::anInt, CkFreeMsg(), numElements, and theElements.
Referenced by coarseningElements(), refine(), refineElement(), and refiningElements().
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.
void chunk::resetTargetVolume | ( | doubleMsg * | dm | ) |
Definition at line 371 of file chunk.C.
References doubleMsg::aDouble, CkFreeMsg(), doubleMsg::idx, modified, numElements, and theElements.
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().
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.
Definition at line 410 of file chunk.C.
References intMsg::anInt, getAccessLock(), releaseAccessLock(), and theElements.
Definition at line 419 of file chunk.C.
References intMsg::anInt, getAccessLock(), releaseAccessLock(), and theElements.
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.
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.
LEsplitResult * chunk::LEsplit | ( | LEsplitMsg * | lsm | ) |
Definition at line 563 of file chunk.C.
References LEsplitMsg::a, LEsplitMsg::b, CkFreeMsg(), forcedGetAccessLock(), LEsplitMsg::idx, LEsplitMsg::newElem, LEsplitMsg::newNode, LEsplitMsg::newNodeRef, LEsplitMsg::newRootElem, LEsplitMsg::parent, releaseAccessLock(), LEsplitMsg::root, LEsplitMsg::targetElem, LEsplitMsg::targetVol, and theElements.
lockResult * chunk::lockArc | ( | lockArcMsg * | lm | ) |
Definition at line 574 of file chunk.C.
References lockArcMsg::a, lockArcMsg::b, CkFreeMsg(), lockArcMsg::destRef, forcedGetAccessLock(), lockArcMsg::idx, lockArcMsg::parentRef, lockArcMsg::prio, lockArcMsg::prioRef, releaseAccessLock(), and theElements.
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.
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.
Definition at line 601 of file chunk.C.
References numElements, and theElements.
Referenced by element::refineLF().
flip23response * chunk::flip23remote | ( | flip23request * | fr | ) |
Definition at line 380 of file chunk.C.
References getAccessLock(), numElements, releaseAccessLock(), flip23request::requestee, and theElements.
flip32response * chunk::flip32remote | ( | flip32request * | fr | ) |
Definition at line 390 of file chunk.C.
References getAccessLock(), numElements, releaseAccessLock(), flip32request::requestee, and theElements.
flip32response * chunk::remove32element | ( | flip32request * | fr | ) |
Definition at line 400 of file chunk.C.
References getAccessLock(), numElements, releaseAccessLock(), flip32request::requestee, and theElements.
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().
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().
Definition at line 614 of file chunk.C.
References theSurface.
Referenced by newMesh().
Definition at line 619 of file chunk.C.
References theSurface.
Referenced by element::refineLE().
Definition at line 628 of file chunk.C.
References theSurface.
Referenced by findNeighbor(), and element::improveSurfaceNode().
Definition at line 638 of file chunk.C.
References simpleAddFace(), simpleRemoveFace(), and simpleUpdateFace().
Definition at line 688 of file chunk.C.
References simpleAddFace().
Referenced by element::flip23(), element::flip23remote(), element::flip32(), element::flip32remote(), newMesh(), and element::refineLF().
Definition at line 695 of file chunk.C.
References simpleRemoveFace().
Referenced by element::flip23(), element::flip23remote(), element::flip32(), element::flip32remote(), and element::remove32element().
Definition at line 702 of file chunk.C.
References theSurface.
Referenced by addFace(), and updateFace().
Definition at line 665 of file chunk.C.
References theSurface.
Referenced by updateFace().
Definition at line 675 of file chunk.C.
References theSurface.
Referenced by removeFace(), and updateFace().
void chunk::printSurface | ( | ) |
Definition at line 708 of file chunk.C.
References size, and theSurface.
Referenced by newMesh().
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().
void chunk::forcedGetAccessLock | ( | ) |
Definition at line 728 of file chunk.C.
References accessLock(), adjustLock(), and getAccessLock().
Referenced by LEsplit(), lockArc(), lockLF(), unlockArc1(), and unlockArc2().
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().
void chunk::getAdjustLock | ( | ) |
Definition at line 740 of file chunk.C.
References accessLock(), adjustLock(), and CthYield().
Referenced by adjustMesh().
void chunk::releaseAdjustLock | ( | ) |
Definition at line 747 of file chunk.C.
References adjustLock().
Referenced by adjustMesh().
void chunk::allocMesh | ( | int | nEl | ) |
Definition at line 753 of file chunk.C.
References cid, sizeElements, sizeNodes, theElements, theNodes, and theSurface.
Referenced by newMesh().
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().
Definition at line 787 of file chunk.C.
References cid, node::isFixed(), numNodes, node::onSurface(), and theNodes.
Referenced by element::flip23(), element::flip23remote(), element::flip32(), element::flip32remote(), element::LEsplit(), element::refineCP(), element::refineLE(), element::refineLF(), element::splitBorderLocal(), element::splitHelp(), element::splitLF(), element::splitNeighborsLocal(), and element::splitResponse().
Definition at line 800 of file chunk.C.
References cid, objRef::idx, n, numElements, numNodes, sizeElements, and theElements.
Referenced by element::flip23(), element::flip23remote(), element::LEsplit(), element::refineCP(), element::refineLE(), element::refineLF(), element::split(), element::splitBorderLocal(), element::splitHelp(), element::splitLF(), element::splitNeighborsLocal(), and element::splitResponse().
void chunk::removeNode | ( | intMsg * | im | ) |
Definition at line 816 of file chunk.C.
References intMsg::anInt, CkFreeMsg(), numNodes, and theNodes.
Referenced by nodeReplaceDelete().
void chunk::removeElement | ( | intMsg * | im | ) |
Definition at line 823 of file chunk.C.
References intMsg::anInt, CkFreeMsg(), numElements, and theElements.
Referenced by element::collapse().
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().
Definition at line 899 of file chunk.C.
References cid, numElements, numNodes, and theNodes.
Referenced by REFINE2D_Coarsen(), REFINE2D_Split(), and updateNodeCoords().
void chunk::deriveFaces | ( | ) |
Definition at line 878 of file chunk.C.
References cid, findNeighbor(), PUP::l, numElements, and theElements.
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.
void chunk::coarsen | ( | double * | desiredVolume, | |
refineClient * | client | |||
) |
void chunk::improve | ( | refineClient * | client | ) |
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.
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().
void chunk::refine | ( | ) |
Definition at line 956 of file chunk.C.
References cid, getVolume(), and theElements.
void chunk::start | ( | ) |
void chunk::finalizeImprovements | ( | ) |
void chunk::checkRefine | ( | ) |
void chunk::deriveNodes | ( | ) | [private] |
Definition at line 1420 of file tri.C.
References ArrayElement::CkAbort(), theElements, and theNodes.
Referenced by deriveEdges(), and newMesh().
Definition at line 1445 of file tri.C.
References objRef::cid, and objRef::idx.
Referenced by deriveEdges(), and newMesh().
int chunk::addNewEdge | ( | ) | [private] |
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().
Definition at line 1478 of file tri.C.
References PUP::a, and PUP::b.
Referenced by getNbrRefOnEdge().
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().
void chunk::setupThreadPrivate | ( | CthThread | forThread | ) | [inline, virtual] |
void chunk::refineElement | ( | int | i, | |
double | area | |||
) |
void chunk::refiningElements | ( | ) |
Definition at line 899 of file tri.C.
References accessLock(), objRef::cid, objRef::idx, releaseLock(), and theEdges.
Definition at line 908 of file tri.C.
References accessLock(), cid, mesh, modified, refineInProgress, releaseLock(), and theElements.
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.
Definition at line 938 of file tri.C.
References accessLock(), doubleMsg::aDouble, releaseLock(), and theElements.
Referenced by multipleRefine(), and updateNodeCoords().
intMsg* chunk::lock | ( | int | i | ) |
void chunk::unlock | ( | int | i | ) |
Definition at line 961 of file tri.C.
References accessLock(), releaseLock(), and theEdges.
Definition at line 969 of file tri.C.
References accessLock(), intMsg::anInt, releaseLock(), and theEdges.
Definition at line 978 of file tri.C.
References accessLock(), intMsg::anInt, objRef::cid, objRef::idx, releaseLock(), and theElements.
Definition at line 989 of file tri.C.
References accessLock(), refMsg::aRef, objRef::cid, objRef::idx, releaseLock(), and theEdges.
void chunk::setTargetArea | ( | int | i, | |
double | area | |||
) |
Definition at line 1000 of file tri.C.
References accessLock(), cid, mesh, modified, refineInProgress, releaseLock(), and theElements.
Definition at line 1012 of file tri.C.
References accessLock(), releaseLock(), and theElements.
void chunk::unsetDependency | ( | int | i | ) |
Definition at line 1040 of file tri.C.
References accessLock(), cid, mesh, modified, refineInProgress, releaseLock(), and theElements.
Definition at line 1019 of file tri.C.
References accessLock(), cid, objRef::cid, objRef::idx, mesh, modified, refineInProgress, releaseLock(), and theElements.
Definition at line 1031 of file tri.C.
References accessLock(), intMsg::anInt, releaseLock(), and theElements.
void chunk::accessLock | ( | ) |
Referenced by checkElement(), checkPending(), collapse(), flipPreventE(), forcedGetAccessLock(), getAccessLock(), getAdjustLock(), getArea(), getNbr(), getNeighbor(), hasDependent(), incnonCoarsen(), isPending(), locked(), nodeReplaceDelete(), releaseAccessLock(), reportPos(), resetEdge(), resetnonCoarsen(), resetTargetArea(), safeToMoveNode(), setDependent(), setTargetArea(), specialRequest(), specialRequestResponse(), split(), unlock(), unsetDependency(), updateEdges(), updateElement(), and updateElementEdge().
void chunk::releaseLock | ( | ) |
Definition at line 1061 of file tri.C.
References meshLock.
Referenced by checkElement(), checkPending(), collapse(), flipPreventE(), getArea(), getNbr(), getNeighbor(), hasDependent(), incnonCoarsen(), isPending(), locked(), nodeReplaceDelete(), reportPos(), resetEdge(), resetnonCoarsen(), resetTargetArea(), safeToMoveNode(), setDependent(), setTargetArea(), specialRequest(), specialRequestResponse(), split(), unlock(), unsetDependency(), updateEdges(), updateElement(), and updateElementEdge().
void chunk::adjustFlag | ( | ) |
void chunk::adjustLock | ( | ) |
Referenced by forcedGetAccessLock(), getAccessLock(), getAdjustLock(), and releaseAdjustLock().
void chunk::adjustRelease | ( | ) |
void chunk::print | ( | ) |
Definition at line 1219 of file tri.C.
References cid, ArrayElement::CkAbort(), getArea(), sanityCheck(), theElements, and theNodes.
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().
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.
Definition at line 1439 of file tri.C.
References CthYield(), and theElements.
void chunk::setModified | ( | ) | [inline] |
Definition at line 546 of file tri.h.
References modified.
Referenced by elemRef::setDependent(), and elemRef::unsetDependency().
void chunk::setRefining | ( | ) | [inline] |
Definition at line 548 of file tri.h.
References refineInProgress.
Referenced by elemRef::setDependent(), and elemRef::unsetDependency().
int chunk::isRefining | ( | ) | [inline] |
Definition at line 549 of file tri.h.
References refineInProgress.
Referenced by elemRef::setDependent(), and elemRef::unsetDependency().
void chunk::allocMesh | ( | int | nEl | ) |
void chunk::adjustMesh | ( | ) |
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().
Definition at line 1119 of file tri.C.
References cid, mesh, modified, n, numElements, refineInProgress, and theElements.
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] |
void chunk::deriveNodes | ( | ) | [private] |
int chunk::getNbrRefOnEdge | ( | int | n1, | |
int | n2, | |||
int * | conn, | |||
int | nGhost, | |||
int * | gid, | |||
int | idx, | |||
elemRef * | er | |||
) | [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.
Definition at line 1175 of file tri.C.
References objRef::cid, cid, getNbrRefOnEdge(), objRef::idx, numGhosts, and theNodes.
Referenced by newMesh().
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().
void chunk::refineElement | ( | int | idx, | |
double | area | |||
) |
void chunk::refiningElements | ( | ) |
void chunk::coarsenElement | ( | int | idx, | |
double | area | |||
) |
void chunk::coarseningElements | ( | ) |
Definition at line 172 of file tri.C.
References accessLock(), intMsg::anInt, releaseLock(), and theNodes.
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.
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.
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.
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().
Definition at line 302 of file tri.C.
References boolMsg::aBool, theElements, and theNodes.
Referenced by edge::flipPrevent().
Definition at line 350 of file tri.C.
References accessLock(), intMsg::anInt, objRef::cid, objRef::idx, releaseLock(), and theEdges.
Definition at line 360 of file tri.C.
References accessLock(), objRef::cid, objRef::idx, releaseLock(), and theEdges.
Definition at line 369 of file tri.C.
References accessLock(), objRef::cid, objRef::idx, releaseLock(), and theEdges.
Definition at line 379 of file tri.C.
References accessLock(), cid, objRef::cid, getBoundary(), objRef::idx, releaseLock(), and theEdges.
Definition at line 397 of file tri.C.
References accessLock(), objRef::cid, objRef::idx, releaseLock(), and theElements.
void chunk::resetEdge | ( | int | n | ) |
Definition at line 431 of file tri.C.
References accessLock(), releaseLock(), and theEdges.
Definition at line 438 of file tri.C.
References accessLock(), refMsg::aRef, objRef::cid, objRef::idx, releaseLock(), and theEdges.
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.
void chunk::reportPos | ( | int | idx, | |
double | x, | |||
double | y | |||
) |
Definition at line 468 of file tri.C.
References accessLock(), releaseLock(), and theNodes.
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.
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().
void chunk::setRefining | ( | ) | [inline] |
int chunk::isRefining | ( | ) | [inline] |
void chunk::allocMesh | ( | int | nEl | ) |
void chunk::adjustMesh | ( | ) |
Definition at line 555 of file tri.C.
References intMsg::anInt, firstFreeNode, nodeSlots, numNodes, and theNodes.
void chunk::removeNode | ( | int | n | ) |
void chunk::removeEdge | ( | int | n | ) |
Definition at line 664 of file tri.C.
References cid, edgeSlots, firstFreeEdge, numEdges, and theEdges.
Referenced by edge::unlockCloudRemoveEdge().
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 1285 of file tri.C.
References intMsg::anInt, and lockLocalChunk().
Definition at line 1402 of file tri.C.
References unlockLocalChunk().
Definition at line 1292 of file tri.C.
References cid, Converse::CkMyPe(), prioLockStruct::holderCid, prioLockStruct::holderIdx, insertLock(), lock, lockHolderCid, lockHolderIdx, lockList, lockPrio, prioLockStruct::next, prioLockStruct::prio, and removeLock().
Definition at line 1407 of file tri.C.
References cid, Converse::CkMyPe(), lock, lockHolderCid, lockHolderIdx, and lockPrio.
Definition at line 1382 of file tri.C.
References free(), prioLockStruct::holderCid, prioLockStruct::holderIdx, lockList, and prioLockStruct::next.
Definition at line 1347 of file tri.C.
References prioLockStruct::holderCid, prioLockStruct::holderIdx, lockList, malloc(), prioLockStruct::next, and prioLockStruct::prio.
Definition at line 1428 of file tri.C.
References cid, IDXL_Side::getList(), meshPtr, FEM_Mesh::node, FEM_Node::shared, and theNodes.
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().
void chunk::rebubble | ( | 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().
Definition at line 1507 of file tri.C.
References coarsenElements, coarsenHeapSize, chunk::elemHeap::elID, chunk::elemHeap::len, len, refineElements, and refineHeapSize.
Definition at line 1561 of file tri.C.
References intMsg::anInt, and theEdges.
Referenced by updateElement().
void chunk::incnonCoarsen | ( | int | idx | ) |
Definition at line 336 of file tri.C.
References accessLock(), releaseLock(), and theElements.
void chunk::resetnonCoarsen | ( | int | idx | ) |
Definition at line 343 of file tri.C.
References accessLock(), releaseLock(), and theElements.
int chunk::cid [private] |
Definition at line 53 of file chunk.h.
Referenced by addEdge(), addElement(), addNode(), adjustMesh(), allocMesh(), checkConn(), elemRef::checkIfLongEdge(), checkRefine(), chunk(), coarsenElement(), debug_print(), deriveBoundaries(), deriveEdges(), deriveFaces(), dump(), finalizeImprovements(), findNeighbor(), findNode(), findRemoteNeighbor(), fixNode(), flippingElements(), elemRef::getArea(), elemRef::hasDependent(), improve(), improveChunk(), element::init(), edge::init(), edgeRef::lock(), edgeRef::locked(), lockLocalChunk(), multipleCoarsen(), multipleRefine(), newMesh(), nodeReplaceDelete(), out_print(), refine(), refineElement(), refiningElements(), removeEdge(), removeElement(), removeNode(), sanityCheck(), setDependent(), elemRef::setDependent(), setTargetArea(), elemRef::setTargetArea(), setTargetVolume(), specialRequest(), specialRequestResponse(), start(), tweakMesh(), edgeRef::unlock(), unlockLocalChunk(), unsetDependency(), elemRef::unsetDependency(), elemRef::updateEdges(), updateElement(), edgeRef::updateElement(), updateNodeCoords(), and updateReferences().
int chunk::numElements [private] |
Definition at line 53 of file chunk.h.
Referenced by addElement(), adjustMesh(), checkConn(), checkRefine(), coarsenElement(), coarseningElements(), debug_print(), deriveFaces(), findNeighbor(), findRemoteNeighbor(), flip23remote(), flip32remote(), getVolume(), improveMesh(), newMesh(), out_print(), refine(), refineElement(), refiningElements(), remove32element(), removeElement(), resetTargetVolume(), setTargetVolume(), splitLF(), updateFace(), and updateNodeCoords().
int chunk::numNodes [private] |
Definition at line 53 of file chunk.h.
Referenced by addElement(), addNode(), checkConn(), debug_print(), findNode(), getNode(), newMesh(), out_print(), relocatePoints(), relocationVote(), removeNode(), updateNodeCoord(), and updateNodeCoords().
int chunk::numChunks [private] |
Definition at line 53 of file chunk.h.
Referenced by chunk(), findNeighbor(), multipleRefine(), out_print(), and refiningElements().
int chunk::sizeElements [private] |
int chunk::sizeNodes [private] |
int chunk::additions [private] |
int chunk::coordsRecvd [private] |
int chunk::debug_counter [private] |
int chunk::refineInProgress [private] |
Definition at line 65 of file chunk.h.
Referenced by addElement(), isRefining(), multipleRefine(), refine(), refineElement(), refiningElements(), setDependent(), setRefining(), setTargetArea(), setTargetVolume(), specialRequest(), specialRequestResponse(), start(), and unsetDependency().
int chunk::coarsenInProgress [private] |
Definition at line 65 of file chunk.h.
Referenced by coarsenElement(), coarseningElements(), and multipleCoarsen().
int chunk::modified [private] |
Definition at line 65 of file chunk.h.
Referenced by addElement(), coarsenElement(), coarseningElements(), isModified(), multipleRefine(), refine(), refineElement(), refiningElements(), resetTargetVolume(), setDependent(), setModified(), setTargetArea(), setTargetVolume(), specialRequest(), specialRequestResponse(), start(), and unsetDependency().
void chunk::accessLock [private] |
void chunk::adjustLock [private] |
double chunk::lockPrio |
double chunk::smoothness |
Definition at line 72 of file chunk.h.
Referenced by insertLock(), lockLocalChunk(), and removeLock().
std::vector<element> chunk::theElements |
Definition at line 74 of file chunk.h.
Referenced by addElement(), addRemoteEdge(), adjustMesh(), allocMesh(), checkConn(), checkElement(), checkFace(), elemRef::checkIfLongEdge(), checkRefine(), coarsenElement(), coarseningElements(), debug_print(), deriveFaces(), deriveNodes(), findNeighbor(), findRemoteNeighbor(), element::flip23(), element::flip23remote(), flip23remote(), element::flip32(), flip32remote(), flippingElements(), flipPrevent(), getArea(), elemRef::getArea(), getVolume(), hasDependent(), elemRef::hasDependent(), improveMesh(), incnonCoarsen(), element::LEsplit(), LEsplit(), lockArc(), lockLF(), multipleRefine(), newMesh(), nodeReplaceDelete(), out_print(), refine(), element::refineCP(), refineElement(), element::refineLE(), element::refineLF(), element::refineNeighbor(), refiningElements(), remove32element(), removeElement(), resetnonCoarsen(), resetTargetArea(), resetTargetVolume(), sanityCheck(), setDependent(), elemRef::setDependent(), setTargetArea(), elemRef::setTargetArea(), setTargetVolume(), specialRequest(), specialRequestResponse(), element::split(), element::splitBorderLocal(), element::splitHelp(), element::splitLF(), splitLF(), element::splitNeighbors(), element::splitNeighborsLocal(), element::splitResponse(), unlockArc1(), element::unlockArc2(), unlockArc2(), unsetDependency(), elemRef::unsetDependency(), updateEdges(), elemRef::updateEdges(), updateElementEdge(), updateFace(), and updateNodeCoords().
std::vector<node> chunk::theNodes |
Definition at line 75 of file chunk.h.
Referenced by addNode(), adjustMesh(), allocMesh(), edge::buildLockingCloud(), element::calculateArea(), element::calculateVolume(), element::collapse(), element::CPtest(), debug_print(), deriveBoundaries(), deriveEdges(), deriveNodes(), dump(), element::findLongestEdge(), findNeighbor(), element::findNewNodeDetails(), findNode(), element::findShortestEdge(), fixNode(), element::flip23(), element::flip23remote(), element::flip32(), element::flip32remote(), element::flipInverseTest(), edge::flipPrevent(), flipPrevent(), element::getArea(), element::getAreaQuality(), element::getLargestEdge(), element::getNode(), getNode(), element::getShortestEdge(), element::hasNode(), element::improveElement(), element::improveInternalNode(), element::improveSurfaceNodeHelp(), joinCommLists(), element::LEsplit(), element::LEtest(), element::lockArc(), element::lockOpNode(), newMesh(), nodeReplaceDelete(), out_print(), element::refineCP(), element::refineLE(), element::refineLF(), relocatePoints(), relocationVote(), element::remove32element(), removeNode(), reportPos(), safeToMoveNode(), sanityCheck(), edge::split(), element::split(), element::splitBorderLocal(), element::splitHelp(), element::splitLF(), element::splitNeighborsLocal(), element::splitResponse(), element::unlockArc1(), element::unlockArc2(), element::unlockOpNode(), updateNodeCoord(), updateNodeCoords(), and validCheck().
std::vector<std::vector<int> > chunk::theSurface |
Definition at line 76 of file chunk.h.
Referenced by adjustMesh(), allocMesh(), edgeOnSurface(), faceOnSurface(), nodeOnSurface(), printSurface(), simpleAddFace(), simpleRemoveFace(), and simpleUpdateFace().
Definition at line 79 of file chunk.h.
Referenced by edge::localCollapse(), multipleCoarsen(), multipleRefine(), nodeReplaceDelete(), refine(), element::split(), element::splitBorderLocal(), element::splitHelp(), element::splitNeighborsLocal(), and element::splitResponse().
Definition at line 80 of file chunk.h.
Referenced by chunk(), refineResults::extract(), getResults(), and REFINE2D_Split().
int chunk::sizeEdges [private] |
int chunk::meshLock [private] |
int chunk::meshExpandFlag [private] |
Definition at line 477 of file tri.h.
Referenced by deriveBoundaries(), deriveEdges(), and newMesh().
std::vector<element> chunk::theElements |
std::vector<edge> chunk::theEdges |
Definition at line 479 of file tri.h.
Referenced by addEdge(), addNewEdge(), checkPending(), collapse(), deriveEdges(), dump(), flipPreventE(), getBoundary(), getNbr(), getNeighbor(), element::getNeighbor(), isPending(), edgeRef::lock(), locked(), edgeRef::locked(), newMesh(), nodeReplaceDelete(), removeEdge(), edge::reset(), resetEdge(), sanityCheck(), element::sanityCheck(), edge::split(), split(), element::split(), element::splitBorderLocal(), element::splitHelp(), element::splitNeighborsLocal(), element::splitResponse(), unlock(), edgeRef::unlock(), updateElement(), and edgeRef::updateElement().
std::vector<node> chunk::theNodes |
int chunk::firstFreeElement [private] |
int chunk::firstFreeEdge [private] |
int chunk::firstFreeNode [private] |
int chunk::edgesSent [private] |
int chunk::edgesRecvd [private] |
int chunk::first [private] |
elemHeap* chunk::coarsenElements [private] |
elemHeap* chunk::refineElements [private] |
elemHeap* chunk::refineStack [private] |
int chunk::refineTop [private] |
int chunk::refineHeapSize [private] |
int chunk::coarsenHeapSize [private] |
int* chunk::conn [private] |
int * chunk::gid [private] |
Definition at line 170 of file tri.h.
Referenced by edge::buildLockingCloud(), deriveEdges(), fixNode(), edge::flipPrevent(), joinCommLists(), newMesh(), edge::split(), element::split(), element::translateNodeIDs(), edge::translateSharedNodeIDs(), edge::updateCloud(), and validCheck().
std::vector<element> chunk::theElements |
std::vector<edge> chunk::theEdges |
std::vector<node> chunk::theNodes |
Definition at line 184 of file tri.h.
Referenced by addEdge(), deriveEdges(), nodeReplaceDelete(), and removeEdge().