From 2e2b1b36878de27b035b4a2a7cf420dc849f1ac7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eugen=20Ro=C5=BEi=C4=87?= Date: Thu, 2 May 2019 15:17:31 +0100 Subject: [PATCH 01/29] Initial commit... --- src/create_atoms.cpp | 239 +++++++++++++++++++++++++++++++------------ src/create_atoms.h | 10 +- 2 files changed, 185 insertions(+), 64 deletions(-) diff --git a/src/create_atoms.cpp b/src/create_atoms.cpp index ba04de026d..7109b6e485 100644 --- a/src/create_atoms.cpp +++ b/src/create_atoms.cpp @@ -35,12 +35,14 @@ #include "math_extra.h" #include "math_const.h" #include "error.h" +#include "memory.h" using namespace LAMMPS_NS; using namespace MathConst; #define BIG 1.0e30 #define EPSILON 1.0e-6 +#define MAX_RANDOM_TRIES 1000 enum{BOX,REGION,SINGLE,RANDOM}; enum{ATOM,MOLECULE}; @@ -105,11 +107,17 @@ void CreateAtoms::command(int narg, char **arg) int scaleflag = 1; remapflag = 0; + rotateflag = 0; + quatone[0] = quatone[1] = quatone[2] = 0.0; mode = ATOM; int molseed; varflag = 0; vstr = xstr = ystr = zstr = NULL; - quatone[0] = quatone[1] = quatone[2] = 0.0; + excludeflag = 0; + if (style == RANDOM) + maxtries = MAX_RANDOM_TRIES; + else + maxtries = 1; nbasis = domain->lattice->nbasis; basistype = new int[nbasis]; @@ -156,6 +164,15 @@ void CreateAtoms::command(int narg, char **arg) strcpy(vstr,arg[iarg+1]); varflag = 1; iarg += 2; + } else if (strcmp(arg[iarg],"exclude") == 0) { + if (iarg+2 > narg) error->all(FLERR,"Illegal create_atoms command"); + exclude_cutoff = force->numeric(FLERR,arg[iarg+1]); + excludeflag = 1; + iarg += 2; + } else if (strcmp(arg[iarg],"maxtries") == 0) { + if (iarg+2 > narg) error->all(FLERR,"Illegal create_atoms command"); + maxtries = force->numeric(FLERR,arg[iarg+1]); + iarg += 2; } else if (strcmp(arg[iarg],"set") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal create_atoms command"); if (strcmp(arg[iarg+1],"x") == 0) { @@ -176,9 +193,9 @@ void CreateAtoms::command(int narg, char **arg) } else error->all(FLERR,"Illegal create_atoms command"); iarg += 3; } else if (strcmp(arg[iarg],"rotate") == 0) { - if (style != SINGLE) - error->all(FLERR,"Cannot use create_atoms rotate unless single style"); - if (iarg+5 > narg) error->all(FLERR,"Illegal create_atoms command"); + if (style == RANDOM) + error->all(FLERR,"Cannot use create_atoms rotate with random style"); + if (iarg+5 > narg) error->all(FLERR, "Illegal create_atoms command"); double thetaone; double axisone[3]; thetaone = force->numeric(FLERR,arg[iarg+1]); @@ -191,6 +208,7 @@ void CreateAtoms::command(int narg, char **arg) error->all(FLERR,"Invalid create_atoms rotation vector for 2d model"); MathExtra::norm3(axisone); MathExtra::axisangle_to_quat(axisone,thetaone,quatone); + rotateflag = 1; iarg += 5; } else error->all(FLERR,"Illegal create_atoms command"); } @@ -207,7 +225,6 @@ void CreateAtoms::command(int narg, char **arg) // error check and further setup for mode = MOLECULE - ranmol = NULL; if (mode == MOLECULE) { if (onemol->xflag == 0) error->all(FLERR,"Create_atoms molecule must have coordinates"); @@ -227,6 +244,10 @@ void CreateAtoms::command(int narg, char **arg) // molecule random number generator, different for each proc ranmol = new RanMars(lmp,molseed+comm->me); + + // a bit of memory for molecule creation tries + + memory->create(temp_mol_coords, natoms, 3, "create_atoms:temp_mol_coords"); } // error check and further setup for variable test @@ -519,8 +540,12 @@ void CreateAtoms::command(int narg, char **arg) // clean up - delete ranmol; - if (domain->lattice) delete [] basistype; + if (mode == MOLECULE) { + delete ranmol; + memory->destroy(temp_mol_coords); + } + if (domain->lattice) + delete [] basistype; delete [] vstr; delete [] xstr; delete [] ystr; @@ -587,15 +612,47 @@ void CreateAtoms::add_single() coord = lamda; } else coord = xone; + //TODO varflag ?? + + if (mode == MOLECULE) { + if (rotateflag) { + gen_mol_coords(xone, quatone); + } else { + gen_mol_coords(xone); //random rotation + } + } + + if (excludeflag) { + if (mode == ATOM) { + //TODO check for xone... + // if not OK: + // error->all(FLERR, "Couldn't create atom at the given coordinates") + } else { + int tries = 1; + if (rotateflag) + tries = maxtries; //because nothing will change in subsequent tries + while (1) { + //TODO check for each temp_mol_coord... + // if OK: break; + // else: tries++; + if (tries > maxtries) + error->all(FLERR, "Couldn't create molecule at the given coordinates") + else + gen_mol_coords(xone); + } + } + } + // if atom/molecule is in my subbox, create it if (coord[0] >= sublo[0] && coord[0] < subhi[0] && coord[1] >= sublo[1] && coord[1] < subhi[1] && coord[2] >= sublo[2] && coord[2] < subhi[2]) { - if (mode == ATOM) atom->avec->create_atom(ntype,xone); - else if (quatone[0] == 0.0 && quatone[1] == 0.0 && quatone[2] == 0.0) - add_molecule(xone); - else add_molecule(xone,quatone); + if (mode == ATOM) { + atom->avec->create_atom(ntype, xone); + } else { + create_mol(); + } } } @@ -645,39 +702,61 @@ void CreateAtoms::add_random() // if final atom position is in my subbox, create it if (xlo > xhi || ylo > yhi || zlo > zhi) - error->all(FLERR,"No overlap of box and region for create_atoms"); + error->all(FLERR, "No overlap of box and region for create_atoms"); - int valid; + int tries; for (int i = 0; i < nrandom; i++) { + tries = 0; while (1) { + tries++; + if (tries > maxtries) + error->all(FLERR, "Exceeded max number of tries in create_atoms"); + xone[0] = xlo + random->uniform() * (xhi-xlo); xone[1] = ylo + random->uniform() * (yhi-ylo); xone[2] = zlo + random->uniform() * (zhi-zlo); if (domain->dimension == 2) xone[2] = zmid; - valid = 1; if (nregion >= 0 && domain->regions[nregion]->match(xone[0],xone[1],xone[2]) == 0) - valid = 0; - if (varflag && vartest(xone) == 0) valid = 0; + continue; + + if (varflag && vartest(xone) == 0) + continue; + + if (mode == MOLECULE) + gen_mol_coords(xone); //"rotate" is incompatible with "random" + + if (excludeflag) { + if (mode == ATOM) { + //TODO check fox xone... if not OK: continue; + } else { + //TODO check for each temp_mol_coord... if not OK: continue; + } + } + if (triclinic) { domain->x2lamda(xone,lamda); coord = lamda; if (coord[0] < boxlo[0] || coord[0] >= boxhi[0] || coord[1] < boxlo[1] || coord[1] >= boxhi[1] || - coord[2] < boxlo[2] || coord[2] >= boxhi[2]) valid = 0; - } else coord = xone; + coord[2] < boxlo[2] || coord[2] >= boxhi[2]) + continue; + } else + coord = xone; - if (valid) break; + break; //if survived to here means it succeeded } // if triclinic, coord is now in lamda units - if (coord[0] >= sublo[0] && coord[0] < subhi[0] && coord[1] >= sublo[1] && coord[1] < subhi[1] && coord[2] >= sublo[2] && coord[2] < subhi[2]) { - if (mode == ATOM) atom->avec->create_atom(ntype,xone); - else add_molecule(xone); + if (mode == ATOM) { + atom->avec->create_atom(ntype, xone); + } else { + create_mol(); + } } } @@ -784,83 +863,117 @@ void CreateAtoms::add_lattice() x[1] = j + basis[m][1]; x[2] = k + basis[m][2]; - // convert from lattice coords to box coords - domain->lattice->lattice2box(x[0],x[1],x[2]); - // if a region was specified, test if atom is in it + if (style == REGION && + !domain->regions[nregion]->match(xone[0],xone[1],xone[2])) + continue; - if (style == REGION) - if (!domain->regions[nregion]->match(x[0],x[1],x[2])) continue; + if (varflag && vartest(x) == 0) + continue; - // if variable test specified, eval variable + if (mode == MOLECULE) { + if (rotateflag) { + gen_mol_coords(x, quatone); //give all mols in lattice the same orientation + } else { + gen_mol_coords(x); //random orientation + } + } - if (varflag && vartest(x) == 0) continue; - - // test if atom/molecule position is in my subbox + if (excludeflag) { + if (mode == ATOM) { + //TODO check fox x... if not OK: continue; + } else { + int tries = 1; + if (rotateflag) + tries = maxtries; //because nothing will change in subsequent tries + while (1) { + //TODO check for each temp_mol_coord... + // if OK: break; + // else: tries++; + if (tries > maxtries) + break; + else + gen_mol_coords(x); + } + if (tries > maxtries) + continue; + } + } if (triclinic) { - domain->x2lamda(x,lamda); + domain->x2lamda(xone,lamda); coord = lamda; } else coord = x; - if (coord[0] < sublo[0] || coord[0] >= subhi[0] || - coord[1] < sublo[1] || coord[1] >= subhi[1] || - coord[2] < sublo[2] || coord[2] >= subhi[2]) continue; - - // add the atom or entire molecule to my list of atoms - - if (mode == ATOM) atom->avec->create_atom(basistype[m],x); - else add_molecule(x); + // test if atom/molecule position is in my subbox + // if triclinic, coord is now in lamda units + if (coord[0] >= sublo[0] && coord[0] < subhi[0] && + coord[1] >= sublo[1] && coord[1] < subhi[1] && + coord[2] >= sublo[2] && coord[2] < subhi[2]) { + if (mode == ATOM) { + atom->avec->create_atom(basistype[m], x); + } else { + create_mol(); + } + } } } } } } - /* ---------------------------------------------------------------------- - add a randomly rotated molecule with its center at center - if quat_user set, perform requested rotation + Generate molecule atom coordinates for a given center and rotation. + If quat_user set use it, else generate a random quaternion. + The result is stored in temp_mol_coords and onemol->quat_external. ------------------------------------------------------------------------- */ - -void CreateAtoms::add_molecule(double *center, double *quat_user) +void CreateAtoms::gen_mol_coords(double *center, double *quat_user) { - int n; - double r[3],rotmat[3][3],quat[4],xnew[3]; - + double quat[4], rotmat[3][3]; if (quat_user) { - quat[0] = quat_user[0]; quat[1] = quat_user[1]; - quat[2] = quat_user[2]; quat[3] = quat_user[3]; + quat[0] = quat_user[0]; + quat[1] = quat_user[1]; + quat[2] = quat_user[2]; + quat[3] = quat_user[3]; } else { if (domain->dimension == 3) { r[0] = ranmol->uniform() - 0.5; r[1] = ranmol->uniform() - 0.5; r[2] = ranmol->uniform() - 0.5; + MathExtra::norm3(r); } else { r[0] = r[1] = 0.0; r[2] = 1.0; } - MathExtra::norm3(r); double theta = ranmol->uniform() * MY_2PI; - MathExtra::axisangle_to_quat(r,theta,quat); + MathExtra::axisangle_to_quat(r, theta, quat); } - - MathExtra::quat_to_mat(quat,rotmat); onemol->quat_external = quat; - - // create atoms in molecule with atom ID = 0 and mol ID = 0 - // reset in caller after all molecules created by all procs - // pass add_molecule_atom an offset of 0 since don't know - // max tag of atoms in previous molecules at this point + MathExtra::quat_to_mat(quat, rotmat); int natoms = onemol->natoms; for (int m = 0; m < natoms; m++) { - MathExtra::matvec(rotmat,onemol->dx[m],xnew); - MathExtra::add3(xnew,center,xnew); - atom->avec->create_atom(ntype+onemol->type[m],xnew); + MathExtra::matvec(rotmat, onemol->dx[m], temp_mol_coords[m]); + MathExtra::add3(temp_mol_coords[m], center, temp_mol_coords[m]); + } +} + +/* ---------------------------------------------------------------------- + Create a molecule from temp_mol_coords. +------------------------------------------------------------------------- */ + +void CreateAtoms::create_mol() +{ + // create atoms in molecule with atom ID = 0 and mol ID = 0 + // reset in caller after all molecules created by all procs + // pass add_molecule_atom an offset of 0 since don't know + // max tag of atoms in previous molecules at this point + int natoms = onemol->natoms; + for (int m = 0; m < natoms; m++) { + atom->avec->create_atom(ntype+onemol->type[m], temp_mol_coords[m]); n = atom->nlocal - 1; - atom->add_molecule_atom(onemol,m,n,0); + atom->add_molecule_atom(onemol, m, n, 0); } } diff --git a/src/create_atoms.h b/src/create_atoms.h index 56e9c65b89..297eae2a53 100644 --- a/src/create_atoms.h +++ b/src/create_atoms.h @@ -34,6 +34,11 @@ class CreateAtoms : protected Pointers { int *basistype; double xone[3],quatone[4]; int remapflag; + int rotateflag; + + int maxtries; + int excludeflag; + double exclude_cutoff; int varflag,vvar,xvar,yvar,zvar; char *vstr,*xstr,*ystr,*zstr; @@ -41,6 +46,7 @@ class CreateAtoms : protected Pointers { class Molecule *onemol; class RanMars *ranmol; + double **temp_mol_coords; int triclinic; double sublo[3],subhi[3]; // epsilon-extended proc sub-box for adding atoms @@ -48,7 +54,9 @@ class CreateAtoms : protected Pointers { void add_single(); void add_random(); void add_lattice(); - void add_molecule(double *, double * = NULL); + + void gen_mol_coords(double *, double * = NULL); + void create_mol(); int vartest(double *); // evaluate a variable with new atom position }; From fc13c95c85cade7a63bbf20337d731615e60d2e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eugen=20Ro=C5=BEi=C4=87?= Date: Mon, 24 Jan 2022 20:55:28 +0100 Subject: [PATCH 02/29] tweaks and bugs --- src/create_atoms.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/create_atoms.cpp b/src/create_atoms.cpp index 1304e2c818..9aeba20fe7 100644 --- a/src/create_atoms.cpp +++ b/src/create_atoms.cpp @@ -793,6 +793,7 @@ void CreateAtoms::add_random() } // if triclinic, coord is now in lamda units + if (coord[0] >= sublo[0] && coord[0] < subhi[0] && coord[1] >= sublo[1] && coord[1] < subhi[1] && coord[2] >= sublo[2] && coord[2] < subhi[2]) { @@ -968,12 +969,18 @@ void CreateAtoms::loop_lattice(int action) x[1] = j + basis[m][1]; x[2] = k + basis[m][2]; + // convert from lattice coords to box coords + domain->lattice->lattice2box(x[0],x[1],x[2]); + + // if a region was specified, test if atom is in it if (style == REGION && - !domain->regions[nregion]->match(xone[0],xone[1],xone[2])) + !domain->regions[nregion]->match(x[0],x[1],x[2])) continue; + // if variable test specified, eval variable + if (varflag && vartest(x) == 0) continue; @@ -985,6 +992,7 @@ void CreateAtoms::loop_lattice(int action) } } + // test if atom/molecule position is in my subbox if (excludeflag) { if (mode == ATOM) { //TODO check fox x... if not OK: continue; @@ -1007,7 +1015,7 @@ void CreateAtoms::loop_lattice(int action) } if (triclinic) { - domain->x2lamda(xone,lamda); + domain->x2lamda(x,lamda); coord = lamda; } else coord = x; From 1b6f850d4278b775bbe073e67b75b3045c0cf686 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eugen=20Ro=C5=BEi=C4=87?= Date: Tue, 1 Feb 2022 00:17:21 +0100 Subject: [PATCH 03/29] Prepared for implementation --- src/create_atoms.cpp | 142 ++++++++++++------------------------------- src/create_atoms.h | 1 - 2 files changed, 38 insertions(+), 105 deletions(-) diff --git a/src/create_atoms.cpp b/src/create_atoms.cpp index 9aeba20fe7..15736b6d3f 100644 --- a/src/create_atoms.cpp +++ b/src/create_atoms.cpp @@ -14,6 +14,7 @@ /* ---------------------------------------------------------------------- Contributing author (ratio and subset) : Jake Gissinger (U Colorado) + Contributing author (exclude) : Eugen Rozic (Institute Ruder Boskovic) ------------------------------------------------------------------------- */ #include "create_atoms.h" @@ -45,7 +46,6 @@ using namespace MathConst; #define BIG 1.0e30 #define EPSILON 1.0e-6 #define LB_FACTOR 1.1 -#define MAX_RANDOM_TRIES 1000 enum{BOX,REGION,SINGLE,RANDOM}; enum{ATOM,MOLECULE}; @@ -113,7 +113,9 @@ void CreateAtoms::command(int narg, char **arg) style = RANDOM; if (narg < 5) error->all(FLERR,"Illegal create_atoms command"); nrandom = utils::inumeric(FLERR,arg[2],false,lmp); + if (nrandom < 0) error->all(FLERR,"Illegal create_atoms command"); seed = utils::inumeric(FLERR,arg[3],false,lmp); + if (seed <= 0) error->all(FLERR,"Illegal create_atoms command"); if (strcmp(arg[4],"NULL") == 0) nregion = -1; else { nregion = domain->find_region(arg[4]); @@ -129,19 +131,16 @@ void CreateAtoms::command(int narg, char **arg) int scaleflag = 1; remapflag = 0; - rotateflag = 0; mode = ATOM; int molseed; + ranmol = nullptr; varflag = 0; vstr = xstr = ystr = zstr = nullptr; - quatone[0] = quatone[1] = quatone[2] = 0.0; + quatone[0] = quatone[1] = quatone[2] = quatone[3] = 0.0; subsetflag = NONE; int subsetseed; excludeflag = 0; - if (style == RANDOM) - maxtries = MAX_RANDOM_TRIES; - else - maxtries = 1; + maxtries = 1; nbasis = domain->lattice->nbasis; basistype = new int[nbasis]; @@ -184,15 +183,6 @@ void CreateAtoms::command(int narg, char **arg) vstr = utils::strdup(arg[iarg+1]); varflag = 1; iarg += 2; - } else if (strcmp(arg[iarg],"exclude") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal create_atoms command"); - exclude_cutoff = force->numeric(FLERR,arg[iarg+1]); - excludeflag = 1; - iarg += 2; - } else if (strcmp(arg[iarg],"maxtries") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal create_atoms command"); - maxtries = force->numeric(FLERR,arg[iarg+1]); - iarg += 2; } else if (strcmp(arg[iarg],"set") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal create_atoms command"); if (strcmp(arg[iarg+1],"x") == 0) { @@ -207,8 +197,6 @@ void CreateAtoms::command(int narg, char **arg) } else error->all(FLERR,"Illegal create_atoms command"); iarg += 3; } else if (strcmp(arg[iarg],"rotate") == 0) { - if (style == RANDOM) - error->all(FLERR,"Cannot use create_atoms rotate with random style"); if (iarg+5 > narg) error->all(FLERR,"Illegal create_atoms command"); double thetaone; double axisone[3]; @@ -222,7 +210,6 @@ void CreateAtoms::command(int narg, char **arg) error->all(FLERR,"Invalid create_atoms rotation vector for 2d model"); MathExtra::norm3(axisone); MathExtra::axisangle_to_quat(axisone,thetaone,quatone); - rotateflag = 1; iarg += 5; } else if (strcmp(arg[iarg],"ratio") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal create_atoms command"); @@ -240,23 +227,21 @@ void CreateAtoms::command(int narg, char **arg) if (nsubset <= 0 || subsetseed <= 0) error->all(FLERR,"Illegal create_atoms command"); iarg += 3; + } else if (strcmp(arg[iarg],"exclude") == 0) { + if (iarg+3 > narg) error->all(FLERR,"Illegal create_atoms command"); + exclude_cutoff = force->numeric(FLERR,arg[iarg+1]); + maxtries = force->numeric(FLERR,arg[iarg+2]); + excludeflag = 1; + iarg += 3; } else error->all(FLERR,"Illegal create_atoms command"); } - // error checks + // error checks and further setup for mode = MOLECULE - if (mode == ATOM && (ntype <= 0 || ntype > atom->ntypes)) - error->all(FLERR,"Invalid atom type in create_atoms command"); - - if (style == RANDOM) { - if (nrandom < 0) error->all(FLERR,"Illegal create_atoms command"); - if (seed <= 0) error->all(FLERR,"Illegal create_atoms command"); - } - - // error check and further setup for mode = MOLECULE - - ranmol = nullptr; - if (mode == MOLECULE) { + if (mode == ATOM) { + if (ntype <= 0 || ntype > atom->ntypes)) + error->all(FLERR,"Invalid atom type in create_atoms command"); + } else if (mode == MOLECULE) { if (onemol->xflag == 0) error->all(FLERR,"Create_atoms molecule must have coordinates"); if (onemol->typeflag == 0) @@ -268,16 +253,13 @@ void CreateAtoms::command(int narg, char **arg) "Create_atoms molecule has atom IDs, but system does not"); onemol->check_attributes(0); - // create_atoms uses geoemetric center of molecule for insertion - + // create_atoms uses geometric center of molecule for insertion onemol->compute_center(); // molecule random number generator, different for each proc + ranmol = new RanMars(lmp, molseed+me); - ranmol = new RanMars(lmp,molseed+me); - - // a bit of memory for molecule creation tries - + // a bit of memory for tries to create molecules (if exclude/maxtries) memory->create(temp_mol_coords, natoms, 3, "create_atoms:temp_mol_coords"); } @@ -605,7 +587,6 @@ void CreateAtoms::command(int narg, char **arg) if (atom->molecular == Atom::MOLECULAR && onemol->bondflag && !onemol->specialflag) { Special special(lmp); special.build(); - } } @@ -656,35 +637,6 @@ void CreateAtoms::add_single() //TODO varflag ?? - if (mode == MOLECULE) { - if (rotateflag) { - gen_mol_coords(xone, quatone); - } else { - gen_mol_coords(xone); //random rotation - } - } - - if (excludeflag) { - if (mode == ATOM) { - //TODO check for xone... - // if not OK: - // error->all(FLERR, "Couldn't create atom at the given coordinates") - } else { - int tries = 1; - if (rotateflag) - tries = maxtries; //because nothing will change in subsequent tries - while (1) { - //TODO check for each temp_mol_coord... - // if OK: break; - // else: tries++; - if (tries > maxtries) - error->all(FLERR, "Couldn't create molecule at the given coordinates") - else - gen_mol_coords(xone); - } - } - } - // if atom/molecule is in my subbox, create it if (coord[0] >= sublo[0] && coord[0] < subhi[0] && @@ -693,6 +645,7 @@ void CreateAtoms::add_single() if (mode == ATOM) { atom->avec->create_atom(ntype, xone); } else { + gen_mol_coords(xone, quatone); create_mol(); } } @@ -769,7 +722,7 @@ void CreateAtoms::add_random() continue; if (mode == MOLECULE) - gen_mol_coords(xone); //"rotate" is incompatible with "random" + gen_mol_coords(xone, quatone); if (excludeflag) { if (mode == ATOM) { @@ -984,36 +937,6 @@ void CreateAtoms::loop_lattice(int action) if (varflag && vartest(x) == 0) continue; - if (mode == MOLECULE) { - if (rotateflag) { - gen_mol_coords(x, quatone); //give all mols in lattice the same orientation - } else { - gen_mol_coords(x); //random orientation - } - } - - // test if atom/molecule position is in my subbox - if (excludeflag) { - if (mode == ATOM) { - //TODO check fox x... if not OK: continue; - } else { - int tries = 1; - if (rotateflag) - tries = maxtries; //because nothing will change in subsequent tries - while (1) { - //TODO check for each temp_mol_coord... - // if OK: break; - // else: tries++; - if (tries > maxtries) - break; - else - gen_mol_coords(x); - } - if (tries > maxtries) - continue; - } - } - if (triclinic) { domain->x2lamda(x,lamda); coord = lamda; @@ -1031,6 +954,7 @@ void CreateAtoms::loop_lattice(int action) if (mode == ATOM) { atom->avec->create_atom(basistype[m],x); } else { + gen_mol_coords(x, quatone); create_mol(); } } else if (action == COUNT) { @@ -1039,6 +963,7 @@ void CreateAtoms::loop_lattice(int action) if (mode == ATOM) { atom->avec->create_atom(basistype[m],x); } else { + gen_mol_coords(x, quatone); create_mol(); } } @@ -1058,12 +983,16 @@ void CreateAtoms::loop_lattice(int action) void CreateAtoms::gen_mol_coords(double *center, double *quat_user) { double quat[4], rotmat[3][3]; + int randrot = 1; if (quat_user) { - quat[0] = quat_user[0]; - quat[1] = quat_user[1]; - quat[2] = quat_user[2]; - quat[3] = quat_user[3]; - } else { + for (int i=0; i<4; i++) { + if (quat_user[i] != 0) { + randrot = 0; + break; + } + } + } + if (randrot) { if (domain->dimension == 3) { r[0] = ranmol->uniform() - 0.5; r[1] = ranmol->uniform() - 0.5; @@ -1075,6 +1004,11 @@ void CreateAtoms::gen_mol_coords(double *center, double *quat_user) } double theta = ranmol->uniform() * MY_2PI; MathExtra::axisangle_to_quat(r, theta, quat); + } else { + quat[0] = quat_user[0]; + quat[1] = quat_user[1]; + quat[2] = quat_user[2]; + quat[3] = quat_user[3]; } onemol->quat_external = quat; MathExtra::quat_to_mat(quat, rotmat); diff --git a/src/create_atoms.h b/src/create_atoms.h index 6ff95f9b1a..7fd15e1e16 100644 --- a/src/create_atoms.h +++ b/src/create_atoms.h @@ -33,7 +33,6 @@ class CreateAtoms : public Command { int me, nprocs; int ntype, style, mode, nregion, nbasis, nrandom, seed; int remapflag; - int rotateflag; int maxtries; int excludeflag; double exclude_cutoff; From 1da12feafcb0cdd0fd309883a6d1c1fd6644a2f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eugen=20Ro=C5=BEi=C4=87?= Date: Tue, 1 Feb 2022 00:46:15 +0100 Subject: [PATCH 04/29] Prepared for implementation of exclude - maxtries returned as separate option - errors for incompatible options (var with single + new) --- src/create_atoms.cpp | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/src/create_atoms.cpp b/src/create_atoms.cpp index 15736b6d3f..e2b5b1f065 100644 --- a/src/create_atoms.cpp +++ b/src/create_atoms.cpp @@ -14,7 +14,7 @@ /* ---------------------------------------------------------------------- Contributing author (ratio and subset) : Jake Gissinger (U Colorado) - Contributing author (exclude) : Eugen Rozic (Institute Ruder Boskovic) + Contributing author (exclude and maxtries) : Eugen Rozic (IRB, Zagreb) ------------------------------------------------------------------------- */ #include "create_atoms.h" @@ -46,6 +46,7 @@ using namespace MathConst; #define BIG 1.0e30 #define EPSILON 1.0e-6 #define LB_FACTOR 1.1 +#define DEFAULT_MAXTRIES 1000 enum{BOX,REGION,SINGLE,RANDOM}; enum{ATOM,MOLECULE}; @@ -140,7 +141,7 @@ void CreateAtoms::command(int narg, char **arg) subsetflag = NONE; int subsetseed; excludeflag = 0; - maxtries = 1; + maxtries = DEFAULT_MAXTRIES; nbasis = domain->lattice->nbasis; basistype = new int[nbasis]; @@ -178,6 +179,8 @@ void CreateAtoms::command(int narg, char **arg) else error->all(FLERR,"Illegal create_atoms command"); iarg += 2; } else if (strcmp(arg[iarg],"var") == 0) { + if (style == SINGLE) error->all(FLERR,"Illegal create_atoms command: " + "can't combine 'var' keyword with 'single' style!"); if (iarg+2 > narg) error->all(FLERR,"Illegal create_atoms command"); delete [] vstr; vstr = utils::strdup(arg[iarg+1]); @@ -228,11 +231,22 @@ void CreateAtoms::command(int narg, char **arg) error->all(FLERR,"Illegal create_atoms command"); iarg += 3; } else if (strcmp(arg[iarg],"exclude") == 0) { - if (iarg+3 > narg) error->all(FLERR,"Illegal create_atoms command"); + if (style != RANDOM) error->all(FLERR,"Illegal create_atoms command: " + "'exclude' can only be combined with 'random' style!"); + if (iarg+2 > narg) error->all(FLERR,"Illegal create_atoms command"); exclude_cutoff = force->numeric(FLERR,arg[iarg+1]); - maxtries = force->numeric(FLERR,arg[iarg+2]); + if (exclude_cutoff <= 0) + error->all(FLERR,"Illegal create_atoms command"); excludeflag = 1; - iarg += 3; + iarg += 2; + } else if (strcmp(arg[iarg],"maxtries") == 0) { + if (style != RANDOM) error->all(FLERR,"Illegal create_atoms command: " + "'maxtries' can only be combined with 'random' style!"); + if (iarg+2 > narg) error->all(FLERR,"Illegal create_atoms command"); + maxtries = force->numeric(FLERR,arg[iarg+1]); + if (maxtries <= 0) + error->all(FLERR,"Illegal create_atoms command"); + iarg += 2; } else error->all(FLERR,"Illegal create_atoms command"); } @@ -635,8 +649,6 @@ void CreateAtoms::add_single() coord = lamda; } else coord = xone; - //TODO varflag ?? - // if atom/molecule is in my subbox, create it if (coord[0] >= sublo[0] && coord[0] < subhi[0] && From b06d4a33006dd483f682ff0fb8a59aa4e54be273 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eugen=20Ro=C5=BEi=C4=87?= Date: Thu, 3 Feb 2022 21:58:14 +0100 Subject: [PATCH 05/29] exclude_cutoff to exclude_radius --- src/create_atoms.cpp | 50 +++++++++++++++++++++++++++++++------------- src/create_atoms.h | 2 +- 2 files changed, 36 insertions(+), 16 deletions(-) diff --git a/src/create_atoms.cpp b/src/create_atoms.cpp index e2b5b1f065..f19b7f1cfc 100644 --- a/src/create_atoms.cpp +++ b/src/create_atoms.cpp @@ -14,7 +14,7 @@ /* ---------------------------------------------------------------------- Contributing author (ratio and subset) : Jake Gissinger (U Colorado) - Contributing author (exclude and maxtries) : Eugen Rozic (IRB, Zagreb) + Contributing author (maxtries & exclude) : Eugen Rozic (IRB, Zagreb) ------------------------------------------------------------------------- */ #include "create_atoms.h" @@ -230,15 +230,6 @@ void CreateAtoms::command(int narg, char **arg) if (nsubset <= 0 || subsetseed <= 0) error->all(FLERR,"Illegal create_atoms command"); iarg += 3; - } else if (strcmp(arg[iarg],"exclude") == 0) { - if (style != RANDOM) error->all(FLERR,"Illegal create_atoms command: " - "'exclude' can only be combined with 'random' style!"); - if (iarg+2 > narg) error->all(FLERR,"Illegal create_atoms command"); - exclude_cutoff = force->numeric(FLERR,arg[iarg+1]); - if (exclude_cutoff <= 0) - error->all(FLERR,"Illegal create_atoms command"); - excludeflag = 1; - iarg += 2; } else if (strcmp(arg[iarg],"maxtries") == 0) { if (style != RANDOM) error->all(FLERR,"Illegal create_atoms command: " "'maxtries' can only be combined with 'random' style!"); @@ -247,6 +238,15 @@ void CreateAtoms::command(int narg, char **arg) if (maxtries <= 0) error->all(FLERR,"Illegal create_atoms command"); iarg += 2; + } else if (strcmp(arg[iarg],"exclude") == 0) { + if (style != RANDOM) error->all(FLERR,"Illegal create_atoms command: " + "'exclude' can only be combined with 'random' style!"); + if (iarg+2 > narg) error->all(FLERR,"Illegal create_atoms command"); + exclude_radius = force->numeric(FLERR,arg[iarg+1]); + if (exclude_radius <= 0) + error->all(FLERR,"Illegal create_atoms command"); + excludeflag = 1; + iarg += 2; } else error->all(FLERR,"Illegal create_atoms command"); } @@ -673,6 +673,17 @@ void CreateAtoms::add_random() double lamda[3],*coord; double *boxlo,*boxhi; + if (excludeflag) { + int nlocal = atom->nlocal; + double **x = atom->x; + double delx, dely, delz, distsq; + double excut = exclude_radius; + // exclude option takes into account the radius of the molecule + // but not the radius of a single atom (even if it is defined) + if (mode == MOLECULE) excut += onemol->molradius; + double excutsq = exclude_radius*exclude_radius; + } + // random number generator, same for all procs // warm up the generator 30x to avoid correlations in first-particle // positions if runs are repeated with consecutive seeds @@ -708,7 +719,9 @@ void CreateAtoms::add_random() } // generate random positions for each new atom/molecule within bounding box - // iterate until atom is within region, variable, and triclinic simulation box + // iterate until atom is within region, variable, triclinic simulation box + // and outside the exclusion area of other atoms, or if maximum number + // of attempts (maxtries) have been exceeded for any atom/molecule. // if final atom position is in my subbox, create it if (xlo > xhi || ylo > yhi || zlo > zhi) @@ -737,11 +750,18 @@ void CreateAtoms::add_random() gen_mol_coords(xone, quatone); if (excludeflag) { - if (mode == ATOM) { - //TODO check fox xone... if not OK: continue; - } else { - //TODO check for each temp_mol_coord... if not OK: continue; + int reject = 0; + for (int i = 0; i < nlocal; i++){ + delx = xone[0] - x[i][0]; + dely = xone[1] - x[i][1]; + delz = xone[2] - x[i][2]; + distsq = delx*delx + dely*dely + delz*delz; + if (distsq < excutsq){ + reject = 1; + break; + } } + if (reject) continue; } if (triclinic) { diff --git a/src/create_atoms.h b/src/create_atoms.h index 7fd15e1e16..1906497dab 100644 --- a/src/create_atoms.h +++ b/src/create_atoms.h @@ -35,7 +35,7 @@ class CreateAtoms : public Command { int remapflag; int maxtries; int excludeflag; - double exclude_cutoff; + double exclude_radius; int subsetflag; bigint nsubset; double subsetfrac; From 330dd6a7a80d65fee202fd8855d80e7ec9ca5841 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eugen=20Ro=C5=BEi=C4=87?= Date: Thu, 3 Feb 2022 23:18:51 +0100 Subject: [PATCH 06/29] Documentation update for maxtries & exclude --- doc/src/create_atoms.rst | 39 +++++++++++++++++++++++++++++++-------- 1 file changed, 31 insertions(+), 8 deletions(-) diff --git a/doc/src/create_atoms.rst b/doc/src/create_atoms.rst index d10498baf2..44db3a8661 100644 --- a/doc/src/create_atoms.rst +++ b/doc/src/create_atoms.rst @@ -30,7 +30,7 @@ Syntax .. parsed-literal:: - *mol* value = template-ID seed + *mol* values = template-ID seed template-ID = ID of molecule template specified in a separate :doc:`molecule ` command seed = random # seed (positive integer) *basis* values = M itype @@ -50,6 +50,8 @@ Syntax *rotate* values = theta Rx Ry Rz theta = rotation angle for single molecule (degrees) Rx,Ry,Rz = rotation vector for single molecule + *maxtries* value = N = number of tries (for a single particle) before failure + *exclude* value = radius = radius of exclusion area around existing atoms *units* value = *lattice* or *box* *lattice* = the geometry is defined in lattice units *box* = the geometry is defined in simulation box units @@ -64,6 +66,7 @@ Examples create_atoms 3 region regsphere basis 2 3 ratio 0.5 74637 create_atoms 3 single 0 0 5 create_atoms 1 box var v set x xpos set y ypos + create_atoms 2 random 50 12345 NULL maxtries 10 exclude 2.0 Description """"""""""" @@ -128,10 +131,11 @@ outside a geometric boundary. .. note:: - Particles generated by the *random* style will typically be - highly overlapped which will cause many interatomic potentials to - compute large energies and forces. Thus you should either perform an - :doc:`energy minimization ` or run dynamics with :doc:`fix nve/limit ` to equilibrate such a system, before + Particles generated by the *random* style (without the *exclude* keyword) + will typically be highly overlapped which will cause many interatomic + potentials to compute large energies and forces. Thus you should either + perform an :doc:`energy minimization ` or run dynamics with + :doc:`fix nve/limit ` to equilibrate such a system, before running normal dynamics. Note that this command adds particles to those that already exist. @@ -147,8 +151,9 @@ solvated with a surrounding box of water molecules. In all these cases, care should be taken to insure that new atoms do not overlap existing atoms inappropriately, especially if molecules -are being added. The :doc:`delete_atoms ` command can be -used to remove overlapping atoms or molecules. +are being added. For this reason the *exclude* keyword is provided, +also the :doc:`delete_atoms ` command can be used to remove +overlapping atoms or molecules. .. note:: @@ -291,6 +296,24 @@ the atoms around the rotation axis is consistent with the right-hand rule: if your right-hand's thumb points along *R*, then your fingers wrap around the axis in the direction of rotation. +The *maxtries* keyword limits the number of tries to generate coordinates +for a new particle that satisfies all requirements (region, var, exclude, +...) before the command fails. This keyword is available only with the +*random* style and the default number of tries is 1000 per particle. The +use of this keyword is recommended when using the *exclude* keyword, +otherwise it is usually not necessary (but can be useful). + +The *exclude* keyword can be used with the *random* style (and only the +*random* style) to prevent the newly created particles overlapping or being +created too close to others. When the particles being created are **single +atoms** the *radius* parameter passed with the keyword denotes the distance +between particle locations/centers, meaning that all new atoms will be created +at locations not closer than *radius* from the location of any other atom in +the system. When the particles being created are **molecules** the molecule +radius is taken into account so that all new molecules will be created +at locations not closer than (*radius* + molecule radius) from the location +of any existing atom in the system. + The *units* keyword determines the meaning of the distance units used to specify the coordinates of the one particle created by the *single* style. A *box* value selects standard distance units as defined by @@ -373,4 +396,4 @@ Default The default for the *basis* keyword is that all created atoms are assigned the argument *type* as their atom type (when single atoms are being created). The other defaults are *remap* = no, *rotate* = -random, and *units* = lattice. +random, *maxtries* = 1000, and *units* = lattice. From 78cf0365e6d833023b9afd218bf8a3e3640a8d9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eugen=20Ro=C5=BEi=C4=87?= Date: Tue, 8 Feb 2022 02:13:42 +0100 Subject: [PATCH 07/29] bugfixes --- src/create_atoms.cpp | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/src/create_atoms.cpp b/src/create_atoms.cpp index f19b7f1cfc..c4c19d2689 100644 --- a/src/create_atoms.cpp +++ b/src/create_atoms.cpp @@ -234,7 +234,7 @@ void CreateAtoms::command(int narg, char **arg) if (style != RANDOM) error->all(FLERR,"Illegal create_atoms command: " "'maxtries' can only be combined with 'random' style!"); if (iarg+2 > narg) error->all(FLERR,"Illegal create_atoms command"); - maxtries = force->numeric(FLERR,arg[iarg+1]); + maxtries = utils::inumeric(FLERR,arg[iarg+1],false, lmp); if (maxtries <= 0) error->all(FLERR,"Illegal create_atoms command"); iarg += 2; @@ -242,7 +242,7 @@ void CreateAtoms::command(int narg, char **arg) if (style != RANDOM) error->all(FLERR,"Illegal create_atoms command: " "'exclude' can only be combined with 'random' style!"); if (iarg+2 > narg) error->all(FLERR,"Illegal create_atoms command"); - exclude_radius = force->numeric(FLERR,arg[iarg+1]); + exclude_radius = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (exclude_radius <= 0) error->all(FLERR,"Illegal create_atoms command"); excludeflag = 1; @@ -253,7 +253,7 @@ void CreateAtoms::command(int narg, char **arg) // error checks and further setup for mode = MOLECULE if (mode == ATOM) { - if (ntype <= 0 || ntype > atom->ntypes)) + if (ntype <= 0 || ntype > atom->ntypes) error->all(FLERR,"Invalid atom type in create_atoms command"); } else if (mode == MOLECULE) { if (onemol->xflag == 0) @@ -274,7 +274,7 @@ void CreateAtoms::command(int narg, char **arg) ranmol = new RanMars(lmp, molseed+me); // a bit of memory for tries to create molecules (if exclude/maxtries) - memory->create(temp_mol_coords, natoms, 3, "create_atoms:temp_mol_coords"); + memory->create(temp_mol_coords, onemol->natoms, 3, "create_atoms:temp_mol_coords"); } ranlatt = nullptr; @@ -673,15 +673,17 @@ void CreateAtoms::add_random() double lamda[3],*coord; double *boxlo,*boxhi; + // stuff needed for the exclude option + int nlocal = atom->nlocal; + double **x = atom->x; + double delx, dely, delz, distsq; + double excut, excutsq; if (excludeflag) { - int nlocal = atom->nlocal; - double **x = atom->x; - double delx, dely, delz, distsq; - double excut = exclude_radius; + excut = exclude_radius; // exclude option takes into account the radius of the molecule // but not the radius of a single atom (even if it is defined) if (mode == MOLECULE) excut += onemol->molradius; - double excutsq = exclude_radius*exclude_radius; + excutsq = excut*excut; } // random number generator, same for all procs @@ -1014,7 +1016,7 @@ void CreateAtoms::loop_lattice(int action) ------------------------------------------------------------------------- */ void CreateAtoms::gen_mol_coords(double *center, double *quat_user) { - double quat[4], rotmat[3][3]; + double r[3], quat[4], rotmat[3][3]; int randrot = 1; if (quat_user) { for (int i=0; i<4; i++) { @@ -1062,7 +1064,7 @@ void CreateAtoms::create_mol() // reset in caller after all molecules created by all procs // pass add_molecule_atom an offset of 0 since don't know // max tag of atoms in previous molecules at this point - int natoms = onemol->natoms; + int n, natoms = onemol->natoms; for (int m = 0; m < natoms; m++) { atom->avec->create_atom(ntype+onemol->type[m], temp_mol_coords[m]); n = atom->nlocal - 1; From 374a1722465ae2f52f74b313404ef132388cc0aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eugen=20Ro=C5=BEi=C4=87?= Date: Mon, 14 Feb 2022 12:46:44 +0100 Subject: [PATCH 08/29] Changed "exclude" keyword to "overlap" + added new error description to header file + minor fix in the doc file --- doc/src/create_atoms.rst | 20 ++++++++++---------- src/create_atoms.cpp | 34 +++++++++++++++++----------------- src/create_atoms.h | 8 ++++++-- 3 files changed, 33 insertions(+), 29 deletions(-) diff --git a/doc/src/create_atoms.rst b/doc/src/create_atoms.rst index 44db3a8661..5e47333b5a 100644 --- a/doc/src/create_atoms.rst +++ b/doc/src/create_atoms.rst @@ -26,7 +26,7 @@ Syntax region-ID = create atoms within this region, use NULL for entire simulation box * zero or more keyword/value pairs may be appended -* keyword = *mol* or *basis* or *ratio* or *subset* or *remap* or *var* or *set* or *rotate* or *units* +* keyword = *mol* or *basis* or *ratio* or *subset* or *remap* or *var* or *set* or *rotate* or *maxtries* or *overlap* or *units* .. parsed-literal:: @@ -50,8 +50,8 @@ Syntax *rotate* values = theta Rx Ry Rz theta = rotation angle for single molecule (degrees) Rx,Ry,Rz = rotation vector for single molecule - *maxtries* value = N = number of tries (for a single particle) before failure - *exclude* value = radius = radius of exclusion area around existing atoms + *maxtries* value = N = number of tries (for a single particle to be created) before failure + *overlap* value = radius = the minimum distance from existing atoms (to avoid overlapping/huge forces) *units* value = *lattice* or *box* *lattice* = the geometry is defined in lattice units *box* = the geometry is defined in simulation box units @@ -66,7 +66,7 @@ Examples create_atoms 3 region regsphere basis 2 3 ratio 0.5 74637 create_atoms 3 single 0 0 5 create_atoms 1 box var v set x xpos set y ypos - create_atoms 2 random 50 12345 NULL maxtries 10 exclude 2.0 + create_atoms 2 random 50 12345 NULL maxtries 10 overlap 2.0 Description """"""""""" @@ -131,7 +131,7 @@ outside a geometric boundary. .. note:: - Particles generated by the *random* style (without the *exclude* keyword) + Particles generated by the *random* style (without the *overlap* keyword) will typically be highly overlapped which will cause many interatomic potentials to compute large energies and forces. Thus you should either perform an :doc:`energy minimization ` or run dynamics with @@ -151,7 +151,7 @@ solvated with a surrounding box of water molecules. In all these cases, care should be taken to insure that new atoms do not overlap existing atoms inappropriately, especially if molecules -are being added. For this reason the *exclude* keyword is provided, +are being added. For this reason the *overlap* keyword is provided, also the :doc:`delete_atoms ` command can be used to remove overlapping atoms or molecules. @@ -297,14 +297,14 @@ rule: if your right-hand's thumb points along *R*, then your fingers wrap around the axis in the direction of rotation. The *maxtries* keyword limits the number of tries to generate coordinates -for a new particle that satisfies all requirements (region, var, exclude, +for a new particle that satisfies all requirements (region, var, overlap, ...) before the command fails. This keyword is available only with the *random* style and the default number of tries is 1000 per particle. The -use of this keyword is recommended when using the *exclude* keyword, +use of this keyword is recommended when using the *overlap* keyword, otherwise it is usually not necessary (but can be useful). -The *exclude* keyword can be used with the *random* style (and only the -*random* style) to prevent the newly created particles overlapping or being +The *overlap* keyword can be used with the *random* style (and only the +*random* style) to prevent the newly created particles from overlapping or being created too close to others. When the particles being created are **single atoms** the *radius* parameter passed with the keyword denotes the distance between particle locations/centers, meaning that all new atoms will be created diff --git a/src/create_atoms.cpp b/src/create_atoms.cpp index c4c19d2689..0636f3351c 100644 --- a/src/create_atoms.cpp +++ b/src/create_atoms.cpp @@ -14,7 +14,7 @@ /* ---------------------------------------------------------------------- Contributing author (ratio and subset) : Jake Gissinger (U Colorado) - Contributing author (maxtries & exclude) : Eugen Rozic (IRB, Zagreb) + Contributing author (maxtries & overlap) : Eugen Rozic (IRB, Zagreb) ------------------------------------------------------------------------- */ #include "create_atoms.h" @@ -140,7 +140,7 @@ void CreateAtoms::command(int narg, char **arg) quatone[0] = quatone[1] = quatone[2] = quatone[3] = 0.0; subsetflag = NONE; int subsetseed; - excludeflag = 0; + overlapflag = 0; maxtries = DEFAULT_MAXTRIES; nbasis = domain->lattice->nbasis; @@ -238,14 +238,14 @@ void CreateAtoms::command(int narg, char **arg) if (maxtries <= 0) error->all(FLERR,"Illegal create_atoms command"); iarg += 2; - } else if (strcmp(arg[iarg],"exclude") == 0) { + } else if (strcmp(arg[iarg],"overlap") == 0) { if (style != RANDOM) error->all(FLERR,"Illegal create_atoms command: " - "'exclude' can only be combined with 'random' style!"); + "'overlap' can only be combined with 'random' style!"); if (iarg+2 > narg) error->all(FLERR,"Illegal create_atoms command"); - exclude_radius = utils::numeric(FLERR,arg[iarg+1],false,lmp); - if (exclude_radius <= 0) + overlap_radius = utils::numeric(FLERR,arg[iarg+1],false,lmp); + if (overlap_radius <= 0) error->all(FLERR,"Illegal create_atoms command"); - excludeflag = 1; + overlapflag = 1; iarg += 2; } else error->all(FLERR,"Illegal create_atoms command"); } @@ -273,7 +273,7 @@ void CreateAtoms::command(int narg, char **arg) // molecule random number generator, different for each proc ranmol = new RanMars(lmp, molseed+me); - // a bit of memory for tries to create molecules (if exclude/maxtries) + // a bit of memory for tries to create molecules (if overlap/maxtries) memory->create(temp_mol_coords, onemol->natoms, 3, "create_atoms:temp_mol_coords"); } @@ -673,17 +673,17 @@ void CreateAtoms::add_random() double lamda[3],*coord; double *boxlo,*boxhi; - // stuff needed for the exclude option + // stuff needed for the overlap option int nlocal = atom->nlocal; double **x = atom->x; double delx, dely, delz, distsq; - double excut, excutsq; - if (excludeflag) { - excut = exclude_radius; - // exclude option takes into account the radius of the molecule + double ocut, ocutsq; + if (overlapflag) { + ocut = overlap_radius; + // overlap option takes into account the radius of the molecule // but not the radius of a single atom (even if it is defined) - if (mode == MOLECULE) excut += onemol->molradius; - excutsq = excut*excut; + if (mode == MOLECULE) ocut += onemol->molradius; + ocutsq = ocut*ocut; } // random number generator, same for all procs @@ -751,14 +751,14 @@ void CreateAtoms::add_random() if (mode == MOLECULE) gen_mol_coords(xone, quatone); - if (excludeflag) { + if (overlapflag) { int reject = 0; for (int i = 0; i < nlocal; i++){ delx = xone[0] - x[i][0]; dely = xone[1] - x[i][1]; delz = xone[2] - x[i][2]; distsq = delx*delx + dely*dely + delz*delz; - if (distsq < excutsq){ + if (distsq < ocutsq){ reject = 1; break; } diff --git a/src/create_atoms.h b/src/create_atoms.h index 1906497dab..9e7c7dbcf3 100644 --- a/src/create_atoms.h +++ b/src/create_atoms.h @@ -34,8 +34,8 @@ class CreateAtoms : public Command { int ntype, style, mode, nregion, nbasis, nrandom, seed; int remapflag; int maxtries; - int excludeflag; - double exclude_radius; + int overlapflag; + double overlap_radius; int subsetflag; bigint nsubset; double subsetfrac; @@ -179,4 +179,8 @@ W: Specifying an 'subset' value of '0' is equivalent to no 'subset' keyword Self-explanatory. +E: Exceeded max number of tries in create_atoms + +Self-explanatory. + */ From 2624043ab67625f2b70b3445944f005bb8b683e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eugen=20Ro=C5=BEi=C4=87?= Date: Mon, 25 Apr 2022 17:03:07 +0200 Subject: [PATCH 09/29] Synchronisation fix --- src/create_atoms.cpp | 41 ++++++++++++++++++++++++----------------- 1 file changed, 24 insertions(+), 17 deletions(-) diff --git a/src/create_atoms.cpp b/src/create_atoms.cpp index 0636f3351c..f6aaf461d3 100644 --- a/src/create_atoms.cpp +++ b/src/create_atoms.cpp @@ -732,7 +732,7 @@ void CreateAtoms::add_random() int tries; for (int i = 0; i < nrandom; i++) { tries = 0; - while (1) { + while (true) { tries++; if (tries > maxtries) error->all(FLERR, "Exceeded max number of tries in create_atoms"); @@ -751,21 +751,6 @@ void CreateAtoms::add_random() if (mode == MOLECULE) gen_mol_coords(xone, quatone); - if (overlapflag) { - int reject = 0; - for (int i = 0; i < nlocal; i++){ - delx = xone[0] - x[i][0]; - dely = xone[1] - x[i][1]; - delz = xone[2] - x[i][2]; - distsq = delx*delx + dely*dely + delz*delz; - if (distsq < ocutsq){ - reject = 1; - break; - } - } - if (reject) continue; - } - if (triclinic) { domain->x2lamda(xone,lamda); coord = lamda; @@ -773,8 +758,30 @@ void CreateAtoms::add_random() coord[1] < boxlo[1] || coord[1] >= boxhi[1] || coord[2] < boxlo[2] || coord[2] >= boxhi[2]) continue; - } else + } else { coord = xone; + } + + if (overlapflag) { + int reject_local = 0; + //TODO this could be done only on the proc where coords are + // (using local + ghost atoms), BUT it is possible that + // ocutsq > skin^2 (although highly unlikely... warning?) + // This is only relevant for highly inhomogeous systems... ? + for (int i = 0; i < nlocal; i++) { + delx = xone[0] - x[i][0]; + dely = xone[1] - x[i][1]; + delz = xone[2] - x[i][2]; + distsq = delx*delx + dely*dely + delz*delz; + if (distsq < ocutsq) { + reject_local = 1; + break; + } + } + int reject = 0; + MPI_Allreduce(&reject_local, &reject, 1, MPI_INT, MPI_MAX, world); + if (reject) continue; + } break; //if survived to here means it succeeded } From c1146ebdcd1ca2339231b08b76e864553b85647e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eugen=20Ro=C5=BEi=C4=87?= Date: Mon, 25 Apr 2022 19:11:54 +0200 Subject: [PATCH 10/29] Resolved conflicts with develop --- src/create_atoms.cpp | 560 ++++++++++++++++++++++--------------------- src/create_atoms.h | 115 +-------- 2 files changed, 285 insertions(+), 390 deletions(-) diff --git a/src/create_atoms.cpp b/src/create_atoms.cpp index f6aaf461d3..f1a93e86f3 100644 --- a/src/create_atoms.cpp +++ b/src/create_atoms.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -48,10 +47,10 @@ using namespace MathConst; #define LB_FACTOR 1.1 #define DEFAULT_MAXTRIES 1000 -enum{BOX,REGION,SINGLE,RANDOM}; -enum{ATOM,MOLECULE}; -enum{COUNT,INSERT,INSERT_SELECTED}; -enum{NONE,RATIO,SUBSET}; +enum { BOX, REGION, SINGLE, RANDOM }; +enum { ATOM, MOLECULE }; +enum { COUNT, INSERT, INSERT_SELECTED }; +enum { NONE, RATIO, SUBSET }; /* ---------------------------------------------------------------------- */ @@ -61,72 +60,69 @@ CreateAtoms::CreateAtoms(LAMMPS *lmp) : Command(lmp), basistype(nullptr) {} void CreateAtoms::command(int narg, char **arg) { - MPI_Comm_rank(world,&me); - MPI_Comm_size(world,&nprocs); - if (domain->box_exist == 0) - error->all(FLERR,"Create_atoms command before simulation box is defined"); + error->all(FLERR, "Create_atoms command before simulation box is defined"); if (modify->nfix_restart_peratom) - error->all(FLERR,"Cannot create_atoms after " + error->all(FLERR, + "Cannot create_atoms after " "reading restart file with per-atom info"); // check for compatible lattice int latsty = domain->lattice->style; if (domain->dimension == 2) { - if (latsty == Lattice::SC || latsty == Lattice::BCC - || latsty == Lattice::FCC || latsty == Lattice::HCP - || latsty == Lattice::DIAMOND) - error->all(FLERR,"Lattice style incompatible with simulation dimension"); + if (latsty == Lattice::SC || latsty == Lattice::BCC || latsty == Lattice::FCC || + latsty == Lattice::HCP || latsty == Lattice::DIAMOND) + error->all(FLERR, "Lattice style incompatible with simulation dimension"); } else { - if (latsty == Lattice::SQ ||latsty == Lattice::SQ2 - || latsty == Lattice::HEX) - error->all(FLERR,"Lattice style incompatible with simulation dimension"); + if (latsty == Lattice::SQ || latsty == Lattice::SQ2 || latsty == Lattice::HEX) + error->all(FLERR, "Lattice style incompatible with simulation dimension"); } // parse arguments - if (narg < 2) error->all(FLERR,"Illegal create_atoms command"); - ntype = utils::inumeric(FLERR,arg[0],false,lmp); + if (narg < 2) error->all(FLERR, "Illegal create_atoms command"); + ntype = utils::inumeric(FLERR, arg[0], false, lmp); int iarg; - if (strcmp(arg[1],"box") == 0) { + if (strcmp(arg[1], "box") == 0) { style = BOX; iarg = 2; - nregion = -1; - } else if (strcmp(arg[1],"region") == 0) { + region = nullptr; + } else if (strcmp(arg[1], "region") == 0) { style = REGION; - if (narg < 3) error->all(FLERR,"Illegal create_atoms command"); - nregion = domain->find_region(arg[2]); - if (nregion == -1) error->all(FLERR, - "Create_atoms region ID does not exist"); - domain->regions[nregion]->init(); - domain->regions[nregion]->prematch(); - iarg = 3;; - } else if (strcmp(arg[1],"single") == 0) { + if (narg < 3) error->all(FLERR, "Illegal create_atoms command"); + region = domain->get_region_by_id(arg[2]); + if (!region) error->all(FLERR, "Create_atoms region {} does not exist", arg[2]); + region->init(); + region->prematch(); + iarg = 3; + ; + } else if (strcmp(arg[1], "single") == 0) { style = SINGLE; - if (narg < 5) error->all(FLERR,"Illegal create_atoms command"); - xone[0] = utils::numeric(FLERR,arg[2],false,lmp); - xone[1] = utils::numeric(FLERR,arg[3],false,lmp); - xone[2] = utils::numeric(FLERR,arg[4],false,lmp); + if (narg < 5) error->all(FLERR, "Illegal create_atoms command"); + xone[0] = utils::numeric(FLERR, arg[2], false, lmp); + xone[1] = utils::numeric(FLERR, arg[3], false, lmp); + xone[2] = utils::numeric(FLERR, arg[4], false, lmp); iarg = 5; - } else if (strcmp(arg[1],"random") == 0) { + } else if (strcmp(arg[1], "random") == 0) { style = RANDOM; - if (narg < 5) error->all(FLERR,"Illegal create_atoms command"); - nrandom = utils::inumeric(FLERR,arg[2],false,lmp); - if (nrandom < 0) error->all(FLERR,"Illegal create_atoms command"); - seed = utils::inumeric(FLERR,arg[3],false,lmp); - if (seed <= 0) error->all(FLERR,"Illegal create_atoms command"); - if (strcmp(arg[4],"NULL") == 0) nregion = -1; + if (narg < 5) error->all(FLERR, "Illegal create_atoms command"); + nrandom = utils::inumeric(FLERR, arg[2], false, lmp); + if (nrandom < 0) error->all(FLERR, "Illegal create_atoms command"); + seed = utils::inumeric(FLERR, arg[3], false, lmp); + if (seed <= 0) error->all(FLERR, "Illegal create_atoms command"); + if (strcmp(arg[4], "NULL") == 0) + region = nullptr; else { - nregion = domain->find_region(arg[4]); - if (nregion == -1) error->all(FLERR, - "Create_atoms region ID does not exist"); - domain->regions[nregion]->init(); - domain->regions[nregion]->prematch(); + region = domain->get_region_by_id(arg[4]); + if (!region) error->all(FLERR, "Create_atoms region {} does not exist", arg[4]); + region->init(); + region->prematch(); } iarg = 5; - } else error->all(FLERR,"Illegal create_atoms command"); + } else + error->all(FLERR, "Illegal create_atoms command"); // process optional keywords @@ -148,87 +144,92 @@ void CreateAtoms::command(int narg, char **arg) for (int i = 0; i < nbasis; i++) basistype[i] = ntype; while (iarg < narg) { - if (strcmp(arg[iarg],"basis") == 0) { - if (iarg+3 > narg) error->all(FLERR,"Illegal create_atoms command"); - int ibasis = utils::inumeric(FLERR,arg[iarg+1],false,lmp); - int itype = utils::inumeric(FLERR,arg[iarg+2],false,lmp); + if (strcmp(arg[iarg], "basis") == 0) { + if (iarg + 3 > narg) error->all(FLERR, "Illegal create_atoms command"); + int ibasis = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); + int itype = utils::inumeric(FLERR, arg[iarg + 2], false, lmp); if (ibasis <= 0 || ibasis > nbasis || itype <= 0 || itype > atom->ntypes) - error->all(FLERR,"Invalid basis setting in create_atoms command"); - basistype[ibasis-1] = itype; + error->all(FLERR, "Invalid basis setting in create_atoms command"); + basistype[ibasis - 1] = itype; iarg += 3; - } else if (strcmp(arg[iarg],"remap") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal create_atoms command"); - remapflag = utils::logical(FLERR,arg[iarg+1],false,lmp); + } else if (strcmp(arg[iarg], "remap") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal create_atoms command"); + remapflag = utils::logical(FLERR, arg[iarg + 1], false, lmp); iarg += 2; - } else if (strcmp(arg[iarg],"mol") == 0) { - if (iarg+3 > narg) error->all(FLERR,"Illegal create_atoms command"); - int imol = atom->find_molecule(arg[iarg+1]); - if (imol == -1) error->all(FLERR,"Molecule template ID for " - "create_atoms does not exist"); - if (atom->molecules[imol]->nset > 1 && me == 0) - error->warning(FLERR,"Molecule template for " - "create_atoms has multiple molecules"); + } else if (strcmp(arg[iarg], "mol") == 0) { + if (iarg + 3 > narg) error->all(FLERR, "Illegal create_atoms command"); + int imol = atom->find_molecule(arg[iarg + 1]); + if (imol == -1) + error->all(FLERR, + "Molecule template ID for " + "create_atoms does not exist"); + if ((atom->molecules[imol]->nset > 1) && (comm->me == 0)) + error->warning(FLERR, "Molecule template for create_atoms has multiple molecules"); mode = MOLECULE; onemol = atom->molecules[imol]; - molseed = utils::inumeric(FLERR,arg[iarg+2],false,lmp); + molseed = utils::inumeric(FLERR, arg[iarg + 2], false, lmp); iarg += 3; - } else if (strcmp(arg[iarg],"units") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal create_atoms command"); - if (strcmp(arg[iarg+1],"box") == 0) scaleflag = 0; - else if (strcmp(arg[iarg+1],"lattice") == 0) scaleflag = 1; - else error->all(FLERR,"Illegal create_atoms command"); + } else if (strcmp(arg[iarg], "units") == 0) { + if (iarg + 2 > narg) error->all(FLERR, "Illegal create_atoms command"); + if (strcmp(arg[iarg + 1], "box") == 0) + scaleflag = 0; + else if (strcmp(arg[iarg + 1], "lattice") == 0) + scaleflag = 1; + else + error->all(FLERR, "Illegal create_atoms command"); iarg += 2; - } else if (strcmp(arg[iarg],"var") == 0) { - if (style == SINGLE) error->all(FLERR,"Illegal create_atoms command: " + } else if (strcmp(arg[iarg], "var") == 0) { + if (style == SINGLE) error->all(FLERR, "Illegal create_atoms command: " "can't combine 'var' keyword with 'single' style!"); - if (iarg+2 > narg) error->all(FLERR,"Illegal create_atoms command"); - delete [] vstr; - vstr = utils::strdup(arg[iarg+1]); + if (iarg + 2 > narg) error->all(FLERR,"Illegal create_atoms command"); + delete[] vstr; + vstr = utils::strdup(arg[iarg + 1]); varflag = 1; iarg += 2; - } else if (strcmp(arg[iarg],"set") == 0) { - if (iarg+3 > narg) error->all(FLERR,"Illegal create_atoms command"); - if (strcmp(arg[iarg+1],"x") == 0) { - delete [] xstr; - xstr = utils::strdup(arg[iarg+2]); - } else if (strcmp(arg[iarg+1],"y") == 0) { - delete [] ystr; - ystr = utils::strdup(arg[iarg+2]); - } else if (strcmp(arg[iarg+1],"z") == 0) { - delete [] zstr; - zstr = utils::strdup(arg[iarg+2]); - } else error->all(FLERR,"Illegal create_atoms command"); + } else if (strcmp(arg[iarg], "set") == 0) { + if (iarg + 3 > narg) error->all(FLERR, "Illegal create_atoms command"); + if (strcmp(arg[iarg + 1], "x") == 0) { + delete[] xstr; + xstr = utils::strdup(arg[iarg + 2]); + } else if (strcmp(arg[iarg + 1], "y") == 0) { + delete[] ystr; + ystr = utils::strdup(arg[iarg + 2]); + } else if (strcmp(arg[iarg + 1], "z") == 0) { + delete[] zstr; + zstr = utils::strdup(arg[iarg + 2]); + } else + error->all(FLERR, "Illegal create_atoms command"); iarg += 3; - } else if (strcmp(arg[iarg],"rotate") == 0) { - if (iarg+5 > narg) error->all(FLERR,"Illegal create_atoms command"); + } else if (strcmp(arg[iarg], "rotate") == 0) { + if (iarg + 5 > narg) error->all(FLERR, "Illegal create_atoms command"); double thetaone; double axisone[3]; - thetaone = utils::numeric(FLERR,arg[iarg+1],false,lmp) / 180.0 * MY_PI;; - axisone[0] = utils::numeric(FLERR,arg[iarg+2],false,lmp); - axisone[1] = utils::numeric(FLERR,arg[iarg+3],false,lmp); - axisone[2] = utils::numeric(FLERR,arg[iarg+4],false,lmp); + thetaone = utils::numeric(FLERR, arg[iarg + 1], false, lmp) / 180.0 * MY_PI; + ; + axisone[0] = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + axisone[1] = utils::numeric(FLERR, arg[iarg + 3], false, lmp); + axisone[2] = utils::numeric(FLERR, arg[iarg + 4], false, lmp); if (axisone[0] == 0.0 && axisone[1] == 0.0 && axisone[2] == 0.0) - error->all(FLERR,"Illegal create_atoms command"); + error->all(FLERR, "Illegal create_atoms command"); if (domain->dimension == 2 && (axisone[0] != 0.0 || axisone[1] != 0.0)) - error->all(FLERR,"Invalid create_atoms rotation vector for 2d model"); + error->all(FLERR, "Invalid create_atoms rotation vector for 2d model"); MathExtra::norm3(axisone); - MathExtra::axisangle_to_quat(axisone,thetaone,quatone); + MathExtra::axisangle_to_quat(axisone, thetaone, quatone); iarg += 5; - } else if (strcmp(arg[iarg],"ratio") == 0) { - if (iarg+3 > narg) error->all(FLERR,"Illegal create_atoms command"); + } else if (strcmp(arg[iarg], "ratio") == 0) { + if (iarg + 3 > narg) error->all(FLERR, "Illegal create_atoms command"); subsetflag = RATIO; - subsetfrac = utils::numeric(FLERR,arg[iarg+1],false,lmp); - subsetseed = utils::inumeric(FLERR,arg[iarg+2],false,lmp); + subsetfrac = utils::numeric(FLERR, arg[iarg + 1], false, lmp); + subsetseed = utils::inumeric(FLERR, arg[iarg + 2], false, lmp); if (subsetfrac <= 0.0 || subsetfrac > 1.0 || subsetseed <= 0) - error->all(FLERR,"Illegal create_atoms command"); + error->all(FLERR, "Illegal create_atoms command"); iarg += 3; - } else if (strcmp(arg[iarg],"subset") == 0) { - if (iarg+3 > narg) error->all(FLERR,"Illegal create_atoms command"); + } else if (strcmp(arg[iarg], "subset") == 0) { + if (iarg + 3 > narg) error->all(FLERR, "Illegal create_atoms command"); subsetflag = SUBSET; - nsubset = utils::bnumeric(FLERR,arg[iarg+1],false,lmp); - subsetseed = utils::inumeric(FLERR,arg[iarg+2],false,lmp); - if (nsubset <= 0 || subsetseed <= 0) - error->all(FLERR,"Illegal create_atoms command"); + nsubset = utils::bnumeric(FLERR, arg[iarg + 1], false, lmp); + subsetseed = utils::inumeric(FLERR, arg[iarg + 2], false, lmp); + if (nsubset <= 0 || subsetseed <= 0) error->all(FLERR, "Illegal create_atoms command"); iarg += 3; } else if (strcmp(arg[iarg],"maxtries") == 0) { if (style != RANDOM) error->all(FLERR,"Illegal create_atoms command: " @@ -263,57 +264,52 @@ void CreateAtoms::command(int narg, char **arg) if (ntype+onemol->ntypes <= 0 || ntype+onemol->ntypes > atom->ntypes) error->all(FLERR,"Invalid atom type in create_atoms mol command"); if (onemol->tag_require && !atom->tag_enable) - error->all(FLERR, - "Create_atoms molecule has atom IDs, but system does not"); + error->all(FLERR, "Create_atoms molecule has atom IDs, but system does not"); onemol->check_attributes(0); // create_atoms uses geometric center of molecule for insertion onemol->compute_center(); // molecule random number generator, different for each proc - ranmol = new RanMars(lmp, molseed+me); + ranmol = new RanMars(lmp, molseed + comm->me); // a bit of memory for tries to create molecules (if overlap/maxtries) memory->create(temp_mol_coords, onemol->natoms, 3, "create_atoms:temp_mol_coords"); } ranlatt = nullptr; - if (subsetflag != NONE) ranlatt = new RanMars(lmp,subsetseed+me); + if (subsetflag != NONE) ranlatt = new RanMars(lmp, subsetseed + comm->me); // error check and further setup for variable test if (!vstr && (xstr || ystr || zstr)) - error->all(FLERR,"Incomplete use of variables in create_atoms command"); + error->all(FLERR, "Incomplete use of variables in create_atoms command"); if (vstr && (!xstr && !ystr && !zstr)) - error->all(FLERR,"Incomplete use of variables in create_atoms command"); + error->all(FLERR, "Incomplete use of variables in create_atoms command"); if (varflag) { vvar = input->variable->find(vstr); - if (vvar < 0) - error->all(FLERR,"Variable name for create_atoms does not exist"); + if (vvar < 0) error->all(FLERR, "Variable {} for create_atoms does not exist", vstr); if (!input->variable->equalstyle(vvar)) - error->all(FLERR,"Variable for create_atoms is invalid style"); + error->all(FLERR, "Variable for create_atoms is invalid style"); if (xstr) { xvar = input->variable->find(xstr); - if (xvar < 0) - error->all(FLERR,"Variable name for create_atoms does not exist"); + if (xvar < 0) error->all(FLERR, "Variable {} for create_atoms does not exist", xstr); if (!input->variable->internalstyle(xvar)) - error->all(FLERR,"Variable for create_atoms is invalid style"); + error->all(FLERR, "Variable for create_atoms is invalid style"); } if (ystr) { yvar = input->variable->find(ystr); - if (yvar < 0) - error->all(FLERR,"Variable name for create_atoms does not exist"); + if (yvar < 0) error->all(FLERR, "Variable {} for create_atoms does not exist", ystr); if (!input->variable->internalstyle(yvar)) - error->all(FLERR,"Variable for create_atoms is invalid style"); + error->all(FLERR, "Variable for create_atoms is invalid style"); } if (zstr) { zvar = input->variable->find(zstr); - if (zvar < 0) - error->all(FLERR,"Variable name for create_atoms does not exist"); + if (zvar < 0) error->all(FLERR, "Variable {} for create_atoms does not exist", zstr); if (!input->variable->internalstyle(zvar)) - error->all(FLERR,"Variable for create_atoms is invalid style"); + error->all(FLERR, "Variable for create_atoms is invalid style"); } } @@ -324,8 +320,7 @@ void CreateAtoms::command(int narg, char **arg) // triclinic remapping occurs in add_single() if (style == BOX || style == REGION) { - if (nbasis == 0) - error->all(FLERR,"Cannot create atoms with undefined lattice"); + if (nbasis == 0) error->all(FLERR, "Cannot create atoms with undefined lattice"); } else if (scaleflag == 1) { xone[0] *= domain->lattice->xlattice; xone[1] *= domain->lattice->ylattice; @@ -347,7 +342,8 @@ void CreateAtoms::command(int narg, char **arg) triclinic = domain->triclinic; double epsilon[3]; - if (triclinic) epsilon[0] = epsilon[1] = epsilon[2] = EPSILON; + if (triclinic) + epsilon[0] = epsilon[1] = epsilon[2] = EPSILON; else { epsilon[0] = domain->prd[0] * EPSILON; epsilon[1] = domain->prd[1] * EPSILON; @@ -355,41 +351,47 @@ void CreateAtoms::command(int narg, char **arg) } if (triclinic == 0) { - sublo[0] = domain->sublo[0]; subhi[0] = domain->subhi[0]; - sublo[1] = domain->sublo[1]; subhi[1] = domain->subhi[1]; - sublo[2] = domain->sublo[2]; subhi[2] = domain->subhi[2]; + sublo[0] = domain->sublo[0]; + subhi[0] = domain->subhi[0]; + sublo[1] = domain->sublo[1]; + subhi[1] = domain->subhi[1]; + sublo[2] = domain->sublo[2]; + subhi[2] = domain->subhi[2]; } else { - sublo[0] = domain->sublo_lamda[0]; subhi[0] = domain->subhi_lamda[0]; - sublo[1] = domain->sublo_lamda[1]; subhi[1] = domain->subhi_lamda[1]; - sublo[2] = domain->sublo_lamda[2]; subhi[2] = domain->subhi_lamda[2]; + sublo[0] = domain->sublo_lamda[0]; + subhi[0] = domain->subhi_lamda[0]; + sublo[1] = domain->sublo_lamda[1]; + subhi[1] = domain->subhi_lamda[1]; + sublo[2] = domain->sublo_lamda[2]; + subhi[2] = domain->subhi_lamda[2]; } if (style == BOX || style == REGION) { if (comm->layout != Comm::LAYOUT_TILED) { if (domain->xperiodic) { if (comm->myloc[0] == 0) sublo[0] -= epsilon[0]; - if (comm->myloc[0] == comm->procgrid[0]-1) subhi[0] -= 2.0*epsilon[0]; + if (comm->myloc[0] == comm->procgrid[0] - 1) subhi[0] -= 2.0 * epsilon[0]; } if (domain->yperiodic) { if (comm->myloc[1] == 0) sublo[1] -= epsilon[1]; - if (comm->myloc[1] == comm->procgrid[1]-1) subhi[1] -= 2.0*epsilon[1]; + if (comm->myloc[1] == comm->procgrid[1] - 1) subhi[1] -= 2.0 * epsilon[1]; } if (domain->zperiodic) { if (comm->myloc[2] == 0) sublo[2] -= epsilon[2]; - if (comm->myloc[2] == comm->procgrid[2]-1) subhi[2] -= 2.0*epsilon[2]; + if (comm->myloc[2] == comm->procgrid[2] - 1) subhi[2] -= 2.0 * epsilon[2]; } } else { if (domain->xperiodic) { if (comm->mysplit[0][0] == 0.0) sublo[0] -= epsilon[0]; - if (comm->mysplit[0][1] == 1.0) subhi[0] -= 2.0*epsilon[0]; + if (comm->mysplit[0][1] == 1.0) subhi[0] -= 2.0 * epsilon[0]; } if (domain->yperiodic) { if (comm->mysplit[1][0] == 0.0) sublo[1] -= epsilon[1]; - if (comm->mysplit[1][1] == 1.0) subhi[1] -= 2.0*epsilon[1]; + if (comm->mysplit[1][1] == 1.0) subhi[1] -= 2.0 * epsilon[1]; } if (domain->zperiodic) { if (comm->mysplit[2][0] == 0.0) sublo[2] -= epsilon[2]; - if (comm->mysplit[2][1] == 1.0) subhi[2] -= 2.0*epsilon[2]; + if (comm->mysplit[2][1] == 1.0) subhi[2] -= 2.0 * epsilon[2]; } } } @@ -411,20 +413,22 @@ void CreateAtoms::command(int narg, char **arg) bigint natoms_previous = atom->natoms; int nlocal_previous = atom->nlocal; - if (style == SINGLE) add_single(); - else if (style == RANDOM) add_random(); - else add_lattice(); + if (style == SINGLE) + add_single(); + else if (style == RANDOM) + add_random(); + else + add_lattice(); // init per-atom fix/compute/variable values for created atoms - atom->data_fix_compute_variable(nlocal_previous,atom->nlocal); + atom->data_fix_compute_variable(nlocal_previous, atom->nlocal); // set new total # of atoms and error check bigint nblocal = atom->nlocal; - MPI_Allreduce(&nblocal,&atom->natoms,1,MPI_LMP_BIGINT,MPI_SUM,world); - if (atom->natoms < 0 || atom->natoms >= MAXBIGINT) - error->all(FLERR,"Too many total atoms"); + MPI_Allreduce(&nblocal, &atom->natoms, 1, MPI_LMP_BIGINT, MPI_SUM, world); + if (atom->natoms < 0 || atom->natoms >= MAXBIGINT) error->all(FLERR, "Too many total atoms"); // add IDs for newly created atoms // check that atom IDs are valid @@ -462,7 +466,7 @@ void CreateAtoms::command(int narg, char **arg) bigint nmolme = molcreate; bigint nmoltotal; - MPI_Allreduce(&nmolme,&nmoltotal,1,MPI_LMP_BIGINT,MPI_SUM,world); + MPI_Allreduce(&nmolme, &nmoltotal, 1, MPI_LMP_BIGINT, MPI_SUM, world); atom->nbonds += nmoltotal * onemol->nbonds; atom->nangles += nmoltotal * onemol->nangles; atom->ndihedrals += nmoltotal * onemol->ndihedrals; @@ -476,10 +480,10 @@ void CreateAtoms::command(int narg, char **arg) tagint moloffset = 0; if (molecule_flag) { tagint max = 0; - for (int i = 0; i < nlocal_previous; i++) max = MAX(max,molecule[i]); + for (int i = 0; i < nlocal_previous; i++) max = MAX(max, molecule[i]); tagint maxmol; - MPI_Allreduce(&max,&maxmol,1,MPI_LMP_TAGINT,MPI_MAX,world); - MPI_Scan(&molcreate,&moloffset,1,MPI_LMP_TAGINT,MPI_SUM,world); + MPI_Allreduce(&max, &maxmol, 1, MPI_LMP_TAGINT, MPI_MAX, world); + MPI_Scan(&molcreate, &moloffset, 1, MPI_LMP_TAGINT, MPI_SUM, world); moloffset = moloffset - molcreate + maxmol; } @@ -512,7 +516,7 @@ void CreateAtoms::command(int narg, char **arg) int ilocal = nlocal_previous; for (int i = 0; i < molcreate; i++) { - if (tag) offset = tag[ilocal]-1; + if (tag) offset = tag[ilocal] - 1; for (int m = 0; m < natoms; m++) { if (molecule_flag) { if (onemol->moleculeflag) { @@ -526,8 +530,7 @@ void CreateAtoms::command(int narg, char **arg) atom->molatom[ilocal] = m; } else if (molecular != Atom::ATOMIC) { if (onemol->bondflag) - for (int j = 0; j < num_bond[ilocal]; j++) - bond_atom[ilocal][j] += offset; + for (int j = 0; j < num_bond[ilocal]; j++) bond_atom[ilocal][j] += offset; if (onemol->angleflag) for (int j = 0; j < num_angle[ilocal]; j++) { angle_atom1[ilocal][j] += offset; @@ -549,8 +552,7 @@ void CreateAtoms::command(int narg, char **arg) improper_atom4[ilocal][j] += offset; } if (onemol->specialflag) - for (int j = 0; j < nspecial[ilocal][2]; j++) - special[ilocal][j] += offset; + for (int j = 0; j < nspecial[ilocal][2]; j++) special[ilocal][j] += offset; } ilocal++; } @@ -568,11 +570,11 @@ void CreateAtoms::command(int narg, char **arg) double **x = atom->x; imageint *image = atom->image; int nlocal = atom->nlocal; - for (int i = 0; i < nlocal; i++) domain->remap(x[i],image[i]); + for (int i = 0; i < nlocal; i++) domain->remap(x[i], image[i]); if (domain->triclinic) domain->x2lamda(atom->nlocal); domain->reset_box(); - Irregular *irregular = new Irregular(lmp); + auto irregular = new Irregular(lmp); irregular->migrate_atoms(1); delete irregular; if (domain->triclinic) domain->lamda2x(atom->nlocal); @@ -586,11 +588,11 @@ void CreateAtoms::command(int narg, char **arg) delete ranmol; delete ranlatt; - delete [] basistype; - delete [] vstr; - delete [] xstr; - delete [] ystr; - delete [] zstr; + delete[] basistype; + delete[] vstr; + delete[] xstr; + delete[] ystr; + delete[] zstr; // for MOLECULE mode: // create special bond lists for molecular systems, @@ -607,12 +609,13 @@ void CreateAtoms::command(int narg, char **arg) // print status MPI_Barrier(world); - if (me == 0) { - utils::logmesg(lmp,"Created {} atoms\n", atom->natoms - natoms_previous); - if (scaleflag) domain->print_box(" using lattice units in "); - else domain->print_box(" using box units in "); - utils::logmesg(lmp," create_atoms CPU = {:.3f} seconds\n", - platform::walltime() - time1); + if (comm->me == 0) { + utils::logmesg(lmp, "Created {} atoms\n", atom->natoms - natoms_previous); + if (scaleflag) + domain->print_box(" using lattice units in "); + else + domain->print_box(" using box units in "); + utils::logmesg(lmp, " create_atoms CPU = {:.3f} seconds\n", platform::walltime() - time1); } } @@ -626,33 +629,29 @@ void CreateAtoms::add_single() // remap atom if requested if (remapflag) { - imageint imagetmp = ((imageint) IMGMAX << IMG2BITS) | - ((imageint) IMGMAX << IMGBITS) | IMGMAX; - domain->remap(xone,imagetmp); + imageint imagetmp = ((imageint) IMGMAX << IMG2BITS) | ((imageint) IMGMAX << IMGBITS) | IMGMAX; + domain->remap(xone, imagetmp); } // if triclinic, convert to lamda coords (0-1) // with remapflag set and periodic dims, // resulting coord must satisfy 0.0 <= coord < 1.0 - double lamda[3],*coord; + double lamda[3], *coord; if (triclinic) { - domain->x2lamda(xone,lamda); + domain->x2lamda(xone, lamda); if (remapflag) { - if (domain->xperiodic && (lamda[0] < 0.0 || lamda[0] >= 1.0)) - lamda[0] = 0.0; - if (domain->yperiodic && (lamda[1] < 0.0 || lamda[1] >= 1.0)) - lamda[1] = 0.0; - if (domain->zperiodic && (lamda[2] < 0.0 || lamda[2] >= 1.0)) - lamda[2] = 0.0; + if (domain->xperiodic && (lamda[0] < 0.0 || lamda[0] >= 1.0)) lamda[0] = 0.0; + if (domain->yperiodic && (lamda[1] < 0.0 || lamda[1] >= 1.0)) lamda[1] = 0.0; + if (domain->zperiodic && (lamda[2] < 0.0 || lamda[2] >= 1.0)) lamda[2] = 0.0; } coord = lamda; - } else coord = xone; + } else + coord = xone; // if atom/molecule is in my subbox, create it - if (coord[0] >= sublo[0] && coord[0] < subhi[0] && - coord[1] >= sublo[1] && coord[1] < subhi[1] && + if (coord[0] >= sublo[0] && coord[0] < subhi[0] && coord[1] >= sublo[1] && coord[1] < subhi[1] && coord[2] >= sublo[2] && coord[2] < subhi[2]) { if (mode == ATOM) { atom->avec->create_atom(ntype, xone); @@ -669,9 +668,9 @@ void CreateAtoms::add_single() void CreateAtoms::add_random() { - double xlo,ylo,zlo,xhi,yhi,zhi,zmid; - double lamda[3],*coord; - double *boxlo,*boxhi; + double xlo, ylo, zlo, xhi, yhi, zhi, zmid; + double lamda[3], *coord; + double *boxlo, *boxhi; // stuff needed for the overlap option int nlocal = atom->nlocal; @@ -690,34 +689,40 @@ void CreateAtoms::add_random() // warm up the generator 30x to avoid correlations in first-particle // positions if runs are repeated with consecutive seeds - RanPark *random = new RanPark(lmp,seed); - for (int ii=0; ii < 30; ii++) random->uniform(); + auto random = new RanPark(lmp, seed); + for (int ii = 0; ii < 30; ii++) random->uniform(); // bounding box for atom creation // in real units, even if triclinic // only limit bbox by region if its bboxflag is set (interior region) if (triclinic == 0) { - xlo = domain->boxlo[0]; xhi = domain->boxhi[0]; - ylo = domain->boxlo[1]; yhi = domain->boxhi[1]; - zlo = domain->boxlo[2]; zhi = domain->boxhi[2]; - zmid = zlo + 0.5*(zhi-zlo); + xlo = domain->boxlo[0]; + xhi = domain->boxhi[0]; + ylo = domain->boxlo[1]; + yhi = domain->boxhi[1]; + zlo = domain->boxlo[2]; + zhi = domain->boxhi[2]; + zmid = zlo + 0.5 * (zhi - zlo); } else { - xlo = domain->boxlo_bound[0]; xhi = domain->boxhi_bound[0]; - ylo = domain->boxlo_bound[1]; yhi = domain->boxhi_bound[1]; - zlo = domain->boxlo_bound[2]; zhi = domain->boxhi_bound[2]; - zmid = zlo + 0.5*(zhi-zlo); + xlo = domain->boxlo_bound[0]; + xhi = domain->boxhi_bound[0]; + ylo = domain->boxlo_bound[1]; + yhi = domain->boxhi_bound[1]; + zlo = domain->boxlo_bound[2]; + zhi = domain->boxhi_bound[2]; + zmid = zlo + 0.5 * (zhi - zlo); boxlo = domain->boxlo_lamda; boxhi = domain->boxhi_lamda; } - if (nregion >= 0 && domain->regions[nregion]->bboxflag) { - xlo = MAX(xlo,domain->regions[nregion]->extent_xlo); - xhi = MIN(xhi,domain->regions[nregion]->extent_xhi); - ylo = MAX(ylo,domain->regions[nregion]->extent_ylo); - yhi = MIN(yhi,domain->regions[nregion]->extent_yhi); - zlo = MAX(zlo,domain->regions[nregion]->extent_zlo); - zhi = MIN(zhi,domain->regions[nregion]->extent_zhi); + if (region && region->bboxflag) { + xlo = MAX(xlo, region->extent_xlo); + xhi = MIN(xhi, region->extent_xhi); + ylo = MAX(ylo, region->extent_ylo); + yhi = MIN(yhi, region->extent_yhi); + zlo = MAX(zlo, region->extent_zlo); + zhi = MIN(zhi, region->extent_zhi); } // generate random positions for each new atom/molecule within bounding box @@ -736,13 +741,12 @@ void CreateAtoms::add_random() tries++; if (tries > maxtries) error->all(FLERR, "Exceeded max number of tries in create_atoms"); - xone[0] = xlo + random->uniform() * (xhi-xlo); - xone[1] = ylo + random->uniform() * (yhi-ylo); - xone[2] = zlo + random->uniform() * (zhi-zlo); + xone[0] = xlo + random->uniform() * (xhi - xlo); + xone[1] = ylo + random->uniform() * (yhi - ylo); + xone[2] = zlo + random->uniform() * (zhi - zlo); if (domain->dimension == 2) xone[2] = zmid; - if (nregion >= 0 && - domain->regions[nregion]->match(xone[0],xone[1],xone[2]) == 0) + if (region && (region->match(xone[0], xone[1], xone[2]) == 0)) continue; if (varflag && vartest(xone) == 0) @@ -752,7 +756,7 @@ void CreateAtoms::add_random() gen_mol_coords(xone, quatone); if (triclinic) { - domain->x2lamda(xone,lamda); + domain->x2lamda(xone, lamda); coord = lamda; if (coord[0] < boxlo[0] || coord[0] >= boxhi[0] || coord[1] < boxlo[1] || coord[1] >= boxhi[1] || @@ -815,25 +819,29 @@ void CreateAtoms::add_lattice() // for triclinic, use bounding box of my subbox // xyz min to max = bounding box around the domain corners in lattice space - double bboxlo[3],bboxhi[3]; + double bboxlo[3], bboxhi[3]; if (triclinic == 0) { - bboxlo[0] = domain->sublo[0]; bboxhi[0] = domain->subhi[0]; - bboxlo[1] = domain->sublo[1]; bboxhi[1] = domain->subhi[1]; - bboxlo[2] = domain->sublo[2]; bboxhi[2] = domain->subhi[2]; - } else domain->bbox(domain->sublo_lamda,domain->subhi_lamda,bboxlo,bboxhi); + bboxlo[0] = domain->sublo[0]; + bboxhi[0] = domain->subhi[0]; + bboxlo[1] = domain->sublo[1]; + bboxhi[1] = domain->subhi[1]; + bboxlo[2] = domain->sublo[2]; + bboxhi[2] = domain->subhi[2]; + } else + domain->bbox(domain->sublo_lamda, domain->subhi_lamda, bboxlo, bboxhi); // narrow down the subbox by the bounding box of the given region, if available. // for small regions in large boxes, this can result in a significant speedup - if ((style == REGION) && domain->regions[nregion]->bboxflag) { + if ((style == REGION) && region->bboxflag) { - const double rxmin = domain->regions[nregion]->extent_xlo; - const double rxmax = domain->regions[nregion]->extent_xhi; - const double rymin = domain->regions[nregion]->extent_ylo; - const double rymax = domain->regions[nregion]->extent_yhi; - const double rzmin = domain->regions[nregion]->extent_zlo; - const double rzmax = domain->regions[nregion]->extent_zhi; + const double rxmin = region->extent_xlo; + const double rxmax = region->extent_xhi; + const double rymin = region->extent_ylo; + const double rymax = region->extent_yhi; + const double rzmin = region->extent_zlo; + const double rzmax = region->extent_zhi; if (rxmin > bboxlo[0]) bboxlo[0] = (rxmin > bboxhi[0]) ? bboxhi[0] : rxmin; if (rxmax < bboxhi[0]) bboxhi[0] = (rxmax < bboxlo[0]) ? bboxlo[0] : rxmax; @@ -843,27 +851,19 @@ void CreateAtoms::add_lattice() if (rzmax < bboxhi[2]) bboxhi[2] = (rzmax < bboxlo[2]) ? bboxlo[2] : rzmax; } - double xmin,ymin,zmin,xmax,ymax,zmax; + double xmin, ymin, zmin, xmax, ymax, zmax; xmin = ymin = zmin = BIG; xmax = ymax = zmax = -BIG; // convert to lattice coordinates and set bounding box - domain->lattice->bbox(1,bboxlo[0],bboxlo[1],bboxlo[2], - xmin,ymin,zmin,xmax,ymax,zmax); - domain->lattice->bbox(1,bboxhi[0],bboxlo[1],bboxlo[2], - xmin,ymin,zmin,xmax,ymax,zmax); - domain->lattice->bbox(1,bboxlo[0],bboxhi[1],bboxlo[2], - xmin,ymin,zmin,xmax,ymax,zmax); - domain->lattice->bbox(1,bboxhi[0],bboxhi[1],bboxlo[2], - xmin,ymin,zmin,xmax,ymax,zmax); - domain->lattice->bbox(1,bboxlo[0],bboxlo[1],bboxhi[2], - xmin,ymin,zmin,xmax,ymax,zmax); - domain->lattice->bbox(1,bboxhi[0],bboxlo[1],bboxhi[2], - xmin,ymin,zmin,xmax,ymax,zmax); - domain->lattice->bbox(1,bboxlo[0],bboxhi[1],bboxhi[2], - xmin,ymin,zmin,xmax,ymax,zmax); - domain->lattice->bbox(1,bboxhi[0],bboxhi[1],bboxhi[2], - xmin,ymin,zmin,xmax,ymax,zmax); + domain->lattice->bbox(1, bboxlo[0], bboxlo[1], bboxlo[2], xmin, ymin, zmin, xmax, ymax, zmax); + domain->lattice->bbox(1, bboxhi[0], bboxlo[1], bboxlo[2], xmin, ymin, zmin, xmax, ymax, zmax); + domain->lattice->bbox(1, bboxlo[0], bboxhi[1], bboxlo[2], xmin, ymin, zmin, xmax, ymax, zmax); + domain->lattice->bbox(1, bboxhi[0], bboxhi[1], bboxlo[2], xmin, ymin, zmin, xmax, ymax, zmax); + domain->lattice->bbox(1, bboxlo[0], bboxlo[1], bboxhi[2], xmin, ymin, zmin, xmax, ymax, zmax); + domain->lattice->bbox(1, bboxhi[0], bboxlo[1], bboxhi[2], xmin, ymin, zmin, xmax, ymax, zmax); + domain->lattice->bbox(1, bboxlo[0], bboxhi[1], bboxhi[2], xmin, ymin, zmin, xmax, ymax, zmax); + domain->lattice->bbox(1, bboxhi[0], bboxhi[1], bboxhi[2], xmin, ymin, zmin, xmax, ymax, zmax); // ilo:ihi,jlo:jhi,klo:khi = loop bounds for lattice overlap of my subbox // overlap = any part of a unit cell (face,edge,pt) in common with my subbox @@ -874,12 +874,12 @@ void CreateAtoms::add_lattice() // which can lead to missing atoms in rare cases // extra decrement of lo if min < 0, since static_cast(-1.5) = -1 - ilo = static_cast (xmin) - 1; - jlo = static_cast (ymin) - 1; - klo = static_cast (zmin) - 1; - ihi = static_cast (xmax) + 1; - jhi = static_cast (ymax) + 1; - khi = static_cast (zmax) + 1; + ilo = static_cast(xmin) - 1; + jlo = static_cast(ymin) - 1; + klo = static_cast(zmin) - 1; + ihi = static_cast(xmax) + 1; + jhi = static_cast(ymax) + 1; + khi = static_cast(zmax) + 1; if (xmin < 0.0) ilo--; if (ymin < 0.0) jlo--; @@ -893,42 +893,44 @@ void CreateAtoms::add_lattice() // nadd = # of atoms each proc will insert (estimated if subsetflag) int overflow; - MPI_Allreduce(&nlatt_overflow,&overflow,1,MPI_INT,MPI_SUM,world); - if (overflow) - error->all(FLERR,"Create_atoms lattice size overflow on 1 or more procs"); + MPI_Allreduce(&nlatt_overflow, &overflow, 1, MPI_INT, MPI_SUM, world); + if (overflow) error->all(FLERR, "Create_atoms lattice size overflow on 1 or more procs"); bigint nadd; if (subsetflag == NONE) { - if (nprocs == 1) nadd = nlatt; - else nadd = static_cast (LB_FACTOR * nlatt); + if (comm->nprocs == 1) + nadd = nlatt; + else + nadd = static_cast(LB_FACTOR * nlatt); } else { bigint bnlatt = nlatt; bigint bnlattall; - MPI_Allreduce(&bnlatt,&bnlattall,1,MPI_LMP_BIGINT,MPI_SUM,world); - if (subsetflag == RATIO) - nsubset = static_cast (subsetfrac * bnlattall); - if (nsubset > bnlattall) - error->all(FLERR,"Create_atoms subset size > # of lattice sites"); - if (nprocs == 1) nadd = nsubset; - else nadd = static_cast (LB_FACTOR * nsubset/bnlattall * nlatt); + MPI_Allreduce(&bnlatt, &bnlattall, 1, MPI_LMP_BIGINT, MPI_SUM, world); + if (subsetflag == RATIO) nsubset = static_cast(subsetfrac * bnlattall); + if (nsubset > bnlattall) error->all(FLERR, "Create_atoms subset size > # of lattice sites"); + if (comm->nprocs == 1) + nadd = nsubset; + else + nadd = static_cast(LB_FACTOR * nsubset / bnlattall * nlatt); } // allocate atom arrays to size N, rounded up by AtomVec->DELTA bigint nbig = atom->avec->roundup(nadd + atom->nlocal); - int n = static_cast (nbig); + int n = static_cast(nbig); atom->avec->grow(n); // add atoms or molecules // if no subset: add to all lattice sites // if subset: count lattice sites, select random subset, then add - if (subsetflag == NONE) loop_lattice(INSERT); + if (subsetflag == NONE) + loop_lattice(INSERT); else { - memory->create(flag,nlatt,"create_atoms:flag"); - memory->create(next,nlatt,"create_atoms:next"); - ranlatt->select_subset(nsubset,nlatt,flag,next); + memory->create(flag, nlatt, "create_atoms:flag"); + memory->create(next, nlatt, "create_atoms:next"); + ranlatt->select_subset(nsubset, nlatt, flag, next); loop_lattice(INSERT_SELECTED); memory->destroy(flag); memory->destroy(next); @@ -946,9 +948,9 @@ void CreateAtoms::add_lattice() void CreateAtoms::loop_lattice(int action) { - int i,j,k,m; + int i, j, k, m; - const double * const * const basis = domain->lattice->basis; + const double *const *const basis = domain->lattice->basis; nlatt = 0; @@ -957,7 +959,7 @@ void CreateAtoms::loop_lattice(int action) for (i = ilo; i <= ihi; i++) { for (m = 0; m < nbasis; m++) { double *coord; - double x[3],lamda[3]; + double x[3], lamda[3]; x[0] = i + basis[m][0]; x[1] = j + basis[m][1]; @@ -965,27 +967,29 @@ void CreateAtoms::loop_lattice(int action) // convert from lattice coords to box coords - domain->lattice->lattice2box(x[0],x[1],x[2]); + domain->lattice->lattice2box(x[0], x[1], x[2]); // if a region was specified, test if atom is in it - if (style == REGION && - !domain->regions[nregion]->match(x[0],x[1],x[2])) - continue; + if (style == REGION) + if (!region->match(x[0], x[1], x[2])) continue; // if variable test specified, eval variable if (varflag && vartest(x) == 0) continue; + + // test if atom/molecule position is in my subbox if (triclinic) { - domain->x2lamda(x,lamda); + domain->x2lamda(x, lamda); coord = lamda; - } else coord = x; + } else + coord = x; - if (coord[0] < sublo[0] || coord[0] >= subhi[0] || - coord[1] < sublo[1] || coord[1] >= subhi[1] || - coord[2] < sublo[2] || coord[2] >= subhi[2]) continue; + if (coord[0] < sublo[0] || coord[0] >= subhi[0] || coord[1] < sublo[1] || + coord[1] >= subhi[1] || coord[2] < sublo[2] || coord[2] >= subhi[2]) + continue; // this proc owns the lattice site // perform action: add, just count, add if flagged @@ -993,7 +997,7 @@ void CreateAtoms::loop_lattice(int action) if (action == INSERT) { if (mode == ATOM) { - atom->avec->create_atom(basistype[m],x); + atom->avec->create_atom(basistype[m], x); } else { gen_mol_coords(x, quatone); create_mol(); @@ -1002,7 +1006,7 @@ void CreateAtoms::loop_lattice(int action) if (nlatt == MAXSMALLINT) nlatt_overflow = 1; } else if (action == INSERT_SELECTED && flag[nlatt]) { if (mode == ATOM) { - atom->avec->create_atom(basistype[m],x); + atom->avec->create_atom(basistype[m], x); } else { gen_mol_coords(x, quatone); create_mol(); @@ -1086,9 +1090,9 @@ void CreateAtoms::create_mol() int CreateAtoms::vartest(double *x) { - if (xstr) input->variable->internal_set(xvar,x[0]); - if (ystr) input->variable->internal_set(yvar,x[1]); - if (zstr) input->variable->internal_set(zvar,x[2]); + if (xstr) input->variable->internal_set(xvar, x[0]); + if (ystr) input->variable->internal_set(yvar, x[1]); + if (zstr) input->variable->internal_set(zvar, x[2]); double value = input->variable->compute_equal(vvar); diff --git a/src/create_atoms.h b/src/create_atoms.h index 9e7c7dbcf3..059b926615 100644 --- a/src/create_atoms.h +++ b/src/create_atoms.h @@ -27,11 +27,10 @@ namespace LAMMPS_NS { class CreateAtoms : public Command { public: CreateAtoms(class LAMMPS *); - void command(int, char **); + void command(int, char **) override; private: - int me, nprocs; - int ntype, style, mode, nregion, nbasis, nrandom, seed; + int ntype, style, mode, nbasis, nrandom, seed; int remapflag; int maxtries; int overlapflag; @@ -54,6 +53,7 @@ class CreateAtoms : public Command { int *flag; // flag subset of particles to insert on lattice int *next; + class Region *region; class Molecule *onemol; class RanMars *ranmol; class RanMars *ranlatt; @@ -75,112 +75,3 @@ class CreateAtoms : public Command { #endif #endif - -/* ERROR/WARNING messages: - -E: Create_atoms command before simulation box is defined - -The create_atoms command cannot be used before a read_data, -read_restart, or create_box command. - -E: Cannot create_atoms after reading restart file with per-atom info - -The per-atom info was stored to be used when by a fix that you may -re-define. If you add atoms before re-defining the fix, then there -will not be a correct amount of per-atom info. - -E: Illegal ... command - -Self-explanatory. Check the input script syntax and compare to the -documentation for the command. You can use -echo screen as a -command-line option when running LAMMPS to see the offending line. - -E: Create_atoms region ID does not exist - -A region ID used in the create_atoms command does not exist. - -E: Invalid basis setting in create_atoms command - -The basis index must be between 1 to N where N is the number of basis -atoms in the lattice. The type index must be between 1 to N where N -is the number of atom types. - -E: Molecule template ID for create_atoms does not exist - -Self-explanatory. - -W: Molecule template for create_atoms has multiple molecules - -The create_atoms command will only create molecules of a single type, -i.e. the first molecule in the template. - -E: Cannot use create_atoms rotate unless single style - -Self-explanatory. - -E: Invalid create_atoms rotation vector for 2d model - -The rotation vector can only have a z component. - -E: Invalid atom type in create_atoms command - -The create_box command specified the range of valid atom types. -An invalid type is being requested. - -E: Create_atoms molecule must have coordinates - -The defined molecule does not specify coordinates. - -E: Create_atoms molecule must have atom types - -The defined molecule does not specify atom types. - -E: Invalid atom type in create_atoms mol command - -The atom types in the defined molecule are added to the value -specified in the create_atoms command, as an offset. The final value -for each atom must be between 1 to N, where N is the number of atom -types. - -E: Create_atoms molecule has atom IDs, but system does not - -The atom_style id command can be used to force atom IDs to be stored. - -E: Incomplete use of variables in create_atoms command - -The var and set options must be used together. - -E: Variable name for create_atoms does not exist - -Self-explanatory. - -E: Variable for create_atoms is invalid style - -The variables must be equal-style variables. - -E: Cannot create atoms with undefined lattice - -Must use the lattice command before using the create_atoms -command. - -E: Too many total atoms - -See the setting for bigint in the src/lmptype.h file. - -E: No overlap of box and region for create_atoms - -Self-explanatory. - -E: Attempting to insert more particles than available lattice points - -Self-explanatory. - -W: Specifying an 'subset' value of '0' is equivalent to no 'subset' keyword - -Self-explanatory. - -E: Exceeded max number of tries in create_atoms - -Self-explanatory. - -*/ From 72011bf3250c796b4940763cfd866c702504b13f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eugen=20Ro=C5=BEi=C4=87?= Date: Tue, 26 Apr 2022 11:55:24 +0200 Subject: [PATCH 11/29] Updated doc (use of overlap clarified) --- doc/src/create_atoms.rst | 10 ++++++++++ src/create_atoms.cpp | 5 +---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/doc/src/create_atoms.rst b/doc/src/create_atoms.rst index 5e47333b5a..20061930e4 100644 --- a/doc/src/create_atoms.rst +++ b/doc/src/create_atoms.rst @@ -314,6 +314,16 @@ radius is taken into account so that all new molecules will be created at locations not closer than (*radius* + molecule radius) from the location of any existing atom in the system. +.. note:: + + Checking for overlaps is a very costly operation (O(N) for each new atom/molecule, + where N is the number of existing atoms) and the intended use of this keyword is, + for example, adding small amounts of new atoms/molecules to relatively sparse systems + mid simulation (between consecutive runs), i.e. where running an energy minimization + procedure isn't an option. + In any case, the use of the *maxtries* keyword in combination with *overlap* is + highly recommended. + The *units* keyword determines the meaning of the distance units used to specify the coordinates of the one particle created by the *single* style. A *box* value selects standard distance units as defined by diff --git a/src/create_atoms.cpp b/src/create_atoms.cpp index 32e5b24ba6..c969273c63 100644 --- a/src/create_atoms.cpp +++ b/src/create_atoms.cpp @@ -769,10 +769,7 @@ void CreateAtoms::add_random() if (overlapflag) { int reject_local = 0; - //TODO this could be done only on the proc where coords are - // (using local + ghost atoms), BUT it is possible that - // ocutsq > skin^2 (although highly unlikely... warning?) - // This is only relevant for highly inhomogeous systems... ? + // Could be done more efficiently... (only on proc where coords are?) for (int i = 0; i < nlocal; i++) { delx = xone[0] - x[i][0]; dely = xone[1] - x[i][1]; From d04cb4ba42834e0feccf0f999f2eff11ff75a5a1 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 26 Apr 2022 13:58:18 -0600 Subject: [PATCH 12/29] edits to doc page --- doc/src/create_atoms.rst | 156 ++++++++++++++++++++++----------------- 1 file changed, 89 insertions(+), 67 deletions(-) diff --git a/doc/src/create_atoms.rst b/doc/src/create_atoms.rst index 20061930e4..4ab538475e 100644 --- a/doc/src/create_atoms.rst +++ b/doc/src/create_atoms.rst @@ -26,7 +26,7 @@ Syntax region-ID = create atoms within this region, use NULL for entire simulation box * zero or more keyword/value pairs may be appended -* keyword = *mol* or *basis* or *ratio* or *subset* or *remap* or *var* or *set* or *rotate* or *maxtries* or *overlap* or *units* +* keyword = *mol* or *basis* or *ratio* or *subset* or *remap* or *var* or *set* or *rotate* or *overlap* or *maxtry* or *units* .. parsed-literal:: @@ -50,8 +50,10 @@ Syntax *rotate* values = theta Rx Ry Rz theta = rotation angle for single molecule (degrees) Rx,Ry,Rz = rotation vector for single molecule - *maxtries* value = N = number of tries (for a single particle to be created) before failure - *overlap* value = radius = the minimum distance from existing atoms (to avoid overlapping/huge forces) + *maxtry* value = Ntry + Ntry = number of attempts to insert a particle before failure + *overlap* value = radius + radius = only insert if at least this distance from all existing atoms *units* value = *lattice* or *box* *lattice* = the geometry is defined in lattice units *box* = the geometry is defined in simulation box units @@ -100,16 +102,16 @@ particular dimension, LAMMPS is careful to put exactly one particle at the boundary (on either side of the box), not zero or two. For the *region* style, a geometric volume is filled with particles on -the lattice. This volume what is inside the simulation box and is -also consistent with the region volume. See the :doc:`region ` -command for details. Note that a region can be specified so that its -"volume" is either inside or outside a geometric boundary. Also note -that if your region is the same size as a periodic simulation box (in -some dimension), LAMMPS does not implement the same logic described -above as for the *box* style, to insure exactly one particle at -periodic boundaries. if this is what you desire, you should either -use the *box* style, or tweak the region size to get precisely the -particles you want. +the lattice. This volume is what is both inside the simulation box +and also consistent with the region volume. See the :doc:`region +` command for details. Note that a region can be specified so +that its "volume" is either inside or outside its geometric boundary. +Also note that if a region is the same size as a periodic simulation +box (in some dimension), LAMMPS does not implement the same logic +described above for the *box* style, to insure exactly one particle at +periodic boundaries. If this is desired, you should either use the +*box* style, or tweak the region size to get precisely the particles +you want. For the *single* style, a single particle is added to the system at the specified coordinates. This can be useful for debugging purposes @@ -121,39 +123,44 @@ randomly generated coordinates, which can be useful for generating an amorphous system. The particles are created one by one using the specified random number *seed*, resulting in the same set of particles coordinates, independent of how many processors are being used in the -simulation. If the *region-ID* argument is specified as NULL, then +simulation. Unless the *overlap* keyword is specified, particles +created by the *random* style will typically be highly overlapped. + +If the *region-ID* argument is specified as NULL, then the created particles will be anywhere in the simulation box. If a *region-ID* is specified, a geometric volume is filled which is both inside the simulation box and is also consistent with the region -volume. See the :doc:`region ` command for details. Note that -a region can be specified so that its "volume" is either inside or -outside a geometric boundary. +volume. See the :doc:`region ` command for details. Note +that a region can be specified so that its "volume" is either inside +or outside its geometric boundary. -.. note:: +Note that the create_atoms command adds particles to those that +already exist. This means it can be used to add particles to a system +previously read in from a data or restart file. Or the create_atoms +command can be used multiple times, to add multiple sets of particles +to the simulation. For example, grain boundaries can be created, by +interleaving the create_atoms command with :doc:`lattice ` +commands specifying different orientations. - Particles generated by the *random* style (without the *overlap* keyword) - will typically be highly overlapped which will cause many interatomic - potentials to compute large energies and forces. Thus you should either - perform an :doc:`energy minimization ` or run dynamics with - :doc:`fix nve/limit ` to equilibrate such a system, before - running normal dynamics. +Whenever this command is used, care care should be taken to insure +that the resulting system does not contain particles which are highly +overlapped. Such overlaps will cause many interatomic potentials to +compute huge energies and forces, leading to bad dynamics. There are +several strategies to avoid this problem: -Note that this command adds particles to those that already exist. -This means it can be used to add particles to a system previously read -in from a data or restart file. Or the create_atoms command can be -used multiple times, to add multiple sets of particles to the -simulation. For example, grain boundaries can be created, by -interleaving create_atoms with :doc:`lattice ` commands -specifying different orientations. By using the create_atoms command -in conjunction with the :doc:`delete_atoms ` command, -reasonably complex geometries can be created, or a protein can be -solvated with a surrounding box of water molecules. +* Use the :doc:`delete_atoms overlap ` command after +create_atoms. For example, this could be used to overlay and surround +a large protein molecule with a volume of water molecules, then delete +water molecules that overlap with the protein atoms. -In all these cases, care should be taken to insure that new atoms do -not overlap existing atoms inappropriately, especially if molecules -are being added. For this reason the *overlap* keyword is provided, -also the :doc:`delete_atoms ` command can be used to remove -overlapping atoms or molecules. +* For the *random* style, use the optional *overlap* keyword to avoid +overlaps when each new particle is created. + +* Before running dynamics on an overlapped system, perform an +:doc:`energy minimization `. Or run initial dynamics with +:doc:`pair_style soft ` or with :doc:`fix nve/limit +` to un-overlap the system, before running normal +dynamics. .. note:: @@ -209,7 +216,7 @@ not overlap, regardless of their relative orientations. ---------- -This is the meaning of the other allowed keywords. +This is the meaning of the other optional keywords. The *basis* keyword is only used when atoms (not molecules) are being created. It specifies an atom type that will be assigned to specific @@ -296,33 +303,47 @@ the atoms around the rotation axis is consistent with the right-hand rule: if your right-hand's thumb points along *R*, then your fingers wrap around the axis in the direction of rotation. -The *maxtries* keyword limits the number of tries to generate coordinates -for a new particle that satisfies all requirements (region, var, overlap, -...) before the command fails. This keyword is available only with the -*random* style and the default number of tries is 1000 per particle. The -use of this keyword is recommended when using the *overlap* keyword, -otherwise it is usually not necessary (but can be useful). - -The *overlap* keyword can be used with the *random* style (and only the -*random* style) to prevent the newly created particles from overlapping or being -created too close to others. When the particles being created are **single -atoms** the *radius* parameter passed with the keyword denotes the distance -between particle locations/centers, meaning that all new atoms will be created -at locations not closer than *radius* from the location of any other atom in -the system. When the particles being created are **molecules** the molecule -radius is taken into account so that all new molecules will be created -at locations not closer than (*radius* + molecule radius) from the location -of any existing atom in the system. +The *overlap* keyword only applies to the *random* style. It prevent +the newly created particles from overlapping or being created too +close to others. When the particles being created are **single atoms** +the *radius* parameter passed with the keyword denotes the distance +between particle locations/centers, meaning that all new atoms will be +created at locations not closer than *radius* from the location of any +other atom in the system. When the particles being created are +**molecules** the molecule radius is taken into account so that all +new molecules will be created at locations not closer than (*radius* + +molecule radius) from the location of any existing atom in the system. .. note:: - Checking for overlaps is a very costly operation (O(N) for each new atom/molecule, - where N is the number of existing atoms) and the intended use of this keyword is, - for example, adding small amounts of new atoms/molecules to relatively sparse systems - mid simulation (between consecutive runs), i.e. where running an energy minimization - procedure isn't an option. - In any case, the use of the *maxtries* keyword in combination with *overlap* is - highly recommended. + Checking for overlaps is a very costly operation (O(N) for each new + atom/molecule, where N is the number of existing atoms) and the + intended use of this keyword is, for example, adding small amounts + of new atoms/molecules to relatively sparse systems mid simulation + (between consecutive runs), i.e. where running an energy + minimization procedure isn't an option. The use of the *maxtry* + keyword in combination with *overlap* is highly recommended. + + +Note: does maxtry apply to var/set as well ? + +The *maxtry* keyword only applies to the *random* style. It limits +the number of attempts to generate valid coordinates for a single new +particle that satisfies all requirements imposed by the *region*, +*var*, and *overlap* keywords. The default is 10 attempts per +particle before the loop over the requested *N* particles advances to +the next particle. Note that setting the *maxtry* keyword to a large +value may result in the create_atoms command running for a long time +for + +before the +command fails. This keyword is available only with the *random* style +and the default number of tries is 1000 per particle. The use of this +keyword is recommended when using the *overlap* keyword, otherwise it +is usually not necessary (but can be useful). + + + The *units* keyword determines the meaning of the distance units used to specify the coordinates of the one particle created by the *single* @@ -348,9 +369,10 @@ assigned to created molecules in a similar fashion. Aside from their ID, atom type, and xyz position, other properties of created atoms are set to default values, depending on which quantities -are defined by the chosen :doc:`atom style `. See the :doc:`atom style ` command for more details. See the -:doc:`set ` and :doc:`velocity ` commands for info on how -to change these values. +are defined by the chosen :doc:`atom style `. See the +:doc:`atom style ` command for more details. See the +:doc:`set ` and :doc:`velocity ` commands for info on +how to change these values. * charge = 0.0 * dipole moment magnitude = 0.0 From 8cdbf380cf2ff3c08a4b99c4e528769b9717658d Mon Sep 17 00:00:00 2001 From: Emily Kahl Date: Wed, 20 Apr 2022 12:06:38 +1000 Subject: [PATCH 13/29] Add support for hipFFT backend in PPPMKokkos. --- cmake/CMakeLists.txt | 6 +++++ cmake/Modules/Packages/KOKKOS.cmake | 5 ++++ src/KOKKOS/fft3d_kokkos.cpp | 40 +++++++++++++++++++++++++++-- src/KOKKOS/fft3d_kokkos.h | 4 +++ src/KOKKOS/fftdata_kokkos.h | 31 ++++++++++++++++++++-- src/KSPACE/pppm.h | 2 ++ 6 files changed, 84 insertions(+), 4 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 99d51614c8..233392c9f8 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -941,6 +941,12 @@ if(PKG_KSPACE) else() message(STATUS "Kokkos FFT: cuFFT") endif() + elseif(Kokkos_ENABLE_HIP) + if(FFT STREQUAL "KISS") + message(STATUS "Kokkos FFT: KISS") + else() + message(STATUS "Kokkos FFT: hipFFT") + endif() else() message(STATUS "Kokkos FFT: ${FFT}") endif() diff --git a/cmake/Modules/Packages/KOKKOS.cmake b/cmake/Modules/Packages/KOKKOS.cmake index 4e35e6dcc0..6fa5892e78 100644 --- a/cmake/Modules/Packages/KOKKOS.cmake +++ b/cmake/Modules/Packages/KOKKOS.cmake @@ -130,6 +130,11 @@ if(PKG_KSPACE) target_compile_definitions(lammps PRIVATE -DFFT_CUFFT) target_link_libraries(lammps PRIVATE cufft) endif() + elseif(Kokkos_ENABLE_HIP) + if(NOT (FFT STREQUAL "KISS")) + target_compile_definitions(lammps PRIVATE -DFFT_HIPFFT) + target_link_libraries(lammps PRIVATE hipfft) + endif() endif() endif() diff --git a/src/KOKKOS/fft3d_kokkos.cpp b/src/KOKKOS/fft3d_kokkos.cpp index 737c2f20b5..7e03648357 100644 --- a/src/KOKKOS/fft3d_kokkos.cpp +++ b/src/KOKKOS/fft3d_kokkos.cpp @@ -49,10 +49,14 @@ FFT3dKokkos::FFT3dKokkos(LAMMPS *lmp, MPI_Comm comm, int nfast, int lmp->error->all(FLERR,"Cannot use the MKL library with Kokkos CUDA on GPUs"); #elif defined(FFT_FFTW3) if (ngpus > 0 && execution_space == Device) - lmp->error->all(FLERR,"Cannot use the FFTW library with Kokkos CUDA on GPUs"); + lmp->error->all(FLERR,"Cannot use the FFTW library with Kokkos CUDA/HIP on GPUs"); #elif defined(FFT_CUFFT) if (ngpus > 0 && execution_space == Host) lmp->error->all(FLERR,"Cannot use the cuFFT library with Kokkos CUDA on the host CPUs"); +#elif defined(FFT_HIPFFT) + if (ngpus > 0 && execution_space == Host) + lmp->error->all(FLERR,"Cannot use the hipFFT library with Kokkos HIP on the host CPUs"); + #elif defined(FFT_KISSFFT) // The compiler can't statically determine the stack size needed for // recursive function calls in KISS FFT and the default per-thread @@ -63,6 +67,11 @@ FFT3dKokkos::FFT3dKokkos(LAMMPS *lmp, MPI_Comm comm, int nfast, int cudaDeviceGetLimit(&stack_size,cudaLimitStackSize); if (stack_size < 2048) cudaDeviceSetLimit(cudaLimitStackSize,2048); +// #elif defined (KOKKOS_ENABLE_HIP) +// size_t stack_size; +// hipDeviceGetLimit(&stack_size,hipLimitStackSize); +// if (stack_size < 2048) +// hipDeviceSetLimit(hipLimitStackSize,2048); #endif #endif @@ -145,7 +154,7 @@ public: KOKKOS_INLINE_FUNCTION void operator() (const int &i) const { -#if defined(FFT_FFTW3) || defined(FFT_CUFFT) +#if defined(FFT_FFTW3) || defined(FFT_CUFFT) || defined(FFT_HIPFFT) FFT_SCALAR* out_ptr = (FFT_SCALAR *)(d_out.data()+i); *(out_ptr++) *= norm; *(out_ptr++) *= norm; @@ -227,6 +236,8 @@ void FFT3dKokkos::fft_3d_kokkos(typename FFT_AT::t_FFT_DATA_1d d_in, FFTW_API(execute_dft)(plan->plan_fast_backward,(FFT_DATA*)d_data.data(),(FFT_DATA*)d_data.data()); #elif defined(FFT_CUFFT) cufftExec(plan->plan_fast,d_data.data(),d_data.data(),-flag); + #elif defined(FFT_HIPFFT) + hipfftExec(plan->plan_fast,d_data.data(),d_data.data(),-flag); #else typename FFT_AT::t_FFT_DATA_1d d_tmp = typename FFT_AT::t_FFT_DATA_1d(Kokkos::view_alloc("fft_3d:tmp",Kokkos::WithoutInitializing),d_data.extent(0)); @@ -271,6 +282,8 @@ void FFT3dKokkos::fft_3d_kokkos(typename FFT_AT::t_FFT_DATA_1d d_in, FFTW_API(execute_dft)(plan->plan_mid_backward,(FFT_DATA*)d_data.data(),(FFT_DATA*)d_data.data()); #elif defined(FFT_CUFFT) cufftExec(plan->plan_mid,d_data.data(),d_data.data(),-flag); + #elif defined(FFT_HIPFFT) + hipfftExec(plan->plan_mid,d_data.data(),d_data.data(),-flag); #else d_tmp = typename FFT_AT::t_FFT_DATA_1d(Kokkos::view_alloc("fft_3d:tmp",Kokkos::WithoutInitializing),d_data.extent(0)); if (flag == 1) @@ -313,6 +326,8 @@ void FFT3dKokkos::fft_3d_kokkos(typename FFT_AT::t_FFT_DATA_1d d_in, FFTW_API(execute_dft)(plan->plan_slow_backward,(FFT_DATA*)d_data.data(),(FFT_DATA*)d_data.data()); #elif defined(FFT_CUFFT) cufftExec(plan->plan_slow,d_data.data(),d_data.data(),-flag); + #elif defined(FFT_HIPFFT) + hipfftExec(plan->plan_slow,d_data.data(),d_data.data(),-flag); #else d_tmp = typename FFT_AT::t_FFT_DATA_1d(Kokkos::view_alloc("fft_3d:tmp",Kokkos::WithoutInitializing),d_data.extent(0)); if (flag == 1) @@ -699,6 +714,23 @@ struct fft_plan_3d_kokkos* FFT3dKokkos::fft_3d_create_pl &nslow,1,plan->length3, CUFFT_TYPE,plan->total3/plan->length3); +#elif defined(FFT_HIPFFT) + + hipfftPlanMany(&(plan->plan_fast), 1, &nfast, + &nfast,1,plan->length1, + &nfast,1,plan->length1, + HIPFFT_TYPE,plan->total1/plan->length1); + + hipfftPlanMany(&(plan->plan_mid), 1, &nmid, + &nmid,1,plan->length2, + &nmid,1,plan->length2, + HIPFFT_TYPE,plan->total2/plan->length2); + + hipfftPlanMany(&(plan->plan_slow), 1, &nslow, + &nslow,1,plan->length3, + &nslow,1,plan->length3, + HIPFFT_TYPE,plan->total3/plan->length3); + #else /* FFT_KISS */ kissfftKK = new KissFFTKokkos(); @@ -863,6 +895,10 @@ void FFT3dKokkos::fft_3d_1d_only_kokkos(typename FFT_AT::t_FFT_DATA_ cufftExec(plan->plan_fast,d_data.data(),d_data.data(),-flag); cufftExec(plan->plan_mid,d_data.data(),d_data.data(),-flag); cufftExec(plan->plan_slow,d_data.data(),d_data.data(),-flag); +#elif defined(FFT_HIPFFT) + hipfftExec(plan->plan_fast,d_data.data(),d_data.data(),-flag); + hipfftExec(plan->plan_mid,d_data.data(),d_data.data(),-flag); + hipfftExec(plan->plan_slow,d_data.data(),d_data.data(),-flag); #else kiss_fft_functor f; typename FFT_AT::t_FFT_DATA_1d d_tmp = diff --git a/src/KOKKOS/fft3d_kokkos.h b/src/KOKKOS/fft3d_kokkos.h index 12f0f787d1..f4bc3fe58a 100644 --- a/src/KOKKOS/fft3d_kokkos.h +++ b/src/KOKKOS/fft3d_kokkos.h @@ -60,6 +60,10 @@ struct fft_plan_3d_kokkos { cufftHandle plan_fast; cufftHandle plan_mid; cufftHandle plan_slow; +#elif defined(FFT_HIPFFT) + hipfftHandle plan_fast; + hipfftHandle plan_mid; + hipfftHandle plan_slow; #else kiss_fft_state_kokkos cfg_fast_forward; kiss_fft_state_kokkos cfg_fast_backward; diff --git a/src/KOKKOS/fftdata_kokkos.h b/src/KOKKOS/fftdata_kokkos.h index 8a853c33af..a82e9279f9 100644 --- a/src/KOKKOS/fftdata_kokkos.h +++ b/src/KOKKOS/fftdata_kokkos.h @@ -49,8 +49,8 @@ typedef double FFT_SCALAR; #endif -// with KOKKOS in CUDA mode we can only have -// CUFFT or KISSFFT, thus undefine all other +// with KOKKOS in CUDA or HIP mode we can only have +// CUFFT/HIPFFT or KISSFFT, thus undefine all other // FFTs here, since they may be valid in fft3d.cpp #ifdef KOKKOS_ENABLE_CUDA @@ -66,10 +66,26 @@ typedef double FFT_SCALAR; # if !defined(FFT_CUFFT) && !defined(FFT_KISSFFT) # define FFT_KISSFFT # endif +#elif defined(KOKKOS_ENABLE_HIP) +# if defined(FFT_FFTW) +# undef FFT_FFTW +# endif +# if defined(FFT_FFTW3) +# undef FFT_FFTW3 +# endif +# if defined(FFT_MKL) +# undef FFT_MKL +# endif +# if !defined(FFT_HIPFFT) && !defined(FFT_KISSFFT) +# define FFT_KISSFFT +# endif #else # if defined(FFT_CUFFT) # error "Must enable CUDA with KOKKOS to use -DFFT_CUFFT" # endif +# if defined(FFT_HIPFFT) +# error "Must enable HIP with KOKKOS to use -DFFT_HIPFFT" +# endif // if user set FFTW, it means FFTW3 # ifdef FFT_FFTW # define FFT_FFTW3 @@ -110,6 +126,17 @@ typedef double FFT_SCALAR; #define CUFFT_TYPE CUFFT_Z2Z typedef cufftDoubleComplex FFT_DATA; #endif +#elif defined(FFT_HIPFFT) + #include "hipfft.h" + #if defined(FFT_SINGLE) + #define hipfftExec hipfftExecC2C + #define HIPFFT_TYPE HIPFFT_C2C + typedef hipfftComplex FFT_DATA; + #else + #define hipfftExec hipfftExecZ2Z + #define HIPFFT_TYPE HIPFFT_Z2Z + typedef hipfftDoubleComplex FFT_DATA; + #endif #else #if defined(FFT_SINGLE) #define kiss_fft_scalar float diff --git a/src/KSPACE/pppm.h b/src/KSPACE/pppm.h index 5df8e5e2bc..f982b5ff6c 100644 --- a/src/KSPACE/pppm.h +++ b/src/KSPACE/pppm.h @@ -28,6 +28,8 @@ KSpaceStyle(pppm,PPPM); #define LMP_FFT_LIB "MKL FFT" #elif defined(FFT_CUFFT) #define LMP_FFT_LIB "cuFFT" +#elif defined(FFT_HIPFFT) +#define LMP_FFT_LIB "hipFFT" #else #define LMP_FFT_LIB "KISS FFT" #endif From 385f0c6c954ed13be9281c6ba2667144a0ddcfb5 Mon Sep 17 00:00:00 2001 From: Emily Kahl Date: Wed, 27 Apr 2022 10:13:03 +1000 Subject: [PATCH 14/29] Update Kokkos build documentation to include hipFFT options. --- doc/src/Build_extras.rst | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/doc/src/Build_extras.rst b/doc/src/Build_extras.rst index d2d12b48db..a6b03916f5 100644 --- a/doc/src/Build_extras.rst +++ b/doc/src/Build_extras.rst @@ -641,6 +641,20 @@ This list was last updated for version 3.5.0 of the Kokkos library. -D CMAKE_CXX_COMPILER=${HOME}/lammps/lib/kokkos/bin/nvcc_wrapper + For AMD or NVIDIA GPUs using HIP, set these variables: + + .. code-block:: bash + + -D Kokkos_ARCH_HOSTARCH=yes # HOSTARCH = HOST from list above + -D Kokkos_ARCH_GPUARCH=yes # GPUARCH = GPU from list above + -D Kokkos_ENABLE_HIP=yes + -D Kokkos_ENABLE_OPENMP=yes + + This will enable FFTs on the GPU, either by the internal KISSFFT library + or with the hipFFT wrapper library, which will call out to the + platform-appropriate vendor library: rocFFT on AMD GPUs or cuFFT on + NVIDIA GPUs. + To simplify compilation, four preset files are included in the ``cmake/presets`` folder, ``kokkos-serial.cmake``, ``kokkos-openmp.cmake``, ``kokkos-cuda.cmake``, and @@ -707,6 +721,15 @@ This list was last updated for version 3.5.0 of the Kokkos library. KOKKOS_ABSOLUTE_PATH = $(shell cd $(KOKKOS_PATH); pwd) CC = mpicxx -cxx=$(KOKKOS_ABSOLUTE_PATH)/config/nvcc_wrapper + For AMD or NVIDIA GPUs using HIP: + + .. code-block:: make + + KOKKOS_DEVICES = HIP + KOKKOS_ARCH = HOSTARCH,GPUARCH # HOSTARCH = HOST from list above that is hosting the GPU + # GPUARCH = GPU from list above + FFT_INC = -DFFT_HIPFFT # enable use of hipFFT (optional) + FFT_LIB = -lhipfft # link to hipFFT library Advanced KOKKOS compilation settings ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ From c43bc000d978561d4844079e3197cdc97e41e714 Mon Sep 17 00:00:00 2001 From: Emily Kahl Date: Wed, 27 Apr 2022 19:46:18 +1000 Subject: [PATCH 15/29] Removed unnecessary commented out code section. --- src/KOKKOS/fft3d_kokkos.cpp | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/KOKKOS/fft3d_kokkos.cpp b/src/KOKKOS/fft3d_kokkos.cpp index 7e03648357..82b1a19265 100644 --- a/src/KOKKOS/fft3d_kokkos.cpp +++ b/src/KOKKOS/fft3d_kokkos.cpp @@ -67,11 +67,6 @@ FFT3dKokkos::FFT3dKokkos(LAMMPS *lmp, MPI_Comm comm, int nfast, int cudaDeviceGetLimit(&stack_size,cudaLimitStackSize); if (stack_size < 2048) cudaDeviceSetLimit(cudaLimitStackSize,2048); -// #elif defined (KOKKOS_ENABLE_HIP) -// size_t stack_size; -// hipDeviceGetLimit(&stack_size,hipLimitStackSize); -// if (stack_size < 2048) -// hipDeviceSetLimit(hipLimitStackSize,2048); #endif #endif From 517d934f7c23dc4c310e24b821fe8dca056d04ac Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 4 May 2022 10:51:00 -0600 Subject: [PATCH 16/29] more edits --- doc/src/create_atoms.rst | 78 +++++++++++++++++++++------------------- src/create_atoms.cpp | 30 +++++++++------- src/create_atoms.h | 3 +- 3 files changed, 61 insertions(+), 50 deletions(-) diff --git a/doc/src/create_atoms.rst b/doc/src/create_atoms.rst index 4ab538475e..8b67aa4a82 100644 --- a/doc/src/create_atoms.rst +++ b/doc/src/create_atoms.rst @@ -73,16 +73,17 @@ Examples Description """"""""""" -This command creates atoms (or molecules) on a lattice, or a single -atom (or molecule), or a random collection of atoms (or molecules), as -an alternative to reading in their coordinates explicitly via a -:doc:`read_data ` or :doc:`read_restart ` -command. A simulation box must already exist, which is typically -created via the :doc:`create_box ` command. Before using -this command, a lattice must also be defined using the -:doc:`lattice ` command, unless you specify the *single* style -with units = box or the *random* style. For the remainder of this doc -page, a created atom or molecule is referred to as a "particle". +This command creates atoms (or molecules) within the simulation box, +either on a lattice, or a single atom (or molecule), or a random +collection of atoms (or molecules). It is an alternative to reading +in atom coordinates explicitly via a :doc:`read_data ` or +:doc:`read_restart ` command. A simulation box must +already exist, which is typically created via the :doc:`create_box +` command. Before using this command, a lattice must also +be defined using the :doc:`lattice ` command, unless you +specify the *single* style with units = box or the *random* style. +For the remainder of this doc page, a created atom or molecule is +referred to as a "particle". If created particles are individual atoms, they are assigned the specified atom *type*, though this can be altered via the *basis* @@ -107,7 +108,7 @@ and also consistent with the region volume. See the :doc:`region ` command for details. Note that a region can be specified so that its "volume" is either inside or outside its geometric boundary. Also note that if a region is the same size as a periodic simulation -box (in some dimension), LAMMPS does not implement the same logic +box (in some dimension), LAMMPS does NOT implement the same logic described above for the *box* style, to insure exactly one particle at periodic boundaries. If this is desired, you should either use the *box* style, or tweak the region size to get precisely the particles @@ -121,18 +122,18 @@ positions. For the *random* style, N particles are added to the system at randomly generated coordinates, which can be useful for generating an amorphous system. The particles are created one by one using the -specified random number *seed*, resulting in the same set of particles +specified random number *seed*, resulting in the same set of particle coordinates, independent of how many processors are being used in the simulation. Unless the *overlap* keyword is specified, particles created by the *random* style will typically be highly overlapped. -If the *region-ID* argument is specified as NULL, then -the created particles will be anywhere in the simulation box. If a +If the *region-ID* argument is specified as NULL, then the randomly +created particles will be anywhere in the simulation box. If a *region-ID* is specified, a geometric volume is filled which is both inside the simulation box and is also consistent with the region volume. See the :doc:`region ` command for details. Note that a region can be specified so that its "volume" is either inside -or outside its geometric boundary. +or outside its geometric boundary. Note that the create_atoms command adds particles to those that already exist. This means it can be used to add particles to a system @@ -142,16 +143,16 @@ to the simulation. For example, grain boundaries can be created, by interleaving the create_atoms command with :doc:`lattice ` commands specifying different orientations. -Whenever this command is used, care care should be taken to insure -that the resulting system does not contain particles which are highly +When this command is used, care should be taken to insure the +resulting system does not contain particles which are highly overlapped. Such overlaps will cause many interatomic potentials to compute huge energies and forces, leading to bad dynamics. There are several strategies to avoid this problem: * Use the :doc:`delete_atoms overlap ` command after -create_atoms. For example, this could be used to overlay and surround -a large protein molecule with a volume of water molecules, then delete -water molecules that overlap with the protein atoms. +create_atoms. For example, this strategy can be used to overlay and +surround a large protein molecule with a volume of water molecules, +then delete water molecules that overlap with the protein atoms. * For the *random* style, use the optional *overlap* keyword to avoid overlaps when each new particle is created. @@ -159,7 +160,7 @@ overlaps when each new particle is created. * Before running dynamics on an overlapped system, perform an :doc:`energy minimization `. Or run initial dynamics with :doc:`pair_style soft ` or with :doc:`fix nve/limit -` to un-overlap the system, before running normal +` to un-overlap the particles, before running normal dynamics. .. note:: @@ -168,12 +169,13 @@ dynamics. that are outside the simulation box; they will just be ignored by LAMMPS. This is true even if you are using shrink-wrapped box boundaries, as specified by the :doc:`boundary ` command. - However, you can first use the :doc:`change_box ` command to - temporarily expand the box, then add atoms via create_atoms, then - finally use change_box command again if needed to re-shrink-wrap the - new atoms. See the :doc:`change_box ` page for an - example of how to do this, using the create_atoms *single* style to - insert a new atom outside the current simulation box. + However, you can first use the :doc:`change_box ` + command to temporarily expand the box, then add atoms via + create_atoms, then finally use change_box command again if needed + to re-shrink-wrap the new atoms. See the :doc:`change_box + ` doc page for an example of how to do this, using the + create_atoms *single* style to insert a new atom outside the + current simulation box. ---------- @@ -192,17 +194,19 @@ Using a lattice to add molecules, e.g. via the *box* or *region* or points, except that entire molecules are added at each point, i.e. on the point defined by each basis atom in the unit cell as it tiles the simulation box or region. This is done by placing the geometric -center of the molecule at the lattice point, and giving the molecule a -random orientation about the point. The random *seed* specified with -the *mol* keyword is used for this operation, and the random numbers -generated by each processor are different. This means the coordinates -of individual atoms (in the molecules) will be different when running -on different numbers of processors, unlike when atoms are being -created in parallel. +center of the molecule at the lattice point, and (by default) giving +the molecule a random orientation about the point. The random *seed* +specified with the *mol* keyword is used for this operation, and the +random numbers generated by each processor are different. This means +the coordinates of individual atoms (in the molecules) will be +different when running on different numbers of processors, unlike when +atoms are being created in parallel. -Also note that because of the random rotations, it may be important to -use a lattice with a large enough spacing that adjacent molecules will -not overlap, regardless of their relative orientations. +Note that with random rotations, it may be important to use a lattice +with a large enough spacing that adjacent molecules will not overlap, +regardless of their relative orientations. See the description of the +*rotate* keyword below, which overrides the default random orientation +and inserts all molecules at a specified orientation. .. note:: diff --git a/src/create_atoms.cpp b/src/create_atoms.cpp index c969273c63..7736294892 100644 --- a/src/create_atoms.cpp +++ b/src/create_atoms.cpp @@ -202,10 +202,10 @@ void CreateAtoms::command(int narg, char **arg) iarg += 3; } else if (strcmp(arg[iarg], "rotate") == 0) { if (iarg + 5 > narg) error->all(FLERR, "Illegal create_atoms command"); + quat_user = 1; double thetaone; double axisone[3]; thetaone = utils::numeric(FLERR, arg[iarg + 1], false, lmp) / 180.0 * MY_PI; - ; axisone[0] = utils::numeric(FLERR, arg[iarg + 2], false, lmp); axisone[1] = utils::numeric(FLERR, arg[iarg + 3], false, lmp); axisone[2] = utils::numeric(FLERR, arg[iarg + 4], false, lmp); @@ -397,7 +397,7 @@ void CreateAtoms::command(int narg, char **arg) } } - // Record wall time for atom creation + // record wall time for atom creation MPI_Barrier(world); double time1 = platform::walltime(); @@ -657,7 +657,7 @@ void CreateAtoms::add_single() if (mode == ATOM) { atom->avec->create_atom(ntype, xone); } else { - gen_mol_coords(xone, quatone); + gen_mol_coords(xone); create_mol(); } } @@ -755,7 +755,7 @@ void CreateAtoms::add_random() continue; if (mode == MOLECULE) - gen_mol_coords(xone, quatone); + gen_mol_coords(xone); if (triclinic) { domain->x2lamda(xone, lamda); @@ -996,7 +996,7 @@ void CreateAtoms::loop_lattice(int action) if (mode == ATOM) { atom->avec->create_atom(basistype[m], x); } else { - gen_mol_coords(x, quatone); + gen_mol_coords(x); create_mol(); } } else if (action == COUNT) { @@ -1005,7 +1005,7 @@ void CreateAtoms::loop_lattice(int action) if (mode == ATOM) { atom->avec->create_atom(basistype[m], x); } else { - gen_mol_coords(x, quatone); + gen_mol_coords(x); create_mol(); } } @@ -1018,22 +1018,25 @@ void CreateAtoms::loop_lattice(int action) } /* ---------------------------------------------------------------------- - Generate molecule atom coordinates for a given center and rotation. - If quat_user set use it, else generate a random quaternion. - The result is stored in temp_mol_coords and onemol->quat_external. + generate molecule atom coordinates for a given center and rotation + if quat_user set use it, else generate a random quaternion + result is stored in temp_mol_coords and onemol->quat_external ------------------------------------------------------------------------- */ -void CreateAtoms::gen_mol_coords(double *center, double *quat_user) + +void CreateAtoms::gen_mol_coords(double *center) { double r[3], quat[4], rotmat[3][3]; int randrot = 1; + if (quat_user) { - for (int i=0; i<4; i++) { + for (int i = 0; i < 4; i++) { if (quat_user[i] != 0) { randrot = 0; break; } } } + if (randrot) { if (domain->dimension == 3) { r[0] = ranmol->uniform() - 0.5; @@ -1046,12 +1049,14 @@ void CreateAtoms::gen_mol_coords(double *center, double *quat_user) } double theta = ranmol->uniform() * MY_2PI; MathExtra::axisangle_to_quat(r, theta, quat); + } else { quat[0] = quat_user[0]; quat[1] = quat_user[1]; quat[2] = quat_user[2]; quat[3] = quat_user[3]; } + onemol->quat_external = quat; MathExtra::quat_to_mat(quat, rotmat); @@ -1063,7 +1068,7 @@ void CreateAtoms::gen_mol_coords(double *center, double *quat_user) } /* ---------------------------------------------------------------------- - Create a molecule from temp_mol_coords. + create a molecule from temp_mol_coords ------------------------------------------------------------------------- */ void CreateAtoms::create_mol() @@ -1072,6 +1077,7 @@ void CreateAtoms::create_mol() // reset in caller after all molecules created by all procs // pass add_molecule_atom an offset of 0 since don't know // max tag of atoms in previous molecules at this point + int n, natoms = onemol->natoms; for (int m = 0; m < natoms; m++) { atom->avec->create_atom(ntype+onemol->type[m], temp_mol_coords[m]); diff --git a/src/create_atoms.h b/src/create_atoms.h index 059b926615..8db1169b31 100644 --- a/src/create_atoms.h +++ b/src/create_atoms.h @@ -32,7 +32,8 @@ class CreateAtoms : public Command { private: int ntype, style, mode, nbasis, nrandom, seed; int remapflag; - int maxtries; + int maxtry; + int quat_user; int overlapflag; double overlap_radius; int subsetflag; From cc437c78a0bdc2e9188bbfccff1f0070f1e64769 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 4 May 2022 14:34:05 -0600 Subject: [PATCH 17/29] some logic and syntax changes to code and doc page --- doc/src/create_atoms.rst | 90 +++++++++--------- src/create_atoms.cpp | 200 +++++++++++++++++++-------------------- src/create_atoms.h | 8 +- 3 files changed, 146 insertions(+), 152 deletions(-) diff --git a/doc/src/create_atoms.rst b/doc/src/create_atoms.rst index 8b67aa4a82..da301aa46f 100644 --- a/doc/src/create_atoms.rst +++ b/doc/src/create_atoms.rst @@ -50,10 +50,10 @@ Syntax *rotate* values = theta Rx Ry Rz theta = rotation angle for single molecule (degrees) Rx,Ry,Rz = rotation vector for single molecule + *overlap* value = Doverlap + Doverlap = only insert if at least this distance from all existing atoms *maxtry* value = Ntry Ntry = number of attempts to insert a particle before failure - *overlap* value = radius - radius = only insert if at least this distance from all existing atoms *units* value = *lattice* or *box* *lattice* = the geometry is defined in lattice units *box* = the geometry is defined in simulation box units @@ -68,7 +68,7 @@ Examples create_atoms 3 region regsphere basis 2 3 ratio 0.5 74637 create_atoms 3 single 0 0 5 create_atoms 1 box var v set x xpos set y ypos - create_atoms 2 random 50 12345 NULL maxtries 10 overlap 2.0 + create_atoms 2 random 50 12345 NULL overlap 2.0 maxtry 50 Description """"""""""" @@ -119,13 +119,18 @@ the specified coordinates. This can be useful for debugging purposes or to create a tiny system with a handful of particles at specified positions. -For the *random* style, N particles are added to the system at +For the *random* style, *N* particles are added to the system at randomly generated coordinates, which can be useful for generating an amorphous system. The particles are created one by one using the specified random number *seed*, resulting in the same set of particle coordinates, independent of how many processors are being used in the simulation. Unless the *overlap* keyword is specified, particles created by the *random* style will typically be highly overlapped. +Various additional criteria can be used to accept or reject a random +particle insertion; see the keyword discussion below. Multiple +attempts per particle are made (see the *maxtry* keyword) until the +insertion is either successful or fails. If this command fails to add +all requsted *N* particles, a warning will be output. If the *region-ID* argument is specified as NULL, then the randomly created particles will be anywhere in the simulation box. If a @@ -250,13 +255,14 @@ and no particle is created if its position is outside the box. The *var* and *set* keywords can be used together to provide a criterion for accepting or rejecting the addition of an individual -atom, based on its coordinates. The *name* specified for the *var* -keyword is the name of an :doc:`equal-style variable ` which -should evaluate to a zero or non-zero value based on one or two or -three variables which will store the x, y, or z coordinates of an atom -(one variable per coordinate). If used, these other variables must be -:doc:`internal-style variables ` defined in the input script; -their initial numeric value can be anything. They must be +atom, based on its coordinates. They apply to all styles except +*single*. The *name* specified for the *var* keyword is the name of +an :doc:`equal-style variable ` which should evaluate to a +zero or non-zero value based on one or two or three variables which +will store the x, y, or z coordinates of an atom (one variable per +coordinate). If used, these other variables must be +:doc:`internal-style variables ` defined in the input +script; their initial numeric value can be anything. They must be internal-style variables, because this command resets their values directly. The *set* keyword is used to identify the names of these other variables, one variable for the x-coordinate of a created atom, @@ -307,47 +313,37 @@ the atoms around the rotation axis is consistent with the right-hand rule: if your right-hand's thumb points along *R*, then your fingers wrap around the axis in the direction of rotation. -The *overlap* keyword only applies to the *random* style. It prevent -the newly created particles from overlapping or being created too -close to others. When the particles being created are **single atoms** -the *radius* parameter passed with the keyword denotes the distance -between particle locations/centers, meaning that all new atoms will be -created at locations not closer than *radius* from the location of any -other atom in the system. When the particles being created are -**molecules** the molecule radius is taken into account so that all -new molecules will be created at locations not closer than (*radius* + -molecule radius) from the location of any existing atom in the system. +The *overlap* keyword only applies to the *random* style. It prevents +newly created particles from being created closer than the specified +*Doverlap* distance from any other particle. When the particles being +created are molecules, the radius of the molecule (from its geometric +center) is added to *Doverlap*. If particles have finite size (see +:doc:`atom_style sphere ` for example) *Doverlap* should +be specified large enough to include the particle size in the +non-overlapping criterion. .. note:: - Checking for overlaps is a very costly operation (O(N) for each new - atom/molecule, where N is the number of existing atoms) and the - intended use of this keyword is, for example, adding small amounts - of new atoms/molecules to relatively sparse systems mid simulation - (between consecutive runs), i.e. where running an energy - minimization procedure isn't an option. The use of the *maxtry* - keyword in combination with *overlap* is highly recommended. - - -Note: does maxtry apply to var/set as well ? + Checking for overlaps is a costly O(N(N+M)) operation for inserting + *N* new particles into a system with *M* existing particles. This + is because distances to all *M* existing particles are computed for + each new particle that is added. Thus the intended use of this + keyword is to add relatively small numbers of particles to systems + which remain at a relatively low density even after the new + particles are created. Careful use of the *maxtry* keyword in + combination with *overlap* is recommended. See the discussion + above about systems with overlapped particles for alternate + strategies that allow for overlapped insertions. The *maxtry* keyword only applies to the *random* style. It limits the number of attempts to generate valid coordinates for a single new -particle that satisfies all requirements imposed by the *region*, -*var*, and *overlap* keywords. The default is 10 attempts per -particle before the loop over the requested *N* particles advances to -the next particle. Note that setting the *maxtry* keyword to a large -value may result in the create_atoms command running for a long time -for - -before the -command fails. This keyword is available only with the *random* style -and the default number of tries is 1000 per particle. The use of this -keyword is recommended when using the *overlap* keyword, otherwise it -is usually not necessary (but can be useful). - - - +particle that satisfy all requirements imposed by the *region*, *var*, +and *overlap* keywords. The default is 10 attempts per particle +before the loop over the requested *N* particles advances to the next +particle. Note that if insertion success is unlikely (e.g. inserting +new particles into a dense system using the *overlap* keyword), +setting the *maxtry* keyword to a large value may result in this +command running for a long time. The *units* keyword determines the meaning of the distance units used to specify the coordinates of the one particle created by the *single* @@ -432,4 +428,4 @@ Default The default for the *basis* keyword is that all created atoms are assigned the argument *type* as their atom type (when single atoms are being created). The other defaults are *remap* = no, *rotate* = -random, *maxtries* = 1000, and *units* = lattice. +random, *overlap* not checked, *maxtry* = 10, and *units* = lattice. diff --git a/src/create_atoms.cpp b/src/create_atoms.cpp index 7736294892..0b4515d56b 100644 --- a/src/create_atoms.cpp +++ b/src/create_atoms.cpp @@ -13,7 +13,7 @@ /* ---------------------------------------------------------------------- Contributing author (ratio and subset) : Jake Gissinger (U Colorado) - Contributing author (maxtries & overlap) : Eugen Rozic (IRB, Zagreb) + Contributing author (maxtry & overlap) : Eugen Rozic (IRB, Zagreb) ------------------------------------------------------------------------- */ #include "create_atoms.h" @@ -45,7 +45,7 @@ using namespace MathConst; #define BIG 1.0e30 #define EPSILON 1.0e-6 #define LB_FACTOR 1.1 -#define DEFAULT_MAXTRIES 1000 +#define DEFAULT_MAXTRY 1000 enum { BOX, REGION, SINGLE, RANDOM }; enum { ATOM, MOLECULE }; @@ -137,7 +137,7 @@ void CreateAtoms::command(int narg, char **arg) subsetflag = NONE; int subsetseed; overlapflag = 0; - maxtries = DEFAULT_MAXTRIES; + maxtry = DEFAULT_MAXTRY; nbasis = domain->lattice->nbasis; basistype = new int[nbasis]; @@ -231,21 +231,19 @@ void CreateAtoms::command(int narg, char **arg) subsetseed = utils::inumeric(FLERR, arg[iarg + 2], false, lmp); if (nsubset <= 0 || subsetseed <= 0) error->all(FLERR, "Illegal create_atoms command"); iarg += 3; - } else if (strcmp(arg[iarg], "maxtries") == 0) { - if (style != RANDOM) error->all(FLERR, "Illegal create_atoms command: " - "'maxtries' can only be combined with 'random' style!"); + } else if (strcmp(arg[iarg], "maxtrr") == 0) { + if (style != RANDOM) + error->all(FLERR, "Create_atoms maxtry can only be used with random style"); if (iarg + 2 > narg) error->all(FLERR, "Illegal create_atoms command"); - maxtries = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); - if (maxtries <= 0) - error->all(FLERR,"Illegal create_atoms command"); + maxtry = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); + if (maxtry <= 0) error->all(FLERR,"Illegal create_atoms command"); iarg += 2; } else if (strcmp(arg[iarg], "overlap") == 0) { - if (style != RANDOM) error->all(FLERR, "Illegal create_atoms command: " - "'overlap' can only be combined with 'random' style!"); + if (style != RANDOM) + error->all(FLERR, "Create_atoms overlap can only be used with random style"); if (iarg + 2 > narg) error->all(FLERR, "Illegal create_atoms command"); - overlap_radius = utils::numeric(FLERR, arg[iarg + 1], false, lmp); - if (overlap_radius <= 0) - error->all(FLERR, "Illegal create_atoms command"); + overlap = utils::numeric(FLERR, arg[iarg + 1], false, lmp); + if (overlap <= 0) error->all(FLERR, "Illegal create_atoms command"); overlapflag = 1; iarg += 2; } else @@ -266,16 +264,16 @@ void CreateAtoms::command(int narg, char **arg) error->all(FLERR, "Invalid atom type in create_atoms mol command"); if (onemol->tag_require && !atom->tag_enable) error->all(FLERR, "Create_atoms molecule has atom IDs, but system does not"); + onemol->check_attributes(0); - // create_atoms uses geometric center of molecule for insertion - onemol->compute_center(); - + // use geometric center of molecule for insertion // molecule random number generator, different for each proc - ranmol = new RanMars(lmp, molseed + comm->me); + // molecule_coords = memory for atom coords in the molecule - // a bit of memory for tries to create molecules (if overlap/maxtries) - memory->create(temp_mol_coords, onemol->natoms, 3, "create_atoms:temp_mol_coords"); + onemol->compute_center(); + ranmol = new RanMars(lmp, molseed + comm->me); + memory->create(molecule_coords, onemol->natoms, 3, "create_atoms:molecule_coords"); } ranlatt = nullptr; @@ -583,9 +581,7 @@ void CreateAtoms::command(int narg, char **arg) // clean up - if (mode == MOLECULE) { - memory->destroy(temp_mol_coords); - } + if (mode == MOLECULE) memory->destroy(molecule_coords); delete ranmol; delete ranlatt; @@ -657,8 +653,8 @@ void CreateAtoms::add_single() if (mode == ATOM) { atom->avec->create_atom(ntype, xone); } else { - gen_mol_coords(xone); - create_mol(); + generate_molecule(xone); + add_molecule(); } } } @@ -670,20 +666,14 @@ void CreateAtoms::add_single() void CreateAtoms::add_random() { double xlo, ylo, zlo, xhi, yhi, zhi, zmid; + double delx, dely, delz, distsq, odistsq; double lamda[3], *coord; double *boxlo, *boxhi; - // stuff needed for the overlap option - int nlocal = atom->nlocal; - double **x = atom->x; - double delx, dely, delz, distsq; - double ocut, ocutsq; if (overlapflag) { - ocut = overlap_radius; - // overlap option takes into account the radius of the molecule - // but not the radius of a single atom (even if it is defined) - if (mode == MOLECULE) ocut += onemol->molradius; - ocutsq = ocut*ocut; + double odist = overlap; + if (mode == MOLECULE) odist += onemol->molradius; + odistsq = odist*odist; } // random number generator, same for all procs @@ -726,36 +716,32 @@ void CreateAtoms::add_random() zhi = MIN(zhi, region->extent_zhi); } - // generate random positions for each new atom/molecule within bounding box - // iterate until atom is within region, variable, triclinic simulation box - // and outside the exclusion area of other atoms, or if maximum number - // of attempts (maxtries) have been exceeded for any atom/molecule. - // if final atom position is in my subbox, create it - if (xlo > xhi || ylo > yhi || zlo > zhi) error->all(FLERR, "No overlap of box and region for create_atoms"); - int tries; + // insert Nrandom new atom/molecule into simulation box + + int ntry,success; + int ninsert = 0; + for (int i = 0; i < nrandom; i++) { - tries = 0; - while (true) { - tries++; - if (tries > maxtries) - error->all(FLERR, "Exceeded max number of tries in create_atoms"); - + + // attempt to insert an atom/molecule up to maxtry times + // criteria for insertion: region, variable, triclinic box, overlap + + success = 0; + ntry = 0; + + while (ntry < maxtry) { + ntry++; + xone[0] = xlo + random->uniform() * (xhi - xlo); xone[1] = ylo + random->uniform() * (yhi - ylo); xone[2] = zlo + random->uniform() * (zhi - zlo); if (domain->dimension == 2) xone[2] = zmid; - if (region && (region->match(xone[0], xone[1], xone[2]) == 0)) - continue; - - if (varflag && vartest(xone) == 0) - continue; - - if (mode == MOLECULE) - gen_mol_coords(xone); + if (region && (region->match(xone[0], xone[1], xone[2]) == 0)) continue; + if (varflag && vartest(xone) == 0) continue; if (triclinic) { domain->x2lamda(xone, lamda); @@ -767,39 +753,64 @@ void CreateAtoms::add_random() coord = xone; } + if (mode == MOLECULE) generate_molecule(xone); + + // check for overlap of new atom with all others + // including prior insertions + if (overlapflag) { - int reject_local = 0; - // Could be done more efficiently... (only on proc where coords are?) + double **x = atom->x; + int nlocal = atom->nlocal; + + int reject = 0; for (int i = 0; i < nlocal; i++) { - delx = xone[0] - x[i][0]; - dely = xone[1] - x[i][1]; - delz = xone[2] - x[i][2]; - distsq = delx*delx + dely*dely + delz*delz; - if (distsq < ocutsq) { - reject_local = 1; - break; + if (mode == ATOM) { + delx = xone[0] - x[i][0]; + dely = xone[1] - x[i][1]; + delz = xone[2] - x[i][2]; + distsq = delx*delx + dely*dely + delz*delz; + if (distsq < odistsq) { + reject = 1; + break; + } } } - int reject = 0; - MPI_Allreduce(&reject_local, &reject, 1, MPI_INT, MPI_MAX, world); - if (reject) continue; + int reject_any; + MPI_Allreduce(&reject, &reject_any, 1, MPI_INT, MPI_MAX, world); + if (reject_any) continue; } - break; //if survived to here means it succeeded + // all tests passed + + success = 1; + break; } + // insertion failed, advance to next atom/molecule + + if (!success) continue; + + // insertion criteria were met + // if final atom position is in my subbox, create it // if triclinic, coord is now in lamda units + ninsert++; + if (coord[0] >= sublo[0] && coord[0] < subhi[0] && coord[1] >= sublo[1] && coord[1] < subhi[1] && coord[2] >= sublo[2] && coord[2] < subhi[2]) { if (mode == ATOM) { atom->avec->create_atom(ntype, xone); } else { - create_mol(); + add_molecule(); } } } + // warn if did not successfully insert Nrandom atoms/molecules + + if (ninsert < nrandom && comm->me == 0) + error->warning(FLERR,"Only inserted {} particles out of {}",ninsert,nrandom); + // clean-up delete random; @@ -853,6 +864,7 @@ void CreateAtoms::add_lattice() xmax = ymax = zmax = -BIG; // convert to lattice coordinates and set bounding box + domain->lattice->bbox(1, bboxlo[0], bboxlo[1], bboxlo[2], xmin, ymin, zmin, xmax, ymax, zmax); domain->lattice->bbox(1, bboxhi[0], bboxlo[1], bboxlo[2], xmin, ymin, zmin, xmax, ymax, zmax); domain->lattice->bbox(1, bboxlo[0], bboxhi[1], bboxlo[2], xmin, ymin, zmin, xmax, ymax, zmax); @@ -996,8 +1008,8 @@ void CreateAtoms::loop_lattice(int action) if (mode == ATOM) { atom->avec->create_atom(basistype[m], x); } else { - gen_mol_coords(x); - create_mol(); + generate_molecule(x); + add_molecule(); } } else if (action == COUNT) { if (nlatt == MAXSMALLINT) nlatt_overflow = 1; @@ -1005,8 +1017,8 @@ void CreateAtoms::loop_lattice(int action) if (mode == ATOM) { atom->avec->create_atom(basistype[m], x); } else { - gen_mol_coords(x); - create_mol(); + generate_molecule(x); + add_molecule(); } } @@ -1023,21 +1035,11 @@ void CreateAtoms::loop_lattice(int action) result is stored in temp_mol_coords and onemol->quat_external ------------------------------------------------------------------------- */ -void CreateAtoms::gen_mol_coords(double *center) +void CreateAtoms::generate_molecule(double *center) { - double r[3], quat[4], rotmat[3][3]; - int randrot = 1; + double r[3], rotmat[3][3]; - if (quat_user) { - for (int i = 0; i < 4; i++) { - if (quat_user[i] != 0) { - randrot = 0; - break; - } - } - } - - if (randrot) { + if (!quat_user) { if (domain->dimension == 3) { r[0] = ranmol->uniform() - 0.5; r[1] = ranmol->uniform() - 0.5; @@ -1048,39 +1050,35 @@ void CreateAtoms::gen_mol_coords(double *center) r[2] = 1.0; } double theta = ranmol->uniform() * MY_2PI; - MathExtra::axisangle_to_quat(r, theta, quat); - - } else { - quat[0] = quat_user[0]; - quat[1] = quat_user[1]; - quat[2] = quat_user[2]; - quat[3] = quat_user[3]; + MathExtra::axisangle_to_quat(r, theta, quatone); } - onemol->quat_external = quat; - MathExtra::quat_to_mat(quat, rotmat); + MathExtra::quat_to_mat(quatone, rotmat); int natoms = onemol->natoms; for (int m = 0; m < natoms; m++) { - MathExtra::matvec(rotmat, onemol->dx[m], temp_mol_coords[m]); - MathExtra::add3(temp_mol_coords[m], center, temp_mol_coords[m]); + MathExtra::matvec(rotmat, onemol->dx[m], molecule_coords[m]); + MathExtra::add3(molecule_coords[m], center, molecule_coords[m]); } } /* ---------------------------------------------------------------------- - create a molecule from temp_mol_coords + add molecule to system + generated coords are in molecule_coords ------------------------------------------------------------------------- */ -void CreateAtoms::create_mol() +void CreateAtoms::add_molecule() { // create atoms in molecule with atom ID = 0 and mol ID = 0 // reset in caller after all molecules created by all procs // pass add_molecule_atom an offset of 0 since don't know // max tag of atoms in previous molecules at this point + onemol->quat_external = quatone; + int n, natoms = onemol->natoms; for (int m = 0; m < natoms; m++) { - atom->avec->create_atom(ntype+onemol->type[m], temp_mol_coords[m]); + atom->avec->create_atom(ntype+onemol->type[m], molecule_coords[m]); n = atom->nlocal - 1; atom->add_molecule_atom(onemol, m, n, 0); } diff --git a/src/create_atoms.h b/src/create_atoms.h index 8db1169b31..b7a0813a45 100644 --- a/src/create_atoms.h +++ b/src/create_atoms.h @@ -35,7 +35,7 @@ class CreateAtoms : public Command { int maxtry; int quat_user; int overlapflag; - double overlap_radius; + double overlap; int subsetflag; bigint nsubset; double subsetfrac; @@ -58,7 +58,7 @@ class CreateAtoms : public Command { class Molecule *onemol; class RanMars *ranmol; class RanMars *ranlatt; - double **temp_mol_coords; + double **molecule_coords; int triclinic; double sublo[3], subhi[3]; // epsilon-extended proc sub-box for adding atoms @@ -67,8 +67,8 @@ class CreateAtoms : public Command { void add_random(); void add_lattice(); void loop_lattice(int); - void gen_mol_coords(double *, double * = nullptr); - void create_mol(); + void generate_molecule(double *); + void add_molecule(); int vartest(double *); // evaluate a variable with new atom position }; From 6b47d6246b506b48df6d40a063c1ba46193b8258 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 4 May 2022 15:28:50 -0600 Subject: [PATCH 18/29] more changes and some debugging on a test script --- doc/src/create_atoms.rst | 31 +++++++++++++++++++++++++++++-- doc/src/img/overlap.png | Bin 0 -> 585460 bytes src/create_atoms.cpp | 23 ++++++++++++----------- 3 files changed, 41 insertions(+), 13 deletions(-) create mode 100644 doc/src/img/overlap.png diff --git a/doc/src/create_atoms.rst b/doc/src/create_atoms.rst index da301aa46f..bc2d3b69a5 100644 --- a/doc/src/create_atoms.rst +++ b/doc/src/create_atoms.rst @@ -345,10 +345,37 @@ new particles into a dense system using the *overlap* keyword), setting the *maxtry* keyword to a large value may result in this command running for a long time. +Here is an example for the *random* style using these commands + +.. code-block:: LAMMPS + +units lj +dimension 2 +region box block 0 50 0 50 -0.5 0.5 +create_box 1 box +create_atoms 1 random 2000 13487 NULL overlap 1.0 maxtry 50 +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +to produce a system as shown in the image with 1520 particles (out of +2000 requested) that are moderately dense and which have no overlaps +sufficient to prevent the LJ pair_style from running properly (because +the overlap criterion = 1.0). The create_atoms command ran for 0.3 s +on a single CPU core. + +.. image:: img/overlap.png + :scale: 50% + :align: center + +.. raw:: html + + Click on the image for a larger version. + The *units* keyword determines the meaning of the distance units used to specify the coordinates of the one particle created by the *single* -style. A *box* value selects standard distance units as defined by -the :doc:`units ` command, e.g. Angstroms for units = real or +style, or the overlap distance *Doverlap* by the *overlap* keyword. A +*box* value selects standard distance units as defined by the +:doc:`units ` command, e.g. Angstroms for units = real or metal. A *lattice* value means the distance units are in lattice spacings. diff --git a/doc/src/img/overlap.png b/doc/src/img/overlap.png new file mode 100644 index 0000000000000000000000000000000000000000..b10bf4b0835f6672c90e4f3647b7f9b1ec24881f GIT binary patch literal 585460 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

)Z=%xdgc6Kg$1 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 region->prematch(); iarg = 3; - ; } else if (strcmp(arg[1], "single") == 0) { style = SINGLE; if (narg < 5) error->all(FLERR, "Illegal create_atoms command"); @@ -231,13 +230,6 @@ void CreateAtoms::command(int narg, char **arg) subsetseed = utils::inumeric(FLERR, arg[iarg + 2], false, lmp); if (nsubset <= 0 || subsetseed <= 0) error->all(FLERR, "Illegal create_atoms command"); iarg += 3; - } else if (strcmp(arg[iarg], "maxtrr") == 0) { - if (style != RANDOM) - error->all(FLERR, "Create_atoms maxtry can only be used with random style"); - if (iarg + 2 > narg) error->all(FLERR, "Illegal create_atoms command"); - maxtry = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); - if (maxtry <= 0) error->all(FLERR,"Illegal create_atoms command"); - iarg += 2; } else if (strcmp(arg[iarg], "overlap") == 0) { if (style != RANDOM) error->all(FLERR, "Create_atoms overlap can only be used with random style"); @@ -246,6 +238,13 @@ void CreateAtoms::command(int narg, char **arg) if (overlap <= 0) error->all(FLERR, "Illegal create_atoms command"); overlapflag = 1; iarg += 2; + } else if (strcmp(arg[iarg], "maxtry") == 0) { + if (style != RANDOM) + error->all(FLERR, "Create_atoms maxtry can only be used with random style"); + if (iarg + 2 > narg) error->all(FLERR, "Illegal create_atoms command"); + maxtry = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); + if (maxtry <= 0) error->all(FLERR,"Illegal create_atoms command"); + iarg += 2; } else error->all(FLERR, "Illegal create_atoms command"); } @@ -324,6 +323,7 @@ void CreateAtoms::command(int narg, char **arg) xone[0] *= domain->lattice->xlattice; xone[1] *= domain->lattice->ylattice; xone[2] *= domain->lattice->zlattice; + overlap *= domain->lattice->xlattice; } // set bounds for my proc in sublo[3] & subhi[3] @@ -755,9 +755,9 @@ void CreateAtoms::add_random() if (mode == MOLECULE) generate_molecule(xone); - // check for overlap of new atom with all others - // including prior insertions - + // check for overlap of new atom with all others including prior insertions + // minimum_image() required to account for distances across PBC + if (overlapflag) { double **x = atom->x; int nlocal = atom->nlocal; @@ -768,6 +768,7 @@ void CreateAtoms::add_random() delx = xone[0] - x[i][0]; dely = xone[1] - x[i][1]; delz = xone[2] - x[i][2]; + domain->minimum_image(delx,dely,delz); distsq = delx*delx + dely*dely + delz*delz; if (distsq < odistsq) { reject = 1; From 24b94551a2a2bf6a2a4c7885ef621a1b52e4823e Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Thu, 5 May 2022 11:59:32 -0400 Subject: [PATCH 19/29] Update Kokkos AMD Makefiles --- src/MAKE/MACHINES/Makefile.crusher_kokkos | 7 +++++-- src/MAKE/MACHINES/Makefile.spock_kokkos | 7 +++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/MAKE/MACHINES/Makefile.crusher_kokkos b/src/MAKE/MACHINES/Makefile.crusher_kokkos index 7dc1447d4e..f3f6e02a0e 100644 --- a/src/MAKE/MACHINES/Makefile.crusher_kokkos +++ b/src/MAKE/MACHINES/Makefile.crusher_kokkos @@ -54,9 +54,12 @@ MPI_LIB = -L${MPICH_DIR}/lib -lmpi -L${CRAY_MPICH_ROOTDIR}/gtl/lib -lmpi_gtl_hsa # PATH = path for FFT library # LIB = name of FFT library -FFT_INC = +MY_HIP_EXE = $(shell which hipcc) +MY_HIP_PATH = $(dir ${MY_HIP_EXE}) + +FFT_INC = -DFFT_HIPFFT FFT_PATH = -FFT_LIB = +FFT_LIB = -L${MY_HIP_PATH}../lib -lhipfft # JPEG and/or PNG library # see discussion in Section 3.5.4 of manual diff --git a/src/MAKE/MACHINES/Makefile.spock_kokkos b/src/MAKE/MACHINES/Makefile.spock_kokkos index a85ebb3039..3c0dca4f95 100644 --- a/src/MAKE/MACHINES/Makefile.spock_kokkos +++ b/src/MAKE/MACHINES/Makefile.spock_kokkos @@ -54,9 +54,12 @@ MPI_LIB = -L${MPICH_DIR}/lib -lmpi -L${CRAY_MPICH_ROOTDIR}/gtl/lib -lmpi_gtl_hsa # PATH = path for FFT library # LIB = name of FFT library -FFT_INC = +MY_HIP_EXE = $(shell which hipcc) +MY_HIP_PATH = $(dir ${MY_HIP_EXE}) + +FFT_INC = -DFFT_HIPFFT FFT_PATH = -FFT_LIB = +FFT_LIB = -L${MY_HIP_PATH}../lib -lhipfft # JPEG and/or PNG library # see discussion in Section 3.5.4 of manual From 2c95f84accb58f9963ddece47efb64ee9a1ca182 Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Thu, 5 May 2022 12:17:00 -0400 Subject: [PATCH 20/29] Tweak error messages --- src/KOKKOS/fft3d_kokkos.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/KOKKOS/fft3d_kokkos.cpp b/src/KOKKOS/fft3d_kokkos.cpp index 82b1a19265..acaed71bd9 100644 --- a/src/KOKKOS/fft3d_kokkos.cpp +++ b/src/KOKKOS/fft3d_kokkos.cpp @@ -46,16 +46,16 @@ FFT3dKokkos::FFT3dKokkos(LAMMPS *lmp, MPI_Comm comm, int nfast, int #if defined(FFT_MKL) if (ngpus > 0 && execution_space == Device) - lmp->error->all(FLERR,"Cannot use the MKL library with Kokkos CUDA on GPUs"); + lmp->error->all(FLERR,"Cannot use the MKL library with Kokkos on GPUs"); #elif defined(FFT_FFTW3) if (ngpus > 0 && execution_space == Device) - lmp->error->all(FLERR,"Cannot use the FFTW library with Kokkos CUDA/HIP on GPUs"); + lmp->error->all(FLERR,"Cannot use the FFTW library with Kokkos on GPUs"); #elif defined(FFT_CUFFT) if (ngpus > 0 && execution_space == Host) - lmp->error->all(FLERR,"Cannot use the cuFFT library with Kokkos CUDA on the host CPUs"); + lmp->error->all(FLERR,"Cannot use the cuFFT library with Kokkos on the host CPUs"); #elif defined(FFT_HIPFFT) if (ngpus > 0 && execution_space == Host) - lmp->error->all(FLERR,"Cannot use the hipFFT library with Kokkos HIP on the host CPUs"); + lmp->error->all(FLERR,"Cannot use the hipFFT library with Kokkos on the host CPUs"); #elif defined(FFT_KISSFFT) // The compiler can't statically determine the stack size needed for From 3b9389e86c13928e47d3981cd0ba7e1ba30edf35 Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Thu, 5 May 2022 12:23:52 -0400 Subject: [PATCH 21/29] Update .gitignore --- src/.gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/src/.gitignore b/src/.gitignore index f4db0fc27a..decadd20ff 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -627,6 +627,7 @@ /ewald.h /ewald_cg.cpp /ewald_cg.h +/ewald_const.h /ewald_dipole.cpp /ewald_dipole.h /ewald_dipole_spin.cpp From 3b68c0ea24f5d104883f870ad60dac885cf43203 Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Thu, 5 May 2022 14:02:29 -0400 Subject: [PATCH 22/29] Update Makefile comment --- src/MAKE/MACHINES/Makefile.crusher_kokkos | 2 +- src/MAKE/MACHINES/Makefile.spock_kokkos | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/MAKE/MACHINES/Makefile.crusher_kokkos b/src/MAKE/MACHINES/Makefile.crusher_kokkos index f3f6e02a0e..5744f2d9bf 100644 --- a/src/MAKE/MACHINES/Makefile.crusher_kokkos +++ b/src/MAKE/MACHINES/Makefile.crusher_kokkos @@ -1,4 +1,4 @@ -# crusher_kokkos = KOKKOS/HIP, AMD MI250X GPU and AMD EPYC 7A53 "Optimized 3rd Gen EPYC" CPU, Cray MPICH, hipcc compiler +# crusher_kokkos = KOKKOS/HIP, AMD MI250X GPU and AMD EPYC 7A53 "Optimized 3rd Gen EPYC" CPU, Cray MPICH, hipcc compiler, hipFFT SHELL = /bin/sh diff --git a/src/MAKE/MACHINES/Makefile.spock_kokkos b/src/MAKE/MACHINES/Makefile.spock_kokkos index 3c0dca4f95..5771184287 100644 --- a/src/MAKE/MACHINES/Makefile.spock_kokkos +++ b/src/MAKE/MACHINES/Makefile.spock_kokkos @@ -1,4 +1,4 @@ -# spock_kokkos = KOKKOS/HIP, AMD MI100 GPU and AMD EPYC 7662 "Rome" CPU, Cray MPICH, hipcc compiler +# spock_kokkos = KOKKOS/HIP, AMD MI100 GPU and AMD EPYC 7662 "Rome" CPU, Cray MPICH, hipcc compiler, hipFFT SHELL = /bin/sh From 93c0f09c31d0f6b0a2cb4c395f509bdbd15c55eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eugen=20Ro=C5=BEi=C4=87?= Date: Thu, 5 May 2022 23:35:11 +0200 Subject: [PATCH 23/29] Logic fix in random-overlap and comment implemented --- src/create_atoms.cpp | 67 +++++++++++++++----------------------------- src/create_atoms.h | 1 - 2 files changed, 22 insertions(+), 46 deletions(-) diff --git a/src/create_atoms.cpp b/src/create_atoms.cpp index 77ea39a960..32cd6b6ebd 100644 --- a/src/create_atoms.cpp +++ b/src/create_atoms.cpp @@ -259,7 +259,7 @@ void CreateAtoms::command(int narg, char **arg) error->all(FLERR, "Create_atoms molecule must have coordinates"); if (onemol->typeflag == 0) error->all(FLERR, "Create_atoms molecule must have atom types"); - if (ntype+onemol->ntypes <= 0 || ntype+onemol->ntypes > atom->ntypes) + if (ntype + onemol->ntypes <= 0 || ntype + onemol->ntypes > atom->ntypes) error->all(FLERR, "Invalid atom type in create_atoms mol command"); if (onemol->tag_require && !atom->tag_enable) error->all(FLERR, "Create_atoms molecule has atom IDs, but system does not"); @@ -268,11 +268,9 @@ void CreateAtoms::command(int narg, char **arg) // use geometric center of molecule for insertion // molecule random number generator, different for each proc - // molecule_coords = memory for atom coords in the molecule onemol->compute_center(); ranmol = new RanMars(lmp, molseed + comm->me); - memory->create(molecule_coords, onemol->natoms, 3, "create_atoms:molecule_coords"); } ranlatt = nullptr; @@ -581,7 +579,6 @@ void CreateAtoms::command(int narg, char **arg) // clean up - if (mode == MOLECULE) memory->destroy(molecule_coords); delete ranmol; delete ranlatt; @@ -653,8 +650,7 @@ void CreateAtoms::add_single() if (mode == ATOM) { atom->avec->create_atom(ntype, xone); } else { - generate_molecule(xone); - add_molecule(); + add_molecule(xone); } } } @@ -753,8 +749,6 @@ void CreateAtoms::add_random() coord = xone; } - if (mode == MOLECULE) generate_molecule(xone); - // check for overlap of new atom with all others including prior insertions // minimum_image() required to account for distances across PBC @@ -764,16 +758,14 @@ void CreateAtoms::add_random() int reject = 0; for (int i = 0; i < nlocal; i++) { - if (mode == ATOM) { - delx = xone[0] - x[i][0]; - dely = xone[1] - x[i][1]; - delz = xone[2] - x[i][2]; - domain->minimum_image(delx,dely,delz); - distsq = delx*delx + dely*dely + delz*delz; - if (distsq < odistsq) { - reject = 1; - break; - } + delx = xone[0] - x[i][0]; + dely = xone[1] - x[i][1]; + delz = xone[2] - x[i][2]; + domain->minimum_image(delx, dely, delz); + distsq = delx*delx + dely*dely + delz*delz; + if (distsq < odistsq) { + reject = 1; + break; } } int reject_any; @@ -802,7 +794,7 @@ void CreateAtoms::add_random() if (mode == ATOM) { atom->avec->create_atom(ntype, xone); } else { - add_molecule(); + add_molecule(xone); } } } @@ -810,7 +802,7 @@ void CreateAtoms::add_random() // warn if did not successfully insert Nrandom atoms/molecules if (ninsert < nrandom && comm->me == 0) - error->warning(FLERR,"Only inserted {} particles out of {}",ninsert,nrandom); + error->warning(FLERR, "Only inserted {} particles out of {}", ninsert, nrandom); // clean-up @@ -1009,8 +1001,7 @@ void CreateAtoms::loop_lattice(int action) if (mode == ATOM) { atom->avec->create_atom(basistype[m], x); } else { - generate_molecule(x); - add_molecule(); + add_molecule(x); } } else if (action == COUNT) { if (nlatt == MAXSMALLINT) nlatt_overflow = 1; @@ -1018,8 +1009,7 @@ void CreateAtoms::loop_lattice(int action) if (mode == ATOM) { atom->avec->create_atom(basistype[m], x); } else { - generate_molecule(x); - add_molecule(); + add_molecule(x); } } @@ -1031,12 +1021,11 @@ void CreateAtoms::loop_lattice(int action) } /* ---------------------------------------------------------------------- - generate molecule atom coordinates for a given center and rotation - if quat_user set use it, else generate a random quaternion - result is stored in temp_mol_coords and onemol->quat_external + add a molecule with its center at center + if quat_user set use quatone, else generate a random quaternion ------------------------------------------------------------------------- */ -void CreateAtoms::generate_molecule(double *center) +void CreateAtoms::add_molecule(double *center) { double r[3], rotmat[3][3]; @@ -1055,31 +1044,19 @@ void CreateAtoms::generate_molecule(double *center) } MathExtra::quat_to_mat(quatone, rotmat); + onemol->quat_external = quatone; - int natoms = onemol->natoms; - for (int m = 0; m < natoms; m++) { - MathExtra::matvec(rotmat, onemol->dx[m], molecule_coords[m]); - MathExtra::add3(molecule_coords[m], center, molecule_coords[m]); - } -} - -/* ---------------------------------------------------------------------- - add molecule to system - generated coords are in molecule_coords -------------------------------------------------------------------------- */ - -void CreateAtoms::add_molecule() -{ // create atoms in molecule with atom ID = 0 and mol ID = 0 // reset in caller after all molecules created by all procs // pass add_molecule_atom an offset of 0 since don't know // max tag of atoms in previous molecules at this point - onemol->quat_external = quatone; - int n, natoms = onemol->natoms; + double xnew[3]; for (int m = 0; m < natoms; m++) { - atom->avec->create_atom(ntype+onemol->type[m], molecule_coords[m]); + MathExtra::matvec(rotmat, onemol->dx[m], xnew); + MathExtra::add3(xnew, center, xnew); + atom->avec->create_atom(ntype + onemol->type[m], xnew); n = atom->nlocal - 1; atom->add_molecule_atom(onemol, m, n, 0); } diff --git a/src/create_atoms.h b/src/create_atoms.h index b7a0813a45..2da73e6ba7 100644 --- a/src/create_atoms.h +++ b/src/create_atoms.h @@ -58,7 +58,6 @@ class CreateAtoms : public Command { class Molecule *onemol; class RanMars *ranmol; class RanMars *ranlatt; - double **molecule_coords; int triclinic; double sublo[3], subhi[3]; // epsilon-extended proc sub-box for adding atoms From 7071f819d049fae4ed4cee4060899cef47cdfb2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eugen=20Ro=C5=BEi=C4=87?= Date: Thu, 5 May 2022 23:53:14 +0200 Subject: [PATCH 24/29] Header fix (add_molecule) --- src/create_atoms.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/create_atoms.h b/src/create_atoms.h index 2da73e6ba7..ba2ce7cbed 100644 --- a/src/create_atoms.h +++ b/src/create_atoms.h @@ -66,8 +66,7 @@ class CreateAtoms : public Command { void add_random(); void add_lattice(); void loop_lattice(int); - void generate_molecule(double *); - void add_molecule(); + void add_molecule(double *); int vartest(double *); // evaluate a variable with new atom position }; From 484a7c5db03ff4a4e85e9b7cfe2f26482221b7f0 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Thu, 5 May 2022 16:22:19 -0600 Subject: [PATCH 25/29] tweaked comments --- src/create_atoms.cpp | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/create_atoms.cpp b/src/create_atoms.cpp index 32cd6b6ebd..a3eb9a4f13 100644 --- a/src/create_atoms.cpp +++ b/src/create_atoms.cpp @@ -749,8 +749,11 @@ void CreateAtoms::add_random() coord = xone; } - // check for overlap of new atom with all others including prior insertions - // minimum_image() required to account for distances across PBC + // check for overlap of new atom/mol with all other atoms + // including prior insertions + // minimum_image() needed to account for distances across PBC + // new molecule only checks its center pt against others + // odistsq is expanded for mode=MOLECULE to account for molecule size if (overlapflag) { double **x = atom->x; @@ -1022,13 +1025,15 @@ void CreateAtoms::loop_lattice(int action) /* ---------------------------------------------------------------------- add a molecule with its center at center - if quat_user set use quatone, else generate a random quaternion ------------------------------------------------------------------------- */ void CreateAtoms::add_molecule(double *center) { double r[3], rotmat[3][3]; + // use quatone as-is if user set it + // else generate random quaternion in quatone + if (!quat_user) { if (domain->dimension == 3) { r[0] = ranmol->uniform() - 0.5; @@ -1044,12 +1049,14 @@ void CreateAtoms::add_molecule(double *center) } MathExtra::quat_to_mat(quatone, rotmat); - onemol->quat_external = quatone; // create atoms in molecule with atom ID = 0 and mol ID = 0 - // reset in caller after all molecules created by all procs + // IDs are reset in caller after all molecules created by all procs // pass add_molecule_atom an offset of 0 since don't know - // max tag of atoms in previous molecules at this point + // max tag of atoms in previous molecules at this point + // onemol->quat_external is used by atom->add_moleclue_atom() + + onemol->quat_external = quatone; int n, natoms = onemol->natoms; double xnew[3]; From ae230a33f508223e5b2851f9ab7695923e59b7a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eugen=20Ro=C5=BEi=C4=87?= Date: Fri, 6 May 2022 01:47:45 +0200 Subject: [PATCH 26/29] Bug fix (user_quat initial value not set) --- src/create_atoms.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/create_atoms.cpp b/src/create_atoms.cpp index 32cd6b6ebd..0deb9edeb1 100644 --- a/src/create_atoms.cpp +++ b/src/create_atoms.cpp @@ -132,6 +132,7 @@ void CreateAtoms::command(int narg, char **arg) ranmol = nullptr; varflag = 0; vstr = xstr = ystr = zstr = nullptr; + quat_user = 0; quatone[0] = quatone[1] = quatone[2] = quatone[3] = 0.0; subsetflag = NONE; int subsetseed; From 8dbfc0799c7fa55b2eeca63440a8b9f41b40dbb6 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 5 May 2022 20:15:36 -0400 Subject: [PATCH 27/29] whitespace --- doc/src/create_atoms.rst | 12 ++++++------ src/create_atoms.cpp | 18 +++++++++--------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/doc/src/create_atoms.rst b/doc/src/create_atoms.rst index bc2d3b69a5..a9fc25bfd2 100644 --- a/doc/src/create_atoms.rst +++ b/doc/src/create_atoms.rst @@ -349,13 +349,13 @@ Here is an example for the *random* style using these commands .. code-block:: LAMMPS -units lj +units lj dimension 2 -region box block 0 50 0 50 -0.5 0.5 -create_box 1 box -create_atoms 1 random 2000 13487 NULL overlap 1.0 maxtry 50 -pair_style lj/cut 2.5 -pair_coeff 1 1 1.0 1.0 2.5 +region box block 0 50 0 50 -0.5 0.5 +create_box 1 box +create_atoms 1 random 2000 13487 NULL overlap 1.0 maxtry 50 +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 to produce a system as shown in the image with 1520 particles (out of 2000 requested) that are moderately dense and which have no overlaps diff --git a/src/create_atoms.cpp b/src/create_atoms.cpp index 7cb98503f2..191f9cb407 100644 --- a/src/create_atoms.cpp +++ b/src/create_atoms.cpp @@ -232,7 +232,7 @@ void CreateAtoms::command(int narg, char **arg) if (nsubset <= 0 || subsetseed <= 0) error->all(FLERR, "Illegal create_atoms command"); iarg += 3; } else if (strcmp(arg[iarg], "overlap") == 0) { - if (style != RANDOM) + if (style != RANDOM) error->all(FLERR, "Create_atoms overlap can only be used with random style"); if (iarg + 2 > narg) error->all(FLERR, "Illegal create_atoms command"); overlap = utils::numeric(FLERR, arg[iarg + 1], false, lmp); @@ -240,7 +240,7 @@ void CreateAtoms::command(int narg, char **arg) overlapflag = 1; iarg += 2; } else if (strcmp(arg[iarg], "maxtry") == 0) { - if (style != RANDOM) + if (style != RANDOM) error->all(FLERR, "Create_atoms maxtry can only be used with random style"); if (iarg + 2 > narg) error->all(FLERR, "Illegal create_atoms command"); maxtry = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); @@ -720,7 +720,7 @@ void CreateAtoms::add_random() int ntry,success; int ninsert = 0; - + for (int i = 0; i < nrandom; i++) { // attempt to insert an atom/molecule up to maxtry times @@ -750,7 +750,7 @@ void CreateAtoms::add_random() coord = xone; } - // check for overlap of new atom/mol with all other atoms + // check for overlap of new atom/mol with all other atoms // including prior insertions // minimum_image() needed to account for distances across PBC // new molecule only checks its center pt against others @@ -807,7 +807,7 @@ void CreateAtoms::add_random() if (ninsert < nrandom && comm->me == 0) error->warning(FLERR, "Only inserted {} particles out of {}", ninsert, nrandom); - + // clean-up delete random; @@ -972,19 +972,19 @@ void CreateAtoms::loop_lattice(int action) x[2] = k + basis[m][2]; // convert from lattice coords to box coords - + domain->lattice->lattice2box(x[0], x[1], x[2]); - + // if a region was specified, test if atom is in it if (style == REGION) if (!region->match(x[0], x[1], x[2])) continue; // if variable test specified, eval variable - + if (varflag && vartest(x) == 0) continue; - + // test if atom/molecule position is in my subbox if (triclinic) { From 8ed401ce1208003e0cb54de64129cd173ec728df Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 5 May 2022 21:34:31 -0400 Subject: [PATCH 28/29] spelling --- doc/src/create_atoms.rst | 2 +- doc/utils/sphinx-config/false_positives.txt | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/doc/src/create_atoms.rst b/doc/src/create_atoms.rst index a9fc25bfd2..cce577f224 100644 --- a/doc/src/create_atoms.rst +++ b/doc/src/create_atoms.rst @@ -130,7 +130,7 @@ Various additional criteria can be used to accept or reject a random particle insertion; see the keyword discussion below. Multiple attempts per particle are made (see the *maxtry* keyword) until the insertion is either successful or fails. If this command fails to add -all requsted *N* particles, a warning will be output. +all requested *N* particles, a warning will be output. If the *region-ID* argument is specified as NULL, then the randomly created particles will be anywhere in the simulation box. If a diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index bdebbb65a9..a1db9502fc 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -1326,6 +1326,7 @@ hiID Hijazi Hilger Hinestrosa +hipFFT histo histogrammed histogramming @@ -1951,6 +1952,7 @@ maxsize maxspecial maxSteps maxstrain +maxtry maxwell Maxwellian maxX @@ -2951,6 +2953,7 @@ rnage rng rNEMD ro +rocFFT Rochus Rockett rocksalt From 7601a5c0fbf04c29bef86f65c574f5d3c6320444 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 5 May 2022 21:34:42 -0400 Subject: [PATCH 29/29] correct/improve formatting --- doc/src/create_atoms.rst | 82 +++++++++++++++++++++------------------- 1 file changed, 44 insertions(+), 38 deletions(-) diff --git a/doc/src/create_atoms.rst b/doc/src/create_atoms.rst index cce577f224..84d176c38f 100644 --- a/doc/src/create_atoms.rst +++ b/doc/src/create_atoms.rst @@ -155,18 +155,18 @@ compute huge energies and forces, leading to bad dynamics. There are several strategies to avoid this problem: * Use the :doc:`delete_atoms overlap ` command after -create_atoms. For example, this strategy can be used to overlay and -surround a large protein molecule with a volume of water molecules, -then delete water molecules that overlap with the protein atoms. + create_atoms. For example, this strategy can be used to overlay and + surround a large protein molecule with a volume of water molecules, + then delete water molecules that overlap with the protein atoms. * For the *random* style, use the optional *overlap* keyword to avoid -overlaps when each new particle is created. + overlaps when each new particle is created. * Before running dynamics on an overlapped system, perform an -:doc:`energy minimization `. Or run initial dynamics with -:doc:`pair_style soft ` or with :doc:`fix nve/limit -` to un-overlap the particles, before running normal -dynamics. + :doc:`energy minimization `. Or run initial dynamics with + :doc:`pair_style soft ` or with :doc:`fix nve/limit + ` to un-overlap the particles, before running normal + dynamics. .. note:: @@ -268,6 +268,11 @@ directly. The *set* keyword is used to identify the names of these other variables, one variable for the x-coordinate of a created atom, one for y, and one for z. +.. figure:: img/sinusoid.jpg + :figwidth: 50% + :align: right + :target: _images/sinusoid.jpg + When an atom is created, its x,y,z coordinates become the values for any *set* variable that is defined. The *var* variable is then evaluated. If the returned value is 0.0, the atom is not created. If @@ -281,28 +286,26 @@ the sinusoid would appear to be "smoother". Also note the use of the "xlat" and "ylat" :doc:`thermo_style ` keywords which converts lattice spacings to distance. +.. only:: html + + (Click on the image for a larger version) + .. code-block:: LAMMPS - dimension 2 - variable x equal 100 - variable y equal 25 - lattice hex 0.8442 - region box block 0 $x 0 $y -0.5 0.5 - create_box 1 box + dimension 2 + variable x equal 100 + variable y equal 25 + lattice hex 0.8442 + region box block 0 $x 0 $y -0.5 0.5 + create_box 1 box - variable xx internal 0.0 - variable yy internal 0.0 - variable v equal "(0.2*v_y*ylat * cos(v_xx/xlat * 2.0*PI*4.0/v_x) + 0.5*v_y*ylat - v_yy) > 0.0" - create_atoms 1 box var v set x xx set y yy - write_dump all atom sinusoid.lammpstrj + variable xx internal 0.0 + variable yy internal 0.0 + variable v equal "(0.2*v_y*ylat * cos(v_xx/xlat * 2.0*PI*4.0/v_x) + 0.5*v_y*ylat - v_yy) > 0.0" + create_atoms 1 box var v set x xx set y yy + write_dump all atom sinusoid.lammpstrj -.. image:: img/sinusoid.jpg - :scale: 50% - :align: center - -.. raw:: html - - Click on the image for a larger version. +----- The *rotate* keyword allows specification of the orientation at which molecules are inserted. The axis of rotation is @@ -345,17 +348,22 @@ new particles into a dense system using the *overlap* keyword), setting the *maxtry* keyword to a large value may result in this command running for a long time. +.. figure:: img/overlap.png + :figwidth: 30% + :align: right + :target: _images/overlap.png + Here is an example for the *random* style using these commands .. code-block:: LAMMPS -units lj -dimension 2 -region box block 0 50 0 50 -0.5 0.5 -create_box 1 box -create_atoms 1 random 2000 13487 NULL overlap 1.0 maxtry 50 -pair_style lj/cut 2.5 -pair_coeff 1 1 1.0 1.0 2.5 + units lj + dimension 2 + region box block 0 50 0 50 -0.5 0.5 + create_box 1 box + create_atoms 1 random 2000 13487 NULL overlap 1.0 maxtry 50 + pair_style lj/cut 2.5 + pair_coeff 1 1 1.0 1.0 2.5 to produce a system as shown in the image with 1520 particles (out of 2000 requested) that are moderately dense and which have no overlaps @@ -363,13 +371,11 @@ sufficient to prevent the LJ pair_style from running properly (because the overlap criterion = 1.0). The create_atoms command ran for 0.3 s on a single CPU core. -.. image:: img/overlap.png - :scale: 50% - :align: center +.. only:: html -.. raw:: html + (Click on the image for a larger version) - Click on the image for a larger version. +----- The *units* keyword determines the meaning of the distance units used to specify the coordinates of the one particle created by the *single*