Project

General

Profile

Bug #155

Inconsistent averages usign g_analyze_d --v3.3.1

Added by Anonymous over 12 years ago. Updated over 12 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
analysis tools
Target version:
Affected version - extra info:
Affected version:
Difficulty:
uncategorized
Close

Description

this is in relation to the http://www.gromacs.org/pipermail/gmx-users/2007-June/028214.html gmx-users thread. David van der Spoel recommended the creation of a bugzilla entry.

g_analyze_d as compiled here sometimes gives erroneous averages as examplified by considering block averages.

Using the attached .xvg file (dg/dl during a 4ns run with dt=0.002ps), and using options -b and -e for g_analyze_d gives the following

from 0 to 1000ps ->g_analyze_d average is 1.634425e+03
from 1000 to 2000ps -> g_analyze_d average is 1.634059e+03
from 0 to 2000ps -> g_analyze_d average is 1.637816e+03 ---> a difference
of ~ 3kJ/mol compared with the 1ns blocks
from 2000 to 4000 ps > g_analyze_d average is 1.637791e+03
from 0 to 4000ps -> g_analyze_d average is 1.620341e+03 --> a difference of
~ 17kJ/mol compared with the 2ns blocks

The expected average for the full data set is ~ 1634 kJ/mol, not ~ 1620 kJ/mol.

Let me know if other details are needed.

Thanks,
Philippe

first4ns.xvg.gz (9.65 MB) first4ns.xvg.gz dg/dl data file Anonymous, 06/25/2007 06:43 PM
makedata4bug155.pl (102 Bytes) makedata4bug155.pl perl script to generate data file for bug 155 Anonymous, 06/25/2007 06:54 PM

History

#1 Updated by Anonymous over 12 years ago

Created an attachment (id=214)
dg/dl data file

#2 Updated by Anonymous over 12 years ago

Created an attachment (id=215)
perl script to generate data file for bug 155

to use the script:

-make script executable (modify first line of script, if need be)
-redirect output to data file. Resulting data file can be used with g_analyze_d to reproduce bug.

#3 Updated by Anonymous over 12 years ago

Just to clarify a little bit...

The dg/dl data file being relatively large and possibly difficult to download, i created this little perl script to generate ~ 2million repeats of the 1634.00 value in the format of a typical .xvg file to mimic a 4ns,dt=0.002 data file. Clearly, the average value should be 1634.00 but g_analyze_d wrongly gives
Read 1 sets of 2000001 points, dt = 0.002

std. dev.    relative deviation of
standard --------- cumulants from those of
set average deviation sqrt(n-1) a Gaussian distribition
cum. 3 cum. 4
SS1 1.613756e+03 2.008756e+01 1.420405e-02 0.635 -0.660

Philippe

(In reply to comment #2)

Created an attachment (id=215) [details]
perl script to generate data file for bug 155
to use the script:
-make script executable (modify first line of script, if need be)
-redirect output to data file. Resulting data file can be used with g_analyze_d
to reproduce bug.

#4 Updated by Berk Hess over 12 years ago

Does the single precision g_analyze have the same problem?

I tried the perl script output in the single precision version
and that gives exactly the correct output.

I have tried g_analyze_d of the 3.3 branch with a few fixes
(but none that I recall have any effect on this)
and that also works fine.

Berk.

#5 Updated by Berk Hess over 12 years ago

I have now compiled a proper 3.3.1 distibution double precision g_analyze.
It gives the correct results, both for your dgdl file as well as
the perl script output.

So I can not reproduce you problem.
I am running on an AMD64 under linux, with gcc version 3.3.5.

What are you running?

Berk.

#6 Updated by Berk Hess over 12 years ago

There has been no answer since a month.
Since I can not reproduce the problem,
I close this bug.

Also available in: Atom PDF