adapt some more styles to use the new neighbor list request API

This commit is contained in:
Axel Kohlmeyer
2022-03-08 15:18:51 -05:00
parent fd73d1376a
commit 55f8bf9c51
24 changed files with 117 additions and 207 deletions

View File

@ -27,7 +27,6 @@
#include "error.h"
#include "memory.h"
#include "neigh_list.h"
#include "neigh_request.h"
#include "neighbor.h"
#include <cmath>
@ -67,9 +66,7 @@ void PairMDPDRhoSum::init_style()
error->all(FLERR,"Pair style mdpd/rhosum requires atom attribute rho");
// need a full neighbor list
int irequest = neighbor->request(this,instance_me);
neighbor->requests[irequest]->half = 0;
neighbor->requests[irequest]->full = 1;
neighbor->add_request(this, NeighConst::REQ_FULL);
}
/* ---------------------------------------------------------------------- */

View File

@ -25,7 +25,6 @@
#include "memory.h"
#include "modify.h"
#include "neigh_list.h"
#include "neigh_request.h"
#include "neighbor.h"
#include "pair_dpd_fdt_energy.h"
#include "update.h"
@ -595,9 +594,7 @@ void FixRX::init()
// need a half neighbor list
// built whenever re-neighboring occurs
int irequest = neighbor->request(this,instance_me);
neighbor->requests[irequest]->pair = 0;
neighbor->requests[irequest]->fix = 1;
neighbor->add_request(this);
}
/* ---------------------------------------------------------------------- */

View File

