git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@12470 f3b2605a-c512-4ea7-a41b-209d697bcdaa

This commit is contained in:
sjplimp
2014-09-10 17:30:53 +00:00
parent 8a80ed4612
commit fbad8a44c8

View File

@ -94,6 +94,7 @@ FixGPU::FixGPU(LAMMPS *lmp, int narg, char **arg) :
_gpu_mode = GPU_NEIGH; _gpu_mode = GPU_NEIGH;
_particle_split = 1.0; _particle_split = 1.0;
int nthreads = 1; int nthreads = 1;
int newtonflag = 0;
int threads_per_atom = -1; int threads_per_atom = -1;
double binsize = -1; double binsize = -1;
char *opencl_flags = NULL; char *opencl_flags = NULL;
@ -113,6 +114,11 @@ FixGPU::FixGPU(LAMMPS *lmp, int narg, char **arg) :
if (_particle_split == 0.0 || _particle_split > 1.0) if (_particle_split == 0.0 || _particle_split > 1.0)
error->all(FLERR,"Illegal package GPU command"); error->all(FLERR,"Illegal package GPU command");
iarg += 2; iarg += 2;
} else if (strcmp(arg[iarg],"newton") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal package gpu command");
if (strcmp(arg[iarg]+1,"off") == 0) newtonflag = 0;
else if (strcmp(arg[iarg]+1,"on") == 0) newtonflag = 1;
else error->all(FLERR,"Illegal package gpu command");
} else if (strcmp(arg[iarg],"gpuID") == 0) { } else if (strcmp(arg[iarg],"gpuID") == 0) {
if (iarg+3 > narg) error->all(FLERR,"Illegal package gpu command"); if (iarg+3 > narg) error->all(FLERR,"Illegal package gpu command");
first_gpu = force->inumeric(FLERR,arg[iarg+1]); first_gpu = force->inumeric(FLERR,arg[iarg+1]);
@ -150,9 +156,12 @@ FixGPU::FixGPU(LAMMPS *lmp, int narg, char **arg) :
error->all(FLERR,"No OpenMP support compiled in"); error->all(FLERR,"No OpenMP support compiled in");
#endif #endif
// set newton_pair = 0 since required by all GPU pair styles // set newton pair flag
// require newtonflag = 0 since currently required by all GPU pair styles
force->newton_pair = 0; if (newtonflag == 1) error->all(FLERR,"Illegal package gpu command");
force->newton_pair = newtonflag;
if (force->newton_pair || force->newton_bond) force->newton = 1; if (force->newton_pair || force->newton_bond) force->newton = 1;
else force->newton = 0; else force->newton = 0;