Fix merge conflicts, minor style fixes
This commit is contained in:
46
src/comm.cpp
46
src/comm.cpp
@ -399,9 +399,7 @@ void Comm::modify_params(int narg, char **arg)
|
||||
iarg += 1;
|
||||
} else if (strcmp(arg[iarg],"vel") == 0) {
|
||||
if (iarg+2 > narg) error->all(FLERR,"Illegal comm_modify command");
|
||||
if (strcmp(arg[iarg+1],"yes") == 0) ghost_velocity = 1;
|
||||
else if (strcmp(arg[iarg+1],"no") == 0) ghost_velocity = 0;
|
||||
else error->all(FLERR,"Illegal comm_modify command");
|
||||
ghost_velocity = utils::logical(FLERR,arg[iarg+1],false,lmp);
|
||||
iarg += 2;
|
||||
} else error->all(FLERR,"Illegal comm_modify command");
|
||||
}
|
||||
@ -786,13 +784,13 @@ int Comm::coord2proc(double *x, int &igx, int &igy, int &igz)
|
||||
|
||||
} else if (layout == Comm::LAYOUT_NONUNIFORM) {
|
||||
if (triclinic == 0) {
|
||||
igx = binary((x[0]-boxlo[0])/prd[0],procgrid[0],xsplit);
|
||||
igy = binary((x[1]-boxlo[1])/prd[1],procgrid[1],ysplit);
|
||||
igz = binary((x[2]-boxlo[2])/prd[2],procgrid[2],zsplit);
|
||||
igx = utils::binary_search((x[0]-boxlo[0])/prd[0],procgrid[0],xsplit);
|
||||
igy = utils::binary_search((x[1]-boxlo[1])/prd[1],procgrid[1],ysplit);
|
||||
igz = utils::binary_search((x[2]-boxlo[2])/prd[2],procgrid[2],zsplit);
|
||||
} else {
|
||||
igx = binary(x[0],procgrid[0],xsplit);
|
||||
igy = binary(x[1],procgrid[1],ysplit);
|
||||
igz = binary(x[2],procgrid[2],zsplit);
|
||||
igx = utils::binary_search(x[0],procgrid[0],xsplit);
|
||||
igy = utils::binary_search(x[1],procgrid[1],ysplit);
|
||||
igz = utils::binary_search(x[2],procgrid[2],zsplit);
|
||||
}
|
||||
}
|
||||
|
||||
@ -806,36 +804,6 @@ int Comm::coord2proc(double *x, int &igx, int &igy, int &igz)
|
||||
return grid2proc[igx][igy][igz];
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
binary search for value in N-length ascending vec
|
||||
value may be outside range of vec limits
|
||||
always return index from 0 to N-1 inclusive
|
||||
return 0 if value < vec[0]
|
||||
reutrn N-1 if value >= vec[N-1]
|
||||
return index = 1 to N-2 if vec[index] <= value < vec[index+1]
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
int Comm::binary(double value, int n, double *vec)
|
||||
{
|
||||
int lo = 0;
|
||||
int hi = n-1;
|
||||
|
||||
if (value < vec[lo]) return lo;
|
||||
if (value >= vec[hi]) return hi;
|
||||
|
||||
// insure vec[lo] <= value < vec[hi] at every iteration
|
||||
// done when lo,hi are adjacent
|
||||
|
||||
int index = (lo+hi)/2;
|
||||
while (lo < hi-1) {
|
||||
if (value < vec[index]) hi = index;
|
||||
else if (value >= vec[index]) lo = index;
|
||||
index = (lo+hi)/2;
|
||||
}
|
||||
|
||||
return index;
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
partition a global regular grid into one brick-shaped sub-grid per proc
|
||||
if grid point is inside my sub-domain I own it,
|
||||
|
||||
Reference in New Issue
Block a user