@ -314,7 +314,7 @@ void PairDPDfdt::init_style()
error->all(FLERR,"Pair dpd/fdt requires ghost atoms store velocity");
splitFDT_flag = false;
neighbor->request(this,instance_me);
neighbor->add_request(this);
for (int i = 0; i < modify->nfix; i++)
if (utils::strmatch(modify->fix[i]->style,"^shardlow")) {
splitFDT_flag = true;

View File

@ -407,7 +407,7 @@ void PairDPDfdtEnergy::init_style()
error->all(FLERR,"Pair dpd/fdt/energy requires ghost atoms store velocity");
splitFDT_flag = false;
neighbor->request(this,instance_me);
neighbor->add_request(this);
for (int i = 0; i < modify->nfix; i++)
if (utils::strmatch(modify->fix[i]->style,"^shardlow")) {
splitFDT_flag = true;

View File

@ -309,10 +309,9 @@ void PairSDPDTaitwaterIsothermal::coeff (int narg, char **arg) {
void PairSDPDTaitwaterIsothermal::init_style()
{
if ((!atom->rho_flag) || (atom->drho == nullptr))
error->all(FLERR,"Pair style dpd/taitwater/isothermal requires atom "
"attributes rho and drho");
error->all(FLERR,"Pair style dpd/taitwater/isothermal requires atom attributes rho and drho");
neighbor->request(this,instance_me);
neighbor->add_request(this);
}
/* ----------------------------------------------------------------------

View File

@ -291,7 +291,7 @@ void PairCoulTT::init_style()
if (ifix == modify->nfix) error->all(FLERR, "Pair coul/tt requires fix drude");
fix_drude = (FixDrude *) modify->fix[ifix];
neighbor->request(this,instance_me);
neighbor->add_request(this);
}
/* ----------------------------------------------------------------------

View File

@ -18,21 +18,21 @@
#include "pair_lj_cut_thole_long.h"
#include <cmath>
#include <cstring>
#include "fix_drude.h"
#include "atom.h"
#include "comm.h"
#include "domain.h"
#include "error.h"
#include "fix_drude.h"
#include "force.h"
#include "kspace.h"
#include "neighbor.h"
#include "neigh_list.h"
#include "math_const.h"
#include "memory.h"
#include "error.h"
#include "modify.h"
#include "domain.h"
#include "neigh_list.h"
#include "neighbor.h"
#include <cmath>
#include <cstring>
using namespace LAMMPS_NS;
using namespace MathConst;
@ -366,7 +366,7 @@ void PairLJCutTholeLong::init_style()
error->all(FLERR, "Pair style lj/cut/thole/long requires fix drude");
fix_drude = (FixDrude *) modify->fix[ifix];
neighbor->request(this,instance_me);
neighbor->add_request(this);
cut_coulsq = cut_coul * cut_coul;

View File

@ -14,20 +14,20 @@
#include "pair_thole.h"
#include <cmath>
#include <cstring>
#include "atom.h"
#include "comm.h"
#include "force.h"
#include "neighbor.h"
#include "neigh_list.h"
#include "memory.h"
#include "domain.h"
#include "error.h"
#include "fix.h"
#include "fix_drude.h"
#include "domain.h"
#include "force.h"
#include "memory.h"
#include "modify.h"
#include "neigh_list.h"
#include "neighbor.h"
#include <cmath>
#include <cstring>
using namespace LAMMPS_NS;
@ -260,7 +260,7 @@ void PairThole::init_style()
if (ifix == modify->nfix) error->all(FLERR, "Pair thole requires fix drude");
fix_drude = (FixDrude *) modify->fix[ifix];
neighbor->request(this,instance_me);
neighbor->add_request(this);
}
/* ----------------------------------------------------------------------

View File

@ -16,23 +16,22 @@
Contributing author: Andres Jaramillo-Botero
------------------------------------------------------------------------- */
#include <cmath>
#include <cstring>
#include "pair_eff_cut.h"
#include "pair_eff_inline.h"
#include "atom.h"
#include "update.h"
#include "min.h"
#include "domain.h"
#include "comm.h"
#include "force.h"
#include "neighbor.h"
#include "neigh_list.h"
#include "memory.h"
#include "error.h"
#include "atom.h"
#include "comm.h"
#include "domain.h"
#include "error.h"
#include "force.h"
#include "memory.h"
#include "min.h"
#include "neigh_list.h"
#include "neighbor.h"
#include "update.h"
#include <cmath>
#include <cstring>
using namespace LAMMPS_NS;
@ -889,9 +888,9 @@ void PairEffCut::init_style()
if (flagall && !ecp_found)
error->all(FLERR,"Need to specify ECP type on pair_style command");
// need a half neigh list and optionally a granular history neigh list
// need a half neigh list
neighbor->request(this,instance_me);
neighbor->add_request(this);
}
/* ----------------------------------------------------------------------

View File

@ -27,7 +27,6 @@
#include "memory.h"
#include "modify.h"
#include "neigh_list.h"
#include "neigh_request.h"
#include "neighbor.h"
#include "pair.h"
#include "update.h"
@ -86,12 +85,7 @@ void ComputeAcklandAtom::init()
{
// need an occasional full neighbor list
int irequest = neighbor->request(this,instance_me);
neighbor->requests[irequest]->pair = 0;
neighbor->requests[irequest]->compute = 1;
neighbor->requests[irequest]->half = 0;
neighbor->requests[irequest]->full = 1;
neighbor->requests[irequest]->occasional = 1;
neighbor->add_request(this, NeighConst::REQ_FULL | NeighConst::REQ_OCCASIONAL);
int count = 0;
for (int i = 0; i < modify->ncompute; i++)

View File

@ -336,16 +336,8 @@ void ComputeADF::init()
// (until next reneighbor), so it needs to contain atoms further
// than maxouter apart, just like a normal neighbor list does
int irequest = neighbor->request(this,instance_me);
neighbor->requests[irequest]->half = 0;
neighbor->requests[irequest]->full = 1;
neighbor->requests[irequest]->pair = 0;
neighbor->requests[irequest]->compute = 1;
neighbor->requests[irequest]->occasional = 1;
if (mycutneigh > 0.0) {
neighbor->requests[irequest]->cut = 1;
neighbor->requests[irequest]->cutoff = mycutneigh;
}
auto req = neighbor->add_request(this, NeighConst::REQ_FULL | NeighConst::REQ_OCCASIONAL);
if (mycutneigh > 0.0) req->set_cutoff(mycutneigh);
}
/* ---------------------------------------------------------------------- */

View File

@ -17,13 +17,13 @@
#include "comm.h"
#include "error.h"
#include "force.h"
#include "math_const.h"
#include "memory.h"
#include "neigh_list.h"
#include "neigh_request.h"
#include "neighbor.h"
#include "pair.h"
#include "update.h"
#include "math_const.h"
#include <cstring>
@ -103,16 +103,8 @@ void ComputeAveSphereAtom::init()
// need an occasional full neighbor list
int irequest = neighbor->request(this,instance_me);
neighbor->requests[irequest]->pair = 0;
neighbor->requests[irequest]->compute = 1;
neighbor->requests[irequest]->half = 0;
neighbor->requests[irequest]->full = 1;
neighbor->requests[irequest]->occasional = 1;
if (cutflag) {
neighbor->requests[irequest]->cut = 1;
neighbor->requests[irequest]->cutoff = cutoff;
}
auto req = neighbor->add_request(this, NeighConst::REQ_FULL | NeighConst::REQ_OCCASIONAL);
if (cutflag) req->set_cutoff(cutoff);
}
/* ---------------------------------------------------------------------- */

View File

@ -17,20 +17,21 @@
Copyright (C) 2013
------------------------------------------------------------------------- */
#include "compute_basal_atom.h"
#include "atom.h"
#include "comm.h"
#include "error.h"
#include "force.h"
#include "memory.h"
#include "modify.h"
#include "neigh_list.h"
#include "neighbor.h"
#include "pair.h"
#include "update.h"
#include <cmath>
#include <cstring>
#include "compute_basal_atom.h"
#include "atom.h"
#include "update.h"
#include "modify.h"
#include "neighbor.h"
#include "neigh_list.h"
#include "neigh_request.h"
#include "force.h"
#include "pair.h"
#include "comm.h"
#include "memory.h"
#include "error.h"
using namespace LAMMPS_NS;
@ -70,17 +71,9 @@ void ComputeBasalAtom::init()
{
// need an occasional full neighbor list
int irequest = neighbor->request(this,instance_me);
neighbor->requests[irequest]->pair = 0;
neighbor->requests[irequest]->compute = 1;
neighbor->requests[irequest]->half = 0;
neighbor->requests[irequest]->full = 1;
neighbor->requests[irequest]->occasional = 1;
neighbor->add_request(this, NeighConst::REQ_FULL | NeighConst::REQ_OCCASIONAL);
int count1 = 0;
for (int i = 0; i < modify->ncompute; i++)
if (strcmp(modify->compute[i]->style,"basal/atom") == 0) count1++;
if (count1 > 1 && comm->me == 0)
if ((modify->get_compute_by_style("basal/atom").size() > 1) && (comm->me == 0))
error->warning(FLERR,"More than one compute basal/atom");
}

View File

@ -24,19 +24,19 @@
#include "compute_cnp_atom.h"
#include <cstring>
#include <cmath>
#include "atom.h"
#include "update.h"
#include "modify.h"
#include "neighbor.h"
#include "neigh_list.h"
#include "neigh_request.h"
#include "force.h"
#include "pair.h"
#include "comm.h"
#include "memory.h"
#include "error.h"
#include "force.h"
#include "memory.h"
#include "modify.h"
#include "neigh_list.h"
#include "neighbor.h"
#include "pair.h"
#include "update.h"
#include <cmath>
#include <cstring>
using namespace LAMMPS_NS;
@ -111,12 +111,7 @@ void ComputeCNPAtom::init()
error->warning(FLERR,"More than one compute cnp/atom defined");
// need an occasional full neighbor list
int irequest = neighbor->request(this,instance_me);
neighbor->requests[irequest]->pair = 0;
neighbor->requests[irequest]->compute = 1;
neighbor->requests[irequest]->half = 0;
neighbor->requests[irequest]->full = 1;
neighbor->requests[irequest]->occasional = 1;
neighbor->add_request(this, NeighConst::REQ_FULL | NeighConst::REQ_OCCASIONAL);
}
/* ---------------------------------------------------------------------- */

