[gmx-users] Trying to use user-defined potentials but getting out of range error

Davide Mercadante dmer018 at aucklanduni.ac.nz
Sun Feb 9 22:07:50 CET 2014


Hello GMX users,

I am trying to use user defined potentials and to create a table to give
mdrun I am using a modified version of the C script given here as an
example:

http://www.gromacs.org/Documentation/How-tos/Tabulated_Potentials

However, I have noticed that even the default script doesn't write out 0
values for values of r lower than 0.04 as described by the loop and defined
by the conditional ("if r<0.04 {.....}"). I am getting, by default the
following output (only first lines are reported):

#

# Example LJ 6-12 Potential

#

0.0000000000e+00   0.0000000000e+00 1.0000000000e+00   0.0000000000e+00
0.0000000000e+00   2.0000009537e+00 4.0000000000e-02

2.0000000000e-03   8.1920000000e-36 4.6985177795e-18   -1.2474001935e+291
0.0000000000e+00   -0.0000000000e+00 4.0000000000e-02

4.0000000000e-03   6.7108864000e-32 3.0070513789e-16   -7.9833612381e+292
0.0000000000e+00   -0.0000000000e+00 4.0000000000e-02

6.0000000000e-03   1.3060694016e-29 3.6700416182e-15   -1.2773377981e+294
0.0000000000e+00   -0.0000000000e+00 4.0000000000e-02

8.0000000000e-03   5.4975581389e-28 3.8490257650e-14   -1.0218702385e+295
0.0000000000e+00   -0.0000000000e+00 4.0000000000e-02

1.0000000000e-02   1.0000000000e-26 1.7532907184e-13   -4.0874809539e+295
0.0000000000e+00   -0.0000000000e+00 4.0000000000e-02

1.2000000000e-02   1.0699320538e-25 4.6976532713e-13   -1.6349923816e+296
0.0000000000e+00   -0.0000000000e+00 4.0000000000e-02

1.4000000000e-02   7.9371477325e-25 1.7418702204e-12   -3.2699847631e+296
0.0000000000e+00   -0.0000000000e+00 4.0000000000e-02

1.6000000000e-02   4.5035996274e-24 2.4633764896e-12   -6.5399695263e+296
0.0000000000e+00   -0.0000000000e+00 4.0000000000e-02

1.8000000000e-02   2.0822964866e-23 5.7024213310e-12   -1.3079939053e+297
0.0000000000e+00   -0.0000000000e+00 4.0000000000e-02

2.0000000000e-02   8.1920000000e-23 1.1221060598e-11   -2.6159878105e+297
0.0000000000e+00   -0.0000000000e+00 4.0000000000e-02

2.2000000000e-02   2.8281005788e-22 1.9389445473e-11   -5.2319756210e+297
0.0000000000e+00   -0.0000000000e+00 4.0000000000e-02

2.4000000000e-02   8.7648833847e-22 3.0064980937e-11   -1.0463951242e+298
0.0000000000e+00   -0.0000000000e+00 4.0000000000e-02

2.6000000000e-02   2.4811528732e-21 8.5036607586e-11   -2.0927902484e+298
0.0000000000e+00   -0.0000000000e+00 4.0000000000e-02

2.8000000000e-02   6.5021114225e-21 1.1147969411e-10   -2.0927902484e+298
0.0000000000e+00   -0.0000000000e+00 4.0000000000e-02

3.0000000000e-02   1.5943230000e-20 1.3695063438e-10   -4.1855804968e+298
0.0000000000e+00   -0.0000000000e+00 4.0000000000e-02

3.2000000000e-02   3.6893488147e-20 3.1531219067e-10   -8.3711609936e+298
0.0000000000e+00   -0.0000000000e+00 4.0000000000e-02

3.4000000000e-02   8.1138303246e-20 3.4759466729e-10   -8.3711609936e+298
0.0000000000e+00   -0.0000000000e+00 4.0000000000e-02

3.6000000000e-02   1.7058172818e-19 7.2990993036e-10   -1.6742321987e+299
0.0000000000e+00   -0.0000000000e+00 4.0000000000e-02

3.8000000000e-02   3.4449804052e-19 7.3785812839e-10   -1.6742321987e+299
0.0000000000e+00   -0.0000000000e+00 4.0000000000e-02

4.0000000000e-02   2.5000000000e+01 6.2500000000e+02   -2.4414062500e+08
-3.6621093750e+10   5.9604644775e+16 1.7881393433e+19

4.2000000000e-02   2.3809523810e+01 5.6689342404e+02   -1.8218149332e+08
-2.6025927617e+10   3.3190096508e+16 9.4828847166e+18

4.4000000000e-02   2.2727272727e+01 5.1652892562e+02   -1.3781101808e+08
-1.8792411556e+10   1.8991876704e+16 5.1796027375e+18


For values of r <0.04 the output doesn't seem to be 0 for some of the
column..however, the script goes like this:

if (r<0.04) {
            fprintf(fout, "%12.10e   %12.10e %12.10e   %12.10e %12.10e
  %12.10e %12.10e\n", r,0,0,0,0,0,0);
        } else {
            fprintf(fout, "%12.10e   %12.10e %12.10e   %12.10e %12.10e
  %12.10e %12.10e\n", r,f,fprime,g,gprime,h,hprime);



Can you please advice why the conditional doesn't seem to be working
properly or I am overlooking something here?

Thank you in advance for your time, any comments will be appreciated.

Cheers,
Davide


More information about the gromacs.org_gmx-users mailing list