Neighbour information in output

Hi!

I am slightly confused about the "Total # of neighbors" and "Ave neighs/atom"
outputs. As per the 'Run_output' documentation page, they "give(s) aggregate
statistics (across all processors) for pair-wise neighbors".

But when I make a simple two-dimensional hexagonal lattice, which has 6
neighbours within the cut-off of every atom, the output tells me that there
are only 3.

I am attaching a script that shows this.

Am I doing something wrong? Or maybe interpretting the information
incorrectly?

I'm using the latest patch version: 7 Aug 2019.

Thanks!
Vishnu

in.neighs (862 Bytes)

Hi!

I am slightly confused about the “Total # of neighbors” and “Ave neighs/atom”
outputs. As per the ‘Run_output’ documentation page, they “give(s) aggregate
statistics (across all processors) for pair-wise neighbors”.

But when I make a simple two-dimensional hexagonal lattice, which has 6
neighbours within the cut-off of every atom, the output tells me that there
are only 3.

this is a correct output for pair style lj/cut. this pair style applies newton’s 3rd law for all local pairs to save half time of computation and thus requests a “half” neighbor list as can be seen from the output before the run is started:

Neighbor list info …
update every 1 steps, delay 4 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 1.8
ghost atom cutoff = 1.8
binsize = 0.9, bins = 12 11 1
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton
stencil: half/bin/2d/newton
bin: standard

for a “half” neighbor list each pair is listed only once and LAMMPS tries to balance those neighbors across different atoms, thus with a perfect geometry you will get exactly 3 neighbors per atom.

I am attaching a script that shows this.

Am I doing something wrong? Or maybe interpretting the information
incorrectly?

the latter.

axel.

1 Like