View File

@ -27,7 +27,6 @@
#include "memory.h"
#include "modify.h"
#include "neigh_list.h"
#include "neigh_request.h"
#include "neighbor.h"
#include "pair.h"
#include "update.h"
@ -110,8 +109,7 @@ ComputeEntropyAtom::~ComputeEntropyAtom()
void ComputeEntropyAtom::init()
{
if (force->pair == nullptr)
error->all(FLERR,"Compute entropy/atom requires a pair style be"
" defined");
error->all(FLERR,"Compute entropy/atom requires a pair style be defined");
if ((cutoff+cutoff2) > (force->pair->cutforce + neighbor->skin))
{
@ -126,23 +124,16 @@ void ComputeEntropyAtom::init()
if (count > 1 && comm->me == 0)
error->warning(FLERR,"More than one compute entropy/atom");
// Request neighbor list
int irequest = neighbor->request(this,instance_me);
neighbor->requests[irequest]->pair = 0;
neighbor->requests[irequest]->compute = 1;
neighbor->requests[irequest]->half = 0;
neighbor->requests[irequest]->full = 1;
// Request a full neighbor list
int list_flags = NeighConst::REQ_FULL;
if (avg_flag) {
// need a full neighbor list with neighbors of the ghost atoms
neighbor->requests[irequest]->occasional = 0;
neighbor->requests[irequest]->ghost = 1;
// need neighbors of the ghost atoms
list_flags |= NeighConst::REQ_GHOST;
} else {
// need a regular full neighbor list
// can build it occasionally
neighbor->requests[irequest]->occasional = 1;
neighbor->requests[irequest]->ghost = 0;
// may build it occasionally
list_flags |= NeighConst::REQ_OCCASIONAL;
}
neighbor->add_request(this, list_flags);
}
/* ---------------------------------------------------------------------- */

View File

@ -17,21 +17,22 @@
------------------------------------------------------------------------- */
#include "compute_hexorder_atom.h"
#include <cmath>
#include <cstring>
#include <complex>
#include "atom.h"
#include "update.h"
#include "modify.h"
#include "neighbor.h"
#include "neigh_list.h"
#include "neigh_request.h"
#include "force.h"
#include "pair.h"
#include "comm.h"
#include "memory.h"
#include "error.h"
#include "force.h"
#include "math_const.h"
#include "memory.h"
#include "modify.h"
#include "neigh_list.h"
#include "neighbor.h"
#include "pair.h"
#include "update.h"
#include <cmath>
#include <complex>
#include <cstring>
#ifdef DBL_EPSILON
#define MY_EPSILON (10.0*DBL_EPSILON)
@ -109,22 +110,13 @@ void ComputeHexOrderAtom::init()
error->all(FLERR,"Compute hexorder/atom requires a pair style be defined");
if (cutsq == 0.0) cutsq = force->pair->cutforce * force->pair->cutforce;
else if (sqrt(cutsq) > force->pair->cutforce)
error->all(FLERR,
"Compute hexorder/atom cutoff is longer than pairwise cutoff");
error->all(FLERR, "Compute hexorder/atom cutoff is longer than pairwise cutoff");
// need an occasional full neighbor list
int irequest = neighbor->request(this,instance_me);
neighbor->requests[irequest]->pair = 0;
neighbor->requests[irequest]->compute = 1;
neighbor->requests[irequest]->half = 0;
neighbor->requests[irequest]->full = 1;
neighbor->requests[irequest]->occasional = 1;
neighbor->add_request(this, NeighConst::REQ_FULL | NeighConst::REQ_OCCASIONAL);
int count = 0;
for (int i = 0; i < modify->ncompute; i++)
if (strcmp(modify->compute[i]->style,"hexorder/atom") == 0) count++;
if (count > 1 && comm->me == 0)
if ((modify->get_compute_by_style("hexorder/atom").size() > 1) && (comm->me == 0))
error->warning(FLERR,"More than one compute hexorder/atom");
}

