[gmx-users] Break down of total energy

Mark Abraham mark.abraham at anu.edu.au
Sat May 22 02:26:01 CEST 2010


----- Original Message -----
From: Moeed <lecielll at googlemail.com>
Date: Saturday, May 22, 2010 4:51
Subject: [gmx-users] Break down of total energy
To: gmx-users at gromacs.org

> Hello Justin,
> 
> As for exclusions, in the manual I see 1-4 interactions refer to carbon atoms on the backbone. I do not know if it makes sense if I enter a number more than 5 (hexane has only 6 carbons), However, I did so and I changed nrexcl from default value of 3 to 19 ( to exlude all interactions between all C and H atoms!) but I got the following message after grompp em step:

nrexcl works differently from your assumption. Read the example in 5.7.1

> checking input for internal consistency...
> Opening library file /chem_soft/gromacs/share/gromacs/top/ffoplsaa.itp
> Opening library file /chem_soft/gromacs/share/gromacs/top/ffoplsaanb.itp
> Opening library file /chem_soft/gromacs/share/gromacs/top/ffoplsaabon.itp
> 
Generated 332520 of the 332520 non-bonded parameter combinations
> Generating 1-4 interactions: fudge = 0.5
> Generated 332520 of the 332520 1-4 parameter combinations
> Excluding 19 bonded neighbours molecule type 'Hexane'

See above. You don't want 19 bonded neighbours excluded.

> 
> -------------------------------------------------------
> Program grompp, VERSION 4.0.7
> Source code file: smalloc.c, line: 147
> 
> Fatal error:
> Not enough memory. Failed to calloc 78089438 elements of size 8 for s
> 
(called from file topexcl.c, line 161)
> -------------------------------------------------------

Yep. The memory requirements of a naive implementation suitable for normal cases of excluded bonded neighbours grows rapidly. Your case is normal enough if you do it right, however.

> I also tried another approach (although I am almost sure this is not the proper way of excluding ALL interactions as in this way I think I am excluding atom 1 and all other atoms only!) and added exclusions directive as you see below in top file

Like I've suggested previously, read 5.4. You will need 19 lines.

> ; Include forcefield parameters
> #include "ffoplsaa.itp"
> 
> [ moleculetype ]
> ; Name            nrexcl
> Hexane              3
> 
> [ atoms ]
> ;   nr       type  resnr residue  atom   cgnr     charge       mass  typeB    chargeB      massB
> 
     1   opls_157      1    HEX     C1      1      -0.18     12.011   ; qtot -0.18
>      2   opls_140      1    HEX    H11      1       0.06      1.008   ; qtot -0.12
>      3   opls_140      1    HEX    H12      1       0.06      1.008   ; qtot -0.06
> 
     4   opls_140      1    HEX    H13      1       0.06      1.008   ; qtot 0
>      5   opls_158      1    HEX     C2      2      -0.12     12.011   ; qtot -0.12
>      6   opls_140      1    HEX    H21      2       0.06      1.008   ; qtot -0.06
> 
     7   opls_140      1    HEX    H22      2       0.06      1.008   ; qtot 0
>      8   opls_158      1    HEX     C3      3      -0.12     12.011   ; qtot -0.12
>      9   opls_140      1    HEX    H31      3       0.06      1.008   ; qtot -0.06
> 
    10   opls_140      1    HEX    H32      3       0.06      1.008   ; qtot 0
>     11   opls_158      1    HEX     C4      4      -0.12     12.011   ; qtot -0.12
>     12   opls_140      1    HEX    H41      4       0.06      1.008   ; qtot -0.06
> 
    13   opls_140      1    HEX    H42      4       0.06      1.008   ; qtot 0
>     14   opls_158      1    HEX     C5      5      -0.12     12.011   ; qtot -0.12
>     15   opls_140      1    HEX    H51      5       0.06      1.008   ; qtot -0.06
> 
    16   opls_140      1    HEX    H52      5       0.06      1.008   ; qtot 0
>     17   opls_157      1    HEX     C6      6      -0.18     12.011   ; qtot -0.18
>     18   opls_140      1    HEX    H61      6       0.06      1.008   ; qtot -0.12
> 
    19   opls_140      1    HEX    H62      6       0.06      1.008   ; qtot -0.06
>     20   opls_140      1    HEX    H63      6       0.06      1.008   ; qtot 0
> 
> [ bonds ]
> ;  ai    aj funct            c0            c1            c2            c3
> 
    1     2     1 
>     1     3     1 
>     1     4     1 
>     1     5     1 
>     5     6     1 
>     5     7     1 
>     5     8     1 
>     8     9     1 
>     8    10     1 
>     8    11     1 
>    11    12     1 
> 
   11    13     1 
>    11    14     1 
>    14    15     1 
>    14    16     1 
>    14    17     1 
>    17    18     1 
>    17    19     1 
>    17    20     1 
> 
> [ pairs ]
> ;  ai    aj funct            c0            c1            c2            c3
> 
    1     9     1 
>     1    10     1 
>     1    11     1 
>     2     6     1 
>     2     7     1 
>     2     8     1 
>     3     6     1 
>     3     7     1 
>     3     8     1 
>     4     6     1 
>     4     7     1 
> 
    4     8     1 
>     5    12     1 
>     5    13     1 
>     5    14     1 
>     6     9     1 
>     6    10     1 
>     6    11     1 
>     7     9     1 
>     7    10     1 
>     7    11     1 
>     8    15     1 
> 
    8    16     1 
>     8    17     1 
>     9    12     1 
>     9    13     1 
>     9    14     1 
>    10    12     1 
>    10    13     1 
>    10    14     1 
>    11    18     1 
>    11    19     1 
>    11    20     1 
> 
   12    15     1 
