Re: amber-developers: GB/LES GB1 diffcoords FP exception on Sun

From: Carlos Simmerling <carlos.csb.sunysb.edu>
Date: Mon, 27 Mar 2006 15:09:07 -0700

John,
thanks, I'll take care of this. Your advice about the flags is good,
there's just so much
Amber history of doing that, like in the prmtops! It definitely makes
things harder to
figure out.
Carlos

John Mongan wrote:

> Seems to be a floating point exception at line 435 of runmd.f:
>
> #ifdef LES
> sdfacles = sqrt( 4.d0*gammai*boltz2*temp0les/dtx )
> #endif
>
> This generates a fatal floating point exception on Sun when temp0les
> is negative. (Not entirely sure why this wouldn't be a problem on
> other architectures -- maybe they're returning a complex result and
> then casting it back to a double) It seems that a negative temp0les is
> being used as a flag to indicate how the thermostating should be done.
>
> For what it's worth, I think we should try to avoid using "data"
> variables as flags like this (by setting them to "special" values). It
> makes the code harder to read, it leads to bugs like this one when the
> special values get used in calculations and it's less efficient
> (double precision comparison vs. checking a bool). If a flag is
> needed, it should be declared, rather than recycling an existing
> variable. My $0.02 anyway.
>
> John
>
> David A. Case wrote:
>
>> On Fri, Mar 24, 2006, John Mongan wrote:
>>
>>
>>> [jmongan.cabot test]$ cd LES_GB; ./Run.LES
>>> SANDER: LES+GB
>>> 1: GB/LES GB1 diffcoords
>>> Arithmetic Exception (core dumped)
>>> ./Run.LES: Program error
>>
>>
>>
>> Can you try to debug it? I can also ask Mike to look at this on
Monday
>>
>> ....dac
>
Received on Wed Apr 05 2006 - 23:49:35 PDT
Custom Search