30 static inline int cellIntersectNode(
double x,
double y,
double z,
double h,
struct bht_node *node)
 
   32   double xmin,xmax,ymin,ymax,zmin,zmax;
 
   46   else if(x>xmax) cx=xmax;
 
   50   else if(y>ymax) cy=ymax;
 
   54   else if(z>zmax) cz=zmax;
 
   57   dist = sqrt((x-cx)*(x-cx)+(y-cy)*(y-cy)+(z-cz)*(z-cz));
 
   68 static inline int cellInsideNode(
int c, 
struct bht_node *node)
 
   70   double xmin,xmax,ymin,ymax,zmin,zmax;
 
   96 static inline float sph_kernel(
double r)
 
  101   if(r<0.0) 
return 0.0;
 
  104   if(
sdim==2) c=40/(7*M_PI*
h2);
 
  105   if(
sdim==3) c=8/(M_PI*
h3);
 
  106   if(u<0.0) 
stopRun(666,NULL,__FILE__,__LINE__);
 
  108   if(u>=0.0 && u<=0.5) 
return c*(1-6*u*u+6*u*u*u);
 
  109   if(u>0.5 && u<=1.0) 
return c*(2*(1-u)*(1-u)*(1-u));
 
  110   if(u>1.0) 
return 0.0;
 
  122 static inline int sph_kernel_gradient(
int p1, 
int p2, 
double grad[3],
int mode,
double r)
 
  126   double x1,x2,y1,y2,z1,z2;
 
  149     if(
sdim==2) c=(40*8)/(7*M_PI*
h3);
 
  150     if(
sdim==3) c=48/(M_PI*
h4);
 
  152     if(u<0.0) 
stopRun(666,NULL,__FILE__,__LINE__);
 
  154     if(u>=0.0 && u<=0.5) w=-2.0*u+3.0*u*u;
 
  155     if(u>0.5 && u<=1.0) w=-(1.0-u)*(1.0-u);
 
  158     grad[0]=w*c*(x2-x1)/r;
 
  159     grad[1]=w*c*(y2-y1)/r;
 
  160     if(
sdim==3) grad[2]=w*c*(z2-z1)/r;
 
  161     if(
sdim==2) grad[2]=0.0;
 
struct partData * recvData
void stopRun(int ierr, char *name, char *file, int line)