Reducing neighbour list size

Hi all,

I am currently trying to figure out how to reduce how many atoms are checked in my neighbour list generation to try and speed up my code.
My system consists of linear polymers chains that experience no pairwise potential. Non-bonded interactions are governed by a separate in-house kspace class that does require neighbour lists.

Currently, I am using pair_style zero 0.5 with a skin of 2.5 (neighbor 2.5 bin) in order to avoid receiving a lost bond error (e.g., Bond atoms 7778 7779 missing on proc 2 at step 27). However, I am guessing there is a more efficient method than this. Is there a way to build neighbour lists that only contain the immediately bonded atoms? If so, would this even be a good idea?

Alternatively, in the LAMMPS documentation about comm_modify, a similar type of system (a single polymer chain with bond interactions, but no pairwise interactions) benefits from having a larger ghost cutoff than the corresponding neighbor cutoff (stated as 0.0 in the example; I assume it uses pair_style none). After reading the mailing list, I believe an alternative solution would be to use pair_style none with a comm_modify that has a cutoff that covers the maximum distance between bonded particles (cutoff 3).

How does this possible combination differ from what I am doing with pair_style zero 0.5 and neighbor 2.5 bin in terms of checks and construction of what is sent between processors, aside from not constructing a neighbour list? Would this be a faster method?

Thanks in advance,