Class to compute gravity using a "bucket walk". More...
#include <Compute.h>
Public Member Functions | |
int | doWork (GenericTreeNode *, TreeWalk *tw, State *state, int chunk, int reqID, bool isRoot, bool &didcomp, int awi) |
Work to be done at each node. | |
int | openCriterion (TreePiece *ownerTP, GenericTreeNode *node, int reqID, State *state) |
int | computeParticleForces (TreePiece *owner, GenericTreeNode *node, ExternalGravityParticle *part, int reqID) |
Calculate forces due to particles in a node. More... | |
void | nodeMissedEvent (int reqID, int chunk, State *state, TreePiece *tp) |
Allow book-keeping of a cache miss. | |
void | nodeRecvdEvent (TreePiece *owner, int chunk, State *state, int bucket) |
Allow book-keeping of a cache receive event. | |
void | recvdParticles (ExternalGravityParticle *egp, int num, int chunk, int reqID, State *state, TreePiece *tp, Tree::NodeKey &remoteBucket) |
Allow book-keeping of a cache receive event. | |
void | reassoc (void *cE, int activeRung, Opt *o) |
![]() | |
void | setOpt (Opt *opt) |
virtual void | stateReady (State *state, TreePiece *owner, int chunk, int start, int end) |
virtual void | stateReadyPar (TreePiece *tp, int start, int end, CkVec< OffsetNode > &clist, CkVec< RemotePartInfo > &rpilist, CkVec< LocalPartInfo > &lpilist) |
virtual void | fillLists (State *state_, TreePiece *tp, int chunk, int start, int end, CkVec< OffsetNode > &clistforb, CkVec< RemotePartInfo > &rplistforb, CkVec< LocalPartInfo > &lplistforb) |
virtual void | init (void *cE, int activeRung, Opt *opt) |
Associate computeEntity (target bucket or node), activeRung and Optimization with this Compute object. | |
ComputeType | getSelfType () |
OptType | getOptType () |
int | getActiveRung () |
virtual void | initState (State *state) |
virtual void | startNodeProcessEvent (State *state) |
virtual void | finishNodeProcessEvent (TreePiece *owner, State *state) |
Allow book-keeping when finished with a node. | |
virtual void | recvdParticlesFull (GravityParticle *egp, int num, int chunk, int reqID, State *state, TreePiece *tp, Tree::NodeKey &remoteBucket) |
Allow book-keeping of a cache receive event. | |
virtual void | walkDone (State *state) |
virtual void | setComputeEntity (void *ce) |
virtual void * | getComputeEntity () |
virtual State * | getNewState (int d1, int d2) |
virtual State * | getNewState (int d1) |
virtual State * | getNewState () |
virtual void | freeState (State *state) |
Additional Inherited Members | |
![]() | |
int | nActive |
![]() | |
Compute (ComputeType t) | |
![]() | |
Opt * | opt |
void * | computeEntity |
int | activeRung |
ComputeType | type |
Class to compute gravity using a "bucket walk".
int GravityCompute::computeParticleForces | ( | TreePiece * | ownerTP, |
GenericTreeNode * | node, | ||
ExternalGravityParticle * | part, | ||
int | reqID | ||
) |
Calculate forces due to particles in a node.
ownerTP | TreePiece of target particles |
node | GenericTreeNode containing source particles |
part | array of source particles |
reqID | bucket number of target particles and offset |