[gmx-users] floating point exception for grompp -e ener.edr on some clusters

chris.neale at utoronto.ca chris.neale at utoronto.ca
Thu Nov 22 05:38:04 CET 2007


>> I have attempted the CFLAGS=-g (full output at end of email). The  
>> error message is now:
>>
>> Program received signal SIGFPE, Arithmetic exception.
>> 0x12001449c in do_enx (fp=0, fr=0x12010a9c0) at enxio.c:310
>> 310     enxio.c: No such file or directory.
>>         in enxio.c
>
> Try adding the following in enxio.c at line 305:
>
>     for(i=fr->e_alloc; (i<fr->nre); i++) {
>       fr->ener[i].e = fr->ener[i].eav =
> 	fr->ener[i].esum = fr->ener[i].esum2 = 0;
>     }
>
> The code should come *in-between* the following two lines:
>
>     srenew(fr->ener,fr->nre);
>     fr->e_alloc = fr->nre;
>
> Alphas are very sensitive about not-initialized variables.

Excellent. Your suggestion has resolved the problem. Thank you very  
much for your assistance. I would never have been able to figure this  
out myself. Please note that actually I used these lines:

      for(i=fr->e_alloc; (i<fr->nre); i++) {
        fr->ener[i].e = fr->ener[i].eav =
	fr->ener[i].esum = fr->ener[i].e2sum = 0;
      }

where e2sum is used in place of esum2 for gromacs 3.3.1 and 3.3.2

With this change I have verified that 'g_energy' and 'grompp -t a.trr  
-e a.edr' both execute without error.

Chris.




More information about the gromacs.org_gmx-users mailing list