grompp running out of memory when excluded bonded neighbours is large
Want to be able to exclude intramolecular contributions to RDFs for long linear molecules (38 united atoms long). When run grompp to exclude all atoms (nrexcl=37) within a molecule, memory gets used up and grompp is killed.
System comprises of 60 linear molecules containing 38 united atoms, with water and couple of toluene. Total atoms 64,875
Command using: gmx grompp -f md -c md_0 -t md_0 -p topol -o md_1
Attached tar includes .mdp .itp .top .gro .trr and ff files to enable generation of the tpr
C12E8.itp file currently has exclusion set to 37, which it runs out of memory with (36GB available).
My question to the emailing list about this: https://mailman-1.sys.kth.se/pipermail/gromacs.org_gmx-users/2017-September/116102.html
Fix complexity for large exclusion orders
To avoid exploding computational complexity
for highly connected molecules with large
values for excluded neighbors, avoid
adding a neighbor to the temporary nnb
structure if it is already present as a
#2 Updated by Erik Lindahl about 2 years ago
It seems like the algorithm we use to find all bonded neighbors up to N bonds away in do_gen() in gpp_nextnb.cpp behaves very badly for highly connected molecules. In this case we probably end up calculating something with close to N-faculty complexity...