changa  3.5
 All Classes Files Functions Variables Typedefs Enumerations Friends Macros Groups Pages
smoothparams.h
1 #ifndef __SMOOTHPARAMS_H
2 #define __SMOOTHPARAMS_H
3 class pqSmoothNode;
4 class TreePiece;
5 
8 class SmoothParams : public PUP::able
9 {
10  public:
11  int iType;
12  int activeRung;
13  TreePiece *tp;
15  virtual void fcnSmooth(GravityParticle *p, int nSmooth, pqSmoothNode *nList) = 0;
18  virtual int isSmoothActive(GravityParticle *p) = 0;
20  virtual void initSmoothParticle(GravityParticle *p) = 0;
22  virtual void initTreeParticle(GravityParticle *p) = 0;
24  virtual void postTreeParticle(GravityParticle *p) = 0;
27  virtual void initSmoothCache(GravityParticle *p) = 0;
38  virtual void combSmoothCache(GravityParticle *p1,
39  ExternalSmoothParticle *p2) = 0;
40  // limit ball growth by default
41  SmoothParams() { bUseBallMax = 1; tp = NULL; }
42  PUPable_abstract(SmoothParams);
43  SmoothParams(CkMigrateMessage *m) : PUP::able(m) { tp = NULL; }
45  virtual void pup(PUP::er &p) {
46  PUP::able::pup(p);//Call base class
47  p|iType;
48  p|activeRung;
49  p|bUseBallMax;
50  }
51  };
52 #endif
Class for cross processor data needed for smooth operations.
Definition: GravityParticle.h:568
virtual void fcnSmooth(GravityParticle *p, int nSmooth, pqSmoothNode *nList)=0
Function to apply to smooth particle and neighbors.
virtual void initTreeParticle(GravityParticle *p)=0
initialize particles in tree but not smoothed
virtual void initSmoothCache(GravityParticle *p)=0
initialize particles as they come into the cache
int bUseBallMax
Definition: smoothparams.h:14
int iType
Particle type to smooth over; "TreeActive".
Definition: smoothparams.h:11
Object for priority queue entry.
Definition: smooth.h:12
virtual void combSmoothCache(GravityParticle *p1, ExternalSmoothParticle *p2)=0
combine cache copy with home particle
virtual void pup(PUP::er &p)
required method for remote entry call.
Definition: smoothparams.h:45
Fundamental structure that holds particle and tree data.
Definition: ParallelGravity.h:730
A base class from which parameters for all smooth operations can be derived.
Definition: smoothparams.h:8
virtual void initSmoothParticle(GravityParticle *p)=0
initialize particles to be smoothed
virtual void postTreeParticle(GravityParticle *p)=0
calculation on all tree particles after all walks are done
int activeRung
Currently active rung.
Definition: smoothparams.h:12
Fundamental type for a particle.
Definition: GravityParticle.h:316
virtual int isSmoothActive(GravityParticle *p)=0
Particle is doing a neighbor search.