Notebook on particle simulations

I think that if you are willing to try any of the packages we developed, or any other package, the developers will be happy to help. Just let us know :slight_smile: .

I also can not infer any conclusive results from those benchmarks. It seems VV is indeed the most practical choice in most cases.

Thank you @lmiq. I will take it into a consideration.

A small typo: ā€œā€¦Progapating uncertainties in more general scenarios requires the definition of other propagation rulesā€¦ā€

1 Like

Thank you for the reference on pseudo-Verlet list.
Iā€™ll need to investigate how different strategies of distance check reduction fare against each other.

Thanks! fixed now.

Tested here with different cutoff/cell size ratios (the density in the example is about the atomic density of liquid water at room temperature):

With lcell=1 (i. e. cell side = cutoff):

NAMD:

real    1m21,954s
user    9m42,817s
sys     0m1,628s

CellListMap:

real    1m33,974s
user    8m26,930s
sys     0m2,114s

lcell=2 (cell side = cutoff/2):

real    1m15,512s
user    6m25,418s
sys     0m2,531s

lcell=3 (cell side= cutoff/3):

real    1m46,958s
user    9m24,130s
sys     0m2,930s

Thus lcell=2 seems to be the optimal choice for this system density, which is the typical density of MD simulations. (I will make the default choice automatically set an optimal parameter at some point).

Yes, but it would depend on the cutoff distance as well. Iā€™d assume you tested with r_{cut} \approx 2.5\sigma, but one may want to e.g. calculate RDFs up to a much larger cutoff radius. I have a suspicion that a quasi-optimal choice is to strive for a certain average number of particles per cell. There are other things as well, like is it beneficial to build neighbor lists or use cell lists directly. Of course youā€™d like neighbor lists for MD itself, but they may be worthwhile for post-processing as well if thereā€™s a pipeline with many properties requiring the same cutoff radius.

1 Like

That test uses cutoff=12 Angs, which Is what I typically use in my simulations.

Yes, for actual MD that is important. I have in mind the possibility of something intermediate, which would be tracking the particle displacements and updating the cell lists only for the particles that moved more than the accepted margin. I think that is feasible and maybe be useful for other type of applications than MD (like analysis or optimization, which is where Iā€™m mostly focused).