[gmx-users] Is it normal for mdrun to go very slow when a large number of 'energygrps' & user-defined potentials are used? (This re-post is easier to read)

Musselman, Eli D eli-musselman at uiowa.edu
Wed Nov 12 19:21:17 CET 2008


Dear GROMACS users,

I am hoping to get  some information from you experts regarding the use of user-defined potentials (table*.xvg).
With the help of the GROMACS manual and several posts in the mailing list, I have been able to make user-defined
potential functions that I would like to apply to a system of small molecules (16 atoms each, ~100 molecules).
The crux of the problem (see below) is that I would like to apply **separate** user-defined potentials for
*intra* and *inter* molecular interactions **in a computationally efficient way**.
The molecule I'm simulating (in united-atom representation) is:

C1 - O1 - C - C - O2 - C2

and I want:

(1) a user defined potential applied between C1 and C2 on the same molecule
(2) a different user defined potential between C2 and O1 (&  C1 and O2) on the same molecule
(3) a normal gromacs table potential applied between C1 and C2 on *different* molecules
(4) a normal gromacs table potential applied between C2 and O1 (also C1 and O2) on *different* molecules

I can do this by defining a large number of 'energygrps'; specifically I need 4 different 'energygrps' for
each molecule (i.e. separate ones for  'C1', 'C2', 'O1', & 'O2', with all other atoms lumped into a single 'energygrp' for all molecules).
Because my simulation system currently contains 91 molecules this results in 365 'energygrps' in the *.mdp file.
Since this is a lot of 'energygrps' I redimensioned the gromacs arrays in order to handle it as noted previously in the mailing list:

http://www.gromacs.org/pipermail/gmx-users/2007-October/030084.html

This works great but **here's the problem** : the simulations run exceedingly slow when I use such a high
number of defined 'energygrps'.  Without using the user defined potential functions I was getting roughly
25 ns/day (which, as always with GROMACS, is amazingly fast!).   With the applied potential functions and
'energygrps' however I am only getting  1.5 ns/day.  I thought one problem might be the number of times
that 'mdrun' spends writing to the energy (.edr) file, but I have ruled this out as a possibility because
when I increased my 'nstenergy' in my *.mdp file by 100 fold 'mdrun' still runs at the same slow rate.
The slowdown therefore appears to be directly related to the number of 'energygrps.'. To confirm this,
I decreased the number of 'energygrps' to 3 (by lumping all 'C1' and 'C2' atoms together into one 'energygrp'
and all 'O1' and 'O2' atoms into another 'energygrp') and this accelerated  the simulations dramatically; however,
the same user defined potential functions are then applied to both **intra** and **inter**molecular interactions,
which is not what I want!

If anyone has any suggestions for speeding up the simulations I'd really appreciate hearing from you!
Thanks in advance for your help. Any and all comments are appreciated :)

Eli Musselman



More information about the gromacs.org_gmx-users mailing list