View File

@ -62,7 +62,6 @@ https://doi.org/10.1103/PhysRevE.92.043303
#include "memory.h"
#include "modify.h"
#include "neigh_list.h"
#include "neigh_request.h"
#include "neighbor.h"
#include "pair.h"
#include "update.h"
@ -178,10 +177,7 @@ void ComputeHMA::init() {
error->all(FLERR,"Pair style does not support compute hma cv");
}
int irequest = neighbor->request(this,instance_me);
neighbor->requests[irequest]->pair = 0;
neighbor->requests[irequest]->compute = 1;
neighbor->requests[irequest]->occasional = 1;
neighbor->add_request(this, NeighConst::REQ_OCCASIONAL);
}
void ComputeHMA::init_list(int /* id */, NeighList *ptr)

View File

@ -22,7 +22,6 @@
#include "memory.h"
#include "modify.h"
#include "neigh_list.h"
#include "neigh_request.h"
#include "neighbor.h"
#include "pair.h"
@ -181,10 +180,7 @@ void ComputeStressCartesian::init()
error->all(FLERR, "Pair style does not support compute stress/cartesian");
// need an occasional half neighbor list.
int irequest = neighbor->request(this, instance_me);
neighbor->requests[irequest]->pair = 0;
neighbor->requests[irequest]->compute = 1;
neighbor->requests[irequest]->occasional = 1;
neighbor->add_request(this, NeighConst::REQ_OCCASIONAL);
}
/* ---------------------------------------------------------------------- */

View File

