When building neighbor lists, a cell lists will be built in bin style. It’s safe to set the neigh skin distance as Rs_new = box / floor(box/(Rcut+Rs_old)) - Rcut. This setting is more efficient, especially when simulation is huge or a large cutoff is used.
First, I don’t know what these quantities are in your formula:
box, Rs_old, Rs_new. I presume Rcut is the potential cutoff?
Second, not clear if you are asking a question. With the
neighbor command, you can set the skin distance to
whatever you choose. If you think that formula is
best, then use that value.
Steve
First, I don't know what these quantities are in your formula:
box, Rs_old, Rs_new. I presume Rcut is the potential cutoff?Second, not clear if you are asking a question. With the
neighbor command, you can set the skin distance to
whatever you choose. If you think that formula is
best, then use that value.
furthermore, there are more parameters than the neighborlist skin
distance, that affect performance.
- the choice of "every", "delay" and "check". check yes, can help reducing
the number of neighbor list builds, but the check itself costs time, too.
so you need to find a good balance between the value for every and the
skin. when skin is small, every must be 1. so you save time on one side and
lose time elsewhere.
- when using long-range coulomb, also the choice of (coulomb) cutoff has an
impact. as a larger cutoff may reduce the time spent in Kspace, and since
Kspace doesn't parallelize as well as Pair. add to that, that for in-node
parallelization, you can choose between MPI and OpenMP, finding the perfect
setting is practically impossible due to too many degrees of freedom that
are not independent.
axel.