Minor updates and documentation
This commit is contained in:
@ -84,13 +84,15 @@ information is available, then also a heuristic based on that bond length
|
||||
is computed. It is used as communication cutoff, if there is no pair
|
||||
style present and no *comm_modify cutoff* command used. Otherwise a
|
||||
warning is printed, if this bond based estimate is larger than the
|
||||
communication cutoff used. A
|
||||
communication cutoff used.
|
||||
|
||||
The *cutoff/multi* option is equivalent to *cutoff*\ , but applies to
|
||||
communication mode *multi* instead. Since in this case the communication
|
||||
cutoffs are determined per atom type, a type specifier is needed and
|
||||
cutoff for one or multiple types can be extended. Also ranges of types
|
||||
using the usual asterisk notation can be given.
|
||||
using the usual asterisk notation can be given. For granular pairstyles,
|
||||
the default cutoff is set to the sum of the current maximum atomic radii
|
||||
for each type.
|
||||
|
||||
These are simulation scenarios in which it may be useful or even
|
||||
necessary to set a ghost cutoff > neighbor cutoff:
|
||||
|
||||
@ -11,9 +11,7 @@
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include <string.h>
|
||||
#include "npair_half_size_multi_newtoff.h"
|
||||
#include "neighbor.h"
|
||||
#include "neigh_list.h"
|
||||
#include "atom.h"
|
||||
#include "atom_vec.h"
|
||||
@ -27,6 +25,7 @@ using namespace LAMMPS_NS;
|
||||
NPairHalfSizeMultiNewtoff::NPairHalfSizeMultiNewtoff(LAMMPS *lmp) : NPair(lmp) {}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
size particles
|
||||
binned neighbor list construction with partial Newton's 3rd law
|
||||
each owned atom i checks own bin and other bins in stencil
|
||||
multi-type stencil is itype dependent and is distance checked
|
||||
@ -46,7 +45,6 @@ void NPairHalfSizeMultiNewtoff::build(NeighList *list)
|
||||
double *radius = atom->radius;
|
||||
int *type = atom->type;
|
||||
int *mask = atom->mask;
|
||||
tagint *tag = atom->tag;
|
||||
tagint *molecule = atom->molecule;
|
||||
int nlocal = atom->nlocal;
|
||||
if (includegroup) nlocal = atom->nfirst;
|
||||
|
||||
@ -40,4 +40,7 @@ class NPairHalfSizeMultiNewtoff : public NPair {
|
||||
|
||||
/* ERROR/WARNING messages:
|
||||
|
||||
E: Neighbor list overflow, boost neigh_modify one
|
||||
|
||||
UNDOCUMENTED
|
||||
*/
|
||||
|
||||
@ -11,9 +11,7 @@
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include <string.h>
|
||||
#include "npair_half_size_multi_newton.h"
|
||||
#include "neighbor.h"
|
||||
#include "neigh_list.h"
|
||||
#include "atom.h"
|
||||
#include "atom_vec.h"
|
||||
@ -27,6 +25,7 @@ using namespace LAMMPS_NS;
|
||||
NPairHalfSizeMultiNewton::NPairHalfSizeMultiNewton(LAMMPS *lmp) : NPair(lmp) {}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
size particles
|
||||
binned neighbor list construction with full Newton's 3rd law
|
||||
each owned atom i checks its own bin and other bins in Newton stencil
|
||||
multi-type stencil is itype dependent and is distance checked
|
||||
@ -45,7 +44,6 @@ void NPairHalfSizeMultiNewton::build(NeighList *list)
|
||||
double *radius = atom->radius;
|
||||
int *type = atom->type;
|
||||
int *mask = atom->mask;
|
||||
tagint *tag = atom->tag;
|
||||
tagint *molecule = atom->molecule;
|
||||
int nlocal = atom->nlocal;
|
||||
if (includegroup) nlocal = atom->nfirst;
|
||||
|
||||
@ -40,4 +40,7 @@ class NPairHalfSizeMultiNewton : public NPair {
|
||||
|
||||
/* ERROR/WARNING messages:
|
||||
|
||||
E: Neighbor list overflow, boost neigh_modify one
|
||||
|
||||
UNDOCUMENTED
|
||||
*/
|
||||
|
||||
@ -45,7 +45,6 @@ void NPairHalfSizeMultiNewtonTri::build(NeighList *list)
|
||||
double *radius = atom->radius;
|
||||
int *type = atom->type;
|
||||
int *mask = atom->mask;
|
||||
tagint *tag = atom->tag;
|
||||
tagint *molecule = atom->molecule;
|
||||
int nlocal = atom->nlocal;
|
||||
if (includegroup) nlocal = atom->nfirst;
|
||||
@ -72,7 +71,9 @@ void NPairHalfSizeMultiNewtonTri::build(NeighList *list)
|
||||
radi = radius[i];
|
||||
|
||||
|
||||
// loop over all atoms in bins in stencil
|
||||
// loop over all atoms in bins, including self, in stencil
|
||||
// skip if i,j neighbor cutoff is less than bin distance
|
||||
// bins below self are excluded from stencil
|
||||
// pairs for atoms j "below" i are excluded
|
||||
// below = lower z or (equal z and lower y) or (equal zy and lower x)
|
||||
// (equal zyx and j <= i)
|
||||
|
||||
@ -40,4 +40,7 @@ class NPairHalfSizeMultiNewtonTri : public NPair {
|
||||
|
||||
/* ERROR/WARNING messages:
|
||||
|
||||
E: Neighbor list overflow, boost neigh_modify one
|
||||
|
||||
UNDOCUMENTED
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user