diff --git a/src/MANYBODY/pair_airebo.cpp b/src/MANYBODY/pair_airebo.cpp index 29d2121f1f..90e43b7a6d 100644 --- a/src/MANYBODY/pair_airebo.cpp +++ b/src/MANYBODY/pair_airebo.cpp @@ -31,7 +31,6 @@ #include "memory.h" #include "my_page.h" #include "neigh_list.h" -#include "neigh_request.h" #include "neighbor.h" #include "potential_file_reader.h" #include "text_file_reader.h" @@ -237,10 +236,7 @@ void PairAIREBO::init_style() // need a full neighbor list, including neighbors of ghosts - int irequest = neighbor->request(this,instance_me); - neighbor->requests[irequest]->half = 0; - neighbor->requests[irequest]->full = 1; - neighbor->requests[irequest]->ghost = 1; + neighbor->add_request(this,NeighConst::REQ_FULL|NeighConst::REQ_GHOST); // local REBO neighbor list // create pages if first time or if neighbor pgsize/oneatom has changed diff --git a/src/MANYBODY/pair_tersoff.cpp b/src/MANYBODY/pair_tersoff.cpp index 6ad0a37ba3..c5578dfc18 100644 --- a/src/MANYBODY/pair_tersoff.cpp +++ b/src/MANYBODY/pair_tersoff.cpp @@ -28,7 +28,6 @@ #include "math_special.h" #include "memory.h" #include "neigh_list.h" -#include "neigh_request.h" #include "neighbor.h" #include "potential_file_reader.h" #include "suffix.h" @@ -397,9 +396,7 @@ void PairTersoff::init_style() // 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); } /* ---------------------------------------------------------------------- diff --git a/src/MEAM/pair_meam.cpp b/src/MEAM/pair_meam.cpp index 0d7c3a0736..3d5730eac3 100644 --- a/src/MEAM/pair_meam.cpp +++ b/src/MEAM/pair_meam.cpp @@ -312,14 +312,10 @@ void PairMEAM::init_style() if (force->newton_pair == 0) error->all(FLERR,"Pair style MEAM requires newton pair on"); - // need full and half neighbor list + // need a full and a half neighbor list - int irequest_full = neighbor->request(this,instance_me); - neighbor->requests[irequest_full]->id = 1; - neighbor->requests[irequest_full]->half = 0; - neighbor->requests[irequest_full]->full = 1; - int irequest_half = neighbor->request(this,instance_me); - neighbor->requests[irequest_half]->id = 2; + neighbor->add_request(this, NeighConst::REQ_FULL)->set_id(1); + neighbor->add_request(this, NeighConst::REQ_DEFAULT)->set_id(2); } /* ---------------------------------------------------------------------- diff --git a/src/ORIENT/fix_orient_bcc.cpp b/src/ORIENT/fix_orient_bcc.cpp index a64487040c..9449f5bcd8 100644 --- a/src/ORIENT/fix_orient_bcc.cpp +++ b/src/ORIENT/fix_orient_bcc.cpp @@ -28,7 +28,6 @@ #include "math_const.h" #include "memory.h" #include "neigh_list.h" -#include "neigh_request.h" #include "neighbor.h" #include "respa.h" #include "update.h" @@ -206,14 +205,9 @@ void FixOrientBCC::init() if (respa_level >= 0) ilevel_respa = MIN(respa_level,ilevel_respa); } - // need a full neighbor list - // perpetual list, built whenever re-neighboring occurs + // need a full perpetual 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->add_request(this,NeighConst::REQ_FULL); } /* ---------------------------------------------------------------------- */ diff --git a/src/ORIENT/fix_orient_eco.cpp b/src/ORIENT/fix_orient_eco.cpp index 61d26e597d..6f633316cf 100644 --- a/src/ORIENT/fix_orient_eco.cpp +++ b/src/ORIENT/fix_orient_eco.cpp @@ -26,7 +26,6 @@ #include "math_const.h" #include "memory.h" #include "neigh_list.h" -#include "neigh_request.h" #include "neighbor.h" #include "pair.h" #include "respa.h" @@ -161,10 +160,9 @@ void FixOrientECO::init() { // compute normalization factor int neigh = get_norm(); - if (me == 0) { - utils::logmesg(lmp," fix orient/eco: cutoff={} norm_fac={} " - "neighbors={}\n", r_cut, norm_fac, neigh); - } + if (me == 0) + utils::logmesg(lmp," fix orient/eco: cutoff={} norm_fac={} neighbors={}\n", + r_cut, norm_fac, neigh); inv_norm_fac = 1.0 / norm_fac; @@ -182,14 +180,9 @@ void FixOrientECO::init() { if (respa_level >= 0) ilevel_respa = MIN(respa_level, ilevel_respa); } - // need a full neighbor list - // perpetual list, built whenever re-neighboring occurs + // need a full perpetual 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->add_request(this, NeighConst::REQ_FULL); } /* ---------------------------------------------------------------------- */ diff --git a/src/ORIENT/fix_orient_fcc.cpp b/src/ORIENT/fix_orient_fcc.cpp index 07a9008f0f..d631ca9bd8 100644 --- a/src/ORIENT/fix_orient_fcc.cpp +++ b/src/ORIENT/fix_orient_fcc.cpp @@ -25,7 +25,6 @@ #include "math_const.h" #include "memory.h" #include "neigh_list.h" -#include "neigh_request.h" #include "neighbor.h" #include "respa.h" #include "update.h" @@ -204,14 +203,9 @@ void FixOrientFCC::init() if (respa_level >= 0) ilevel_respa = MIN(respa_level,ilevel_respa); } - // need a full neighbor list - // perpetual list, built whenever re-neighboring occurs + // need a full perpetual 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->add_request(this,NeighConst::REQ_FULL); } /* ---------------------------------------------------------------------- */ diff --git a/src/PERI/fix_peri_neigh.cpp b/src/PERI/fix_peri_neigh.cpp index 2ecf283d07..1d1c0d1c5e 100644 --- a/src/PERI/fix_peri_neigh.cpp +++ b/src/PERI/fix_peri_neigh.cpp @@ -122,12 +122,7 @@ void FixPeriNeigh::init() // need a full neighbor list once - 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); // compute PD scale factor, stored in Atom class, used by DumpCFG diff --git a/src/PHONON/third_order.cpp b/src/PHONON/third_order.cpp index 0f70a591d8..3bcff07ea7 100644 --- a/src/PHONON/third_order.cpp +++ b/src/PHONON/third_order.cpp @@ -124,16 +124,10 @@ void ThirdOrder::command(int narg, char **arg) // request a full neighbor list for use by this command - int irequest = neighbor->request(this); - neighbor->requests[irequest]->pair = 0; - neighbor->requests[irequest]->command = 1; - neighbor->requests[irequest]->half = 0; - neighbor->requests[irequest]->full = 1; - neighbor->requests[irequest]->occasional = 1; - neighbor->requests[irequest]->command_style = "third_order"; + neighbor->add_request(this, "third_order", NeighConst::REQ_FULL); lmp->init(); - list = neighbor->lists[irequest]; + list = neighbor->find_list(this); // orthogonal vs triclinic simulation box diff --git a/src/compute_rdf.cpp b/src/compute_rdf.cpp index 59b456d40e..dd3c8f5103 100644 --- a/src/compute_rdf.cpp +++ b/src/compute_rdf.cpp @@ -18,22 +18,22 @@ #include "compute_rdf.h" -#include -#include #include "atom.h" -#include "update.h" -#include "force.h" -#include "pair.h" +#include "comm.h" #include "domain.h" -#include "neighbor.h" -#include "neigh_request.h" -#include "neigh_list.h" +#include "error.h" +#include "force.h" #include "group.h" #include "math_const.h" #include "memory.h" -#include "error.h" -#include "comm.h" +#include "neigh_list.h" +#include "neigh_request.h" +#include "neighbor.h" +#include "pair.h" +#include "update.h" +#include +#include using namespace LAMMPS_NS; using namespace MathConst; @@ -204,14 +204,10 @@ void ComputeRDF::init() // (until next reneighbor), so it needs to contain atoms further // than cutoff_user apart, just like a normal neighbor list does - int irequest = neighbor->request(this,instance_me); - neighbor->requests[irequest]->pair = 0; - neighbor->requests[irequest]->compute = 1; - neighbor->requests[irequest]->occasional = 1; - if (cutflag) { - neighbor->requests[irequest]->cut = 1; - neighbor->requests[irequest]->cutoff = mycutneigh; - } + if (cutflag) + neighbor->add_request(this,NeighConst::REQ_OCCASIONAL)->set_cutoff(mycutneigh); + else + neighbor->add_request(this,NeighConst::REQ_OCCASIONAL); } /* ---------------------------------------------------------------------- */ diff --git a/src/create_bonds.cpp b/src/create_bonds.cpp index ab3bba7041..c84d883782 100644 --- a/src/create_bonds.cpp +++ b/src/create_bonds.cpp @@ -180,13 +180,7 @@ void CreateBonds::many() // request a full neighbor list for use by this command - int irequest = neighbor->request(this); - neighbor->requests[irequest]->pair = 0; - neighbor->requests[irequest]->command = 1; - neighbor->requests[irequest]->half = 0; - neighbor->requests[irequest]->full = 1; - neighbor->requests[irequest]->occasional = 1; - neighbor->requests[irequest]->command_style = "create_bonds"; + neighbor->add_request(this, "create_bonds", NeighConst::REQ_FULL); // init entire system since comm->borders and neighbor->build is done // comm::init needs neighbor::init needs pair::init needs kspace::init, etc @@ -231,7 +225,7 @@ void CreateBonds::many() // build neighbor list this command needs based on earlier request - NeighList *list = neighbor->lists[irequest]; + auto list = neighbor->find_list(this); neighbor->build_one(list,1); // loop over all neighs of each atom diff --git a/src/delete_atoms.cpp b/src/delete_atoms.cpp index 5e06fc22f3..11d3523cd0 100644 --- a/src/delete_atoms.cpp +++ b/src/delete_atoms.cpp @@ -29,7 +29,6 @@ #include "modify.h" #include "molecule.h" #include "neigh_list.h" -#include "neigh_request.h" #include "neighbor.h" #include "random_mars.h" #include "region.h" @@ -284,13 +283,7 @@ void DeleteAtoms::delete_overlap(int narg, char **arg) // request a full neighbor list for use by this command - int irequest = neighbor->request(this); - neighbor->requests[irequest]->pair = 0; - neighbor->requests[irequest]->command = 1; - neighbor->requests[irequest]->half = 0; - neighbor->requests[irequest]->full = 1; - neighbor->requests[irequest]->occasional = 1; - neighbor->requests[irequest]->command_style = "delete_atoms"; + neighbor->add_request(this, "delete_atoms", NeighConst::REQ_FULL); // init entire system since comm->borders and neighbor->build is done // comm::init needs neighbor::init needs pair::init needs kspace::init, etc @@ -320,9 +313,9 @@ void DeleteAtoms::delete_overlap(int narg, char **arg) if (domain->triclinic) domain->lamda2x(atom->nlocal+atom->nghost); neighbor->build(1); - // build neighbor list this command needs based on earlier request + // build neighbor list this command needs based on the earlier request - NeighList *list = neighbor->lists[irequest]; + auto list = neighbor->find_list(this); neighbor->build_one(list); // allocate and initialize deletion list diff --git a/src/pair.cpp b/src/pair.cpp index f88c4e0972..fe8e77c81c 100644 --- a/src/pair.cpp +++ b/src/pair.cpp @@ -326,7 +326,7 @@ void Pair::reinit() void Pair::init_style() { - neighbor->request(this,instance_me); + neighbor->add_request(this, NeighConst::REQ_DEFAULT); } /* ---------------------------------------------------------------------- diff --git a/src/pair_lj_cut.cpp b/src/pair_lj_cut.cpp index a9d45b9007..c6751b3505 100644 --- a/src/pair_lj_cut.cpp +++ b/src/pair_lj_cut.cpp @@ -24,7 +24,6 @@ #include "math_const.h" #include "memory.h" #include "neigh_list.h" -#include "neigh_request.h" #include "neighbor.h" #include "respa.h" #include "update.h" @@ -476,21 +475,14 @@ void PairLJCut::init_style() { // request regular or rRESPA neighbor list - int irequest; - int respa = 0; + int list_style = NeighConst::REQ_DEFAULT; if (update->whichflag == 1 && utils::strmatch(update->integrate_style, "^respa")) { - if (((Respa *) update->integrate)->level_inner >= 0) respa = 1; - if (((Respa *) update->integrate)->level_middle >= 0) respa = 2; + auto respa = (Respa *) update->integrate; + if (respa->level_inner >= 0) list_style = NeighConst::REQ_RESPA_INOUT; + if (respa->level_middle >= 0) list_style = NeighConst::REQ_RESPA_ALL; } - - irequest = neighbor->request(this, instance_me); - - if (respa >= 1) { - neighbor->requests[irequest]->respaouter = 1; - neighbor->requests[irequest]->respainner = 1; - } - if (respa == 2) neighbor->requests[irequest]->respamiddle = 1; + neighbor->add_request(this, list_style); // set rRESPA cutoffs