@ -23,7 +23,6 @@
#include "memory.h"
#include "modify.h"
#include "neigh_list.h"
#include "neigh_request.h"
#include "neighbor.h"
#include "pair.h"
#include "update.h"
@ -214,10 +213,7 @@ void ComputeStressCylinder::init()
}
// need an occasional half neighbor list
int irequest = neighbor->request(this, instance_me);
neighbor->requests[irequest]->pair = 0;
neighbor->requests[irequest]->compute = 1;
neighbor->requests[irequest]->occasional = 1;
neighbor->add_request(this, NeighConst::REQ_OCCASIONAL);
for (int zzz = 0; zzz < nzbins; zzz++) binz[zzz] = (((double) zzz) + 0.5) * bin_width + zlo;
}

View File

@ -18,20 +18,19 @@
#include "compute_stress_mop.h"
#include "atom.h"
#include "domain.h"
#include "error.h"
#include "force.h"
#include "memory.h"
#include "neigh_list.h"
#include "neighbor.h"
#include "pair.h"
#include "update.h"
#include <cmath>
#include <cstring>
#include "atom.h"
#include "update.h"
#include "domain.h"
#include "neighbor.h"
#include "force.h"
#include "pair.h"
#include "neigh_request.h"
#include "neigh_list.h"
#include "error.h"
#include "memory.h"
using namespace LAMMPS_NS;
enum{X,Y,Z};
@ -199,10 +198,7 @@ void ComputeStressMop::init()
}
// need an occasional half neighbor list
int irequest = neighbor->request((void *) this);
neighbor->requests[irequest]->pair = 0;
neighbor->requests[irequest]->compute = 1;
neighbor->requests[irequest]->occasional = 1;
neighbor->add_request(this, NeighConst::REQ_OCCASIONAL);
}
/* ---------------------------------------------------------------------- */

View File

@ -18,20 +18,19 @@
#include "compute_stress_mop_profile.h"
#include <cmath>
#include <cstring>
#include "atom.h"
#include "update.h"
#include "domain.h"
#include "neighbor.h"
#include "force.h"
#include "pair.h"
#include "neigh_request.h"
#include "neigh_list.h"
#include "error.h"
#include "memory.h"
#include <cmath>
#include <cstring>
using namespace LAMMPS_NS;
enum{X,Y,Z};
@ -200,10 +199,7 @@ void ComputeStressMopProfile::init()
// need an occasional half neighbor list
int irequest = neighbor->request((void *) this);
neighbor->requests[irequest]->pair = 0;
neighbor->requests[irequest]->compute = 1;
neighbor->requests[irequest]->occasional = 1;
neighbor->add_request(this, NeighConst::REQ_OCCASIONAL);
}
/* ---------------------------------------------------------------------- */

View File

@ -142,10 +142,7 @@ void ComputeStressSpherical::init()
for (int bin = 0; bin < nbins; bin++)
invV[bin] = 0.75 / (MY_PI * (cube((bin + 1) * bin_width) - cube(bin * bin_width)));
int irequest = neighbor->request(this, instance_me);
neighbor->requests[irequest]->pair = 0;
neighbor->requests[irequest]->compute = 1;
neighbor->requests[irequest]->occasional = 1;
neighbor->add_request(this, NeighConst::REQ_OCCASIONAL);
}
/* ---------------------------------------------------------------------- */

View File

@ -27,7 +27,6 @@
#include "force.h"
#include "memory.h"
#include "neigh_list.h"
#include "neigh_request.h"
#include "neighbor.h"
#include "potential_file_reader.h"
#include "region.h"
@ -139,12 +138,7 @@ void FixElectronStopping::init()
SeLoss = 0.0;
// need an occasional full neighbor list
int irequest = neighbor->request(this, instance_me);
neighbor->requests[irequest]->pair = 0;
neighbor->requests[irequest]->fix = 1;
neighbor->requests[irequest]->half = 0;
neighbor->requests[irequest]->full = 1;
neighbor->requests[irequest]->occasional = 1;
neighbor->add_request(this, NeighConst::REQ_FULL | NeighConst::REQ_OCCASIONAL);
}
/* ---------------------------------------------------------------------- */

View File

@ -204,10 +204,8 @@ void ComputeRDF::init()
// (until next reneighbor), so it needs to contain atoms further
// than cutoff_user apart, just like a normal neighbor list does
if (cutflag)
neighbor->add_request(this,NeighConst::REQ_OCCASIONAL)->set_cutoff(mycutneigh);
else
neighbor->add_request(this,NeighConst::REQ_OCCASIONAL);
auto req = neighbor->add_request(this, NeighConst::REQ_OCCASIONAL);
if (cutflag) req->set_cutoff(mycutneigh);
}
/* ---------------------------------------------------------------------- */