Feb2021 GPU Package Update - Core LAMMPS Files

This commit is contained in:
Michael Brown
2021-02-15 08:37:38 -08:00
parent e7e2d2323b
commit d3123dd5c3
5 changed files with 161 additions and 6 deletions

View File

@ -40,6 +40,10 @@
#include "neigh_request.h"
#endif
#ifdef LMP_GPU
#include "fix_gpu.h"
#endif
using namespace LAMMPS_NS;
using namespace MathConst;
@ -2196,6 +2200,35 @@ void Atom::setup_sort_bins()
}
#endif
#ifdef LMP_GPU
if (userbinsize == 0.0) {
int ifix = modify->find_fix("package_gpu");
if (ifix >= 0) {
const double subx = domain->subhi[0] - domain->sublo[0];
const double suby = domain->subhi[1] - domain->sublo[1];
const double subz = domain->subhi[2] - domain->sublo[2];
FixGPU *fix = static_cast<FixGPU *>(modify->fix[ifix]);
binsize = fix->binsize(subx, suby, subz, atom->nlocal,
neighbor->cutneighmax);
bininv = 1.0 / binsize;
nbinx = static_cast<int> (ceil(subx * bininv));
nbiny = static_cast<int> (ceil(suby * bininv));
nbinz = static_cast<int> (ceil(subz * bininv));
if (domain->dimension == 2) nbinz = 1;
if (nbinx == 0) nbinx = 1;
if (nbiny == 0) nbiny = 1;
if (nbinz == 0) nbinz = 1;
bininvx = bininv;
bininvy = bininv;
bininvz = bininv;
}
}
#endif
if (1.0*nbinx*nbiny*nbinz > INT_MAX)
error->one(FLERR,"Too many atom sorting bins");