[gmx-users] Is it normal for mdrun to go very slow when a large number of 'energygrps' & user-defined potentials are used?

Musselman, Eli D eli-musselman at uiowa.edu
Wed Nov 12 19:01:11 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:


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://maillist.sys.kth.se/pipermail/gromacs.org_gmx-users/attachments/20081112/ad01a2e1/attachment.html>

More information about the gromacs.org_gmx-users mailing list