>    12    16     1 
>    12    17     1 
>    13    15     1 
>    13    16     1 
>    13    17     1 
>    15    18     1 
>    15    19     1 
>    15    20     1 
>    16    18     1 
>    16    19     1 
> 
   16    20     1 
> 
> [ angles ]
> ;  ai    aj    ak funct            c0            c1            c2            c3
>     2     1     3     1 
>     2     1     4     1 
>     2     1     5     1 
>     3     1     4     1 
> 
    3     1     5     1 
>     4     1     5     1 
>     1     5     6     1 
>     1     5     7     1 
>     1     5     8     1 
>     6     5     7     1 
>     6     5     8     1 
>     7     5     8     1 
> 
    5     8     9     1 
>     5     8    10     1 
>     5     8    11     1 
>     9     8    10     1 
>     9     8    11     1 
>    10     8    11     1 
>     8    11    12     1 
>     8    11    13     1 
> 
    8    11    14     1 
>    12    11    13     1 
>    12    11    14     1 
>    13    11    14     1 
>    11    14    15     1 
>    11    14    16     1 
>    11    14    17     1 
>    15    14    16     1 
> 
   15    14    17     1 
>    16    14    17     1 
>    14    17    18     1 
>    14    17    19     1 
>    14    17    20     1 
>    18    17    19     1 
>    18    17    20     1 
>    19    17    20     1 

> 
> [ dihedrals ]
> ;  ai    aj    ak    al funct            c0            c1            c2            c3            c4            c5
>     2     1     5     6     3 
>     2     1     5     7     3 
>     2     1     5     8     3 
> 
    3     1     5     6     3 
>     3     1     5     7     3 
>     3     1     5     8     3 
>     4     1     5     6     3 
>     4     1     5     7     3 
>     4     1     5     8     3 
>     1     5     8     9     3 
> 
    1     5     8    10     3 
>     1     5     8    11     3 
>     6     5     8     9     3 
>     6     5     8    10     3 
>     6     5     8    11     3 
>     7     5     8     9     3 
>     7     5     8    10     3 
> 
    7     5     8    11     3 
>     5     8    11    12     3 
>     5     8    11    13     3 
>     5     8    11    14     3 
>     9     8    11    12     3 
>     9     8    11    13     3 
>     9     8    11    14     3 
> 
   10     8    11    12     3 
>    10     8    11    13     3 
>    10     8    11    14     3 
>     8    11    14    15     3 
>     8    11    14    16     3 
>     8    11    14    17     3 
>    12    11    14    15     3 
> 
   12    11    14    16     3 
>    12    11    14    17     3 
>    13    11    14    15     3 
>    13    11    14    16     3 
>    13    11    14    17     3 
>    11    14    17    18     3 
>    11    14    17    19     3 
> 
   11    14    17    20     3 
>    15    14    17    18     3 
>    15    14    17    19     3 
>    15    14    17    20     3 
>    16    14    17    18     3 
>    16    14    17    19     3 
>    16    14    17    20     3 

> 
> ; Include Position restraint file
> ;#ifdef POSRES
> ;#include "posre.itp"
> ;#endif
> 
> ; Include water topology
> ;#include "spc.itp"
> 
> ;#ifdef POSRES_WATER
> ; Position restraint for each water oxygen
> 
;[ position_restraints ]
> ;  i funct       fcx        fcy        fcz
>  ;  1    1       1000       1000       1000
> ;#endif
> 
> ; Include generic topology for ions
> ;#include "ions.itp"
> 
> [ exclusions ]
> 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

This is a dangerous place to put this [exclusions] directive, though it works at the moment. Those #include files have other [moleculetype] directives. If you uncomment them, this topology won't work. Put directives related to the same [moleculetype] next to each other!

> [ system ]
> ; Name
> Hexane
> 
> [ molecules ]
> ; Compound        #mols
> Hexane              125
> 
> *************************************************

> 
> 
> Then I used the following comamnds:
> 
> grompp -f em -c Hexane-Stack125.gro -p Hexane-Stack125-nrexcl19.top -o Hexane-Stack125_em >& output.grompp_em
> 
> 
> mdrun -s Hexane-Stack125_em -o Hexane-Stack125_em -c Hexane-Stack125_b4pr -v >& output.mdrun_em

> 
> 
>  grompp -f md13 -c Hexane-Stack125_b4pr -p Hexane-Stack125-nrexcl19.top -o Hexane-Stack125_md >& output.grompp_md

Redirecting your stdout to a file doesn't excuse you from having to read it! You're having problems, so go and read the output!

> mdrun -rerun Hexane-Stack125_md.tpr.trr 
> 
> 
> -------------------------------------------------------
> 
Program mdrun, VERSION 4.0.7
> Source code file: gmxfio.c, line: 737
> 
> Can not open file:
> topol.tpr
> 
> 
> **********************************************************************************************

...because it doesn't exist. Go and find out why grompp didn't create it! :-)

> 
> 
> Do I need to do this as:

> 
> 
[exclusions]
> 
1 2
> 
1 3
> 
1 4
> 
...
> 
1 20
> 
2 3
> 
3 4
> 
.
> 
.
> 
3 20
> 
.

> 
> 
.
> 
> 
> since this involves tedious work I would like you to help me with first approach (nrexcl in moleculetype) and let me know what wrong is..

No. Your "tedious" approach works, but you can do it in 19 lines, per the explanation in 5.4, and either is faster than waiting for email replies :-)

Mark



More information about the gromacs.org_gmx-users mailing list