[gmx-users] Re: RE: problem with g_bar
Tom Kirchner
tomkirch at mis.mpg.de
Tue Mar 20 09:23:38 CET 2012
Hi Berk,
Thanks a lot for your answer.
I changed the line and recompiled Gromacs, sadly I got this error:
gmx_bar.c: In function "read_bar_xvg":
gmx_bar.c:2052:5: error: incompatible type for argument 1 of
"gmx_within_tol"
../../include/maths.h:125:1: note: expected "double" but argument is of
type "real *"
make[3]: *** [gmx_bar.lo] Error 1
Best,
Tom
On 03/20/2012 03:15 AM, gmx-users-request at gromacs.org wrote:
> ------------------------------ Message: 3 Date: Mon, 19 Mar 2012
> 18:34:31 +0100 From: Berk Hess <gmx3 at hotmail.com> Subject: RE:
> [gmx-users] problem with g_bar To: Discussion list for GROMACS users
> <gmx-users at gromacs.org> Message-ID:
> <COL113-W32C019BA58913FEC173E168E420 at phx.gbl> Content-Type:
> text/plain; charset="iso-8859-1" Hi, Yes, there is a problem with
> different temperature variables being single and double precision.
> Does the one line change below fix the problem? Cheers, Berk - if ( (
> *temp != barsim->temp) && (*temp > 0) ) + if (
> !gmx_within_tol(temp,barsim->temp,GMX_FLOAT_EPS) && (*temp > 0) )
>> > Date: Mon, 19 Mar 2012 13:57:51 +0100
>> > From:tomkirch at mis.mpg.de
>> > To:gmx-users at gromacs.org
>> > Subject: [gmx-users] problem with g_bar
>> >
>> > Dear all,
>> >
>> > Recently I posted my problem with g_bar on this mailing list but got no
>> > solution for it. After additional testing I decided to send an enhanced
>> > description of my problem.
>> >
>> > I am doing Free Energy calculation. The dhdl values are put in separate
>> > .xvg files. The routine g_bar is then started using:
>> >
>> > g_bar -b 100 -f md_*.xvg -o -oi -oh
>> >
>> > With the result:
>> >
>> > Program g_bar, VERSION 4.5.5
>> > Source code file: .../src/gromacs-4.5.5/src/tools/gmx_bar.c, line: 2054
>> >
>> > Fatal error:
>> > Temperature in file md_0.05.xvg different from earlier files or setting
>> >
>> >
>> > Checking the header of all .xvg files showed the same line for the
>> > temperature for all files:
>> >
>> > @ subtitle "T = 298.15 (K), \xl\f{} = 0.025"
>> >
>> > Changing the temperature manually to any integer (but still with .0) let
>> > g_bar run fine.
>> >
>> > sed -i 's/T\ \=\ 298.15/T\ \=\ 298.0/g' md*
>> >
>> > Do you have any suggestions what's wrong here?
>> >
>> > I'm not that familiar with C, but my suggestion would be an error with
>> > floating point arithmetic in line 2052 of gmx_bar.c
>> >
>> > if ( ( *temp != barsim->temp)&& (*temp> 0) )
>> >
>> > where *temp and barsim->temp are compared. Maybe it has something to do
>> > with the input as long double (%lf) and statement "real *temp" in the
>> > function header?
>> >
>> > I appreciate any hints.
>> >
>> > Best regards
>> > Tom
More information about the gromacs.org_gmx-users
mailing list