apply new APIs to a few representative cases

This commit is contained in:
Axel Kohlmeyer
2022-03-02 21:31:35 -05:00
parent d4272815a3
commit a0996da644
13 changed files with 42 additions and 108 deletions

View File

@ -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

View File

@ -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);
}
/* ----------------------------------------------------------------------

View File

@ -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);
}
/* ----------------------------------------------------------------------

View File

@ -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);
}
/* ---------------------------------------------------------------------- */

View File

@ -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);
}
/* ---------------------------------------------------------------------- */

View File

@ -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);
}
/* ---------------------------------------------------------------------- */

View File

@ -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

View File

@ -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

View File

@ -18,22 +18,22 @@
#include "compute_rdf.h"
#include <cmath>
#include <cstring>
#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 <cmath>
#include <cstring>
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);
}
/* ---------------------------------------------------------------------- */

View File

@ -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

View File

@ -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

View File

@ -326,7 +326,7 @@ void Pair::reinit()
void Pair::init_style()
{
neighbor->request(this,instance_me);
neighbor->add_request(this, NeighConst::REQ_DEFAULT);
}
/* ----------------------------------------------------------------------

View File

@ -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