|
|
Joined: Nov 2003
Posts: 24
Forum Member
|
OP
Forum Member
Joined: Nov 2003
Posts: 24 |
c31a1 (and others before it) compiled on DEC alpha give me "floating point exception" upon ABNR minimization. Upon debugging, the problem is in line
FDIFF1 = PFUNC(LNEW) - PFUNC(LBEST)
where dbx says PFUNC is "denormalized". PFUNC is a NEB variable.
(Rumor has it it's been programmed by Bernie)
Themis
|
|
|
|
Joined: Oct 2003
Posts: 13
Forum Member
|
Forum Member
Joined: Oct 2003
Posts: 13 |
Do you enounter this problem when minimizing with or without neb?
jwchu
|
|
|
|
Joined: Sep 2003
Posts: 395
Forum Member
|
Forum Member
Joined: Sep 2003
Posts: 395 |
Your post says it fails in both c31a1 and in earlier versions, but the NEB code is only available in c31a1. Can you tell us how it fails in earlier versions (certainly not at an NEB variable...)?
I'm not sure who's at fault here. Three people have worked on this code in the most recent round, but your problem may be much older and/or compiler specific.
It could also be that your potential surface has discontinuities (i.e. does not pass the TEST FIRST command) which confuses a minimizer like ABNR since it approximates a Hessian based on finite differences. If this is the case, then you need to use annealing (e.g. Langevin Dynamics) or SD. Try the TEST FIRSt command. If I recall correctly, your methods used to fail this test....
|
|
|
|
Joined: Sep 2003
Posts: 175
Forum Member
|
Forum Member
Joined: Sep 2003
Posts: 175 |
Sometimes this is a problem of pref.dat keywords. I remember having similar problem in July. Do you use standard set of keywords or you tweaked the pref.dat yourself?
|
|
|
|
Joined: Nov 2003
Posts: 24
Forum Member
|
OP
Forum Member
Joined: Nov 2003
Posts: 24 |
Hey, I'm starting to like this forum! Three replies already!
>Do you enounter this problem when minimizing with or without neb
Without.
>Do you use standard set of keywords or you tweaked the pref.dat
Yeap, standard pref.dat
>both c31a1 and in earlier versions
If I remember correctly, the problems started with c30a2x. In that version there were more problems (crash upon energy, e.g.), here it's only ABNR minimization.
>It could also be that your potential surface has discontinuities
I'm using plain param19 energy here, no solvation.
Themis
|
|
|
|
Joined: Sep 2003
Posts: 395
Forum Member
|
Forum Member
Joined: Sep 2003
Posts: 395 |
We need more information... Test cases have been rechecked. No problems seen here.
Is this problem specific to the alpha? Have you run your script on another platform?
|
|
|
|
Joined: Nov 2003
Posts: 24
Forum Member
|
OP
Forum Member
Joined: Nov 2003
Posts: 24 |
Yes, as the title says, only on DEC alpha.
I just found out that the problem does NOT appear if I use param22. (weird)
Here's my script: open read card unit 3 name toph19.inp read rtf unit 3 card close unit 3
open read card unit 3 name param19.inp read para unit 3 card close unit 3
open read unit 3 card name 1ubq.pdb.crd read seque coor unit 3 close unit 3
generate main setup
open read unit 2 card name 1ubq.crd read coor card unit 2 close unit 2
mini abnr nstep 300
And here's the result: MINI> 0 -2030.92134 0.00000 19.40045 0.00000 MINI INTERN> 127.52376 170.81789 0.00000 115.19641 25.46396 MINI EXTERN> -157.46511 -2312.45825 0.00000 0.00000 0.00000 ---------- --------- --------- --------- --------- --------- forrtl: error (65): floating invalid 0: _call_remove_gp_range [0x3ff81a6c1a4] 1: _call_remove_gp_range [0x3ff81a73f08] 2: _call_remove_gp_range [0x3ff800d8c60] 3: abner2_ [abner.f: 2401, 0x1203bfa2c] 4: abner_ [abner.f: 939, 0x1203b85fc] 5: minmiz_ [minmiz.f: 730, 0x1203a41ac] 6: charmm_ [charmm_main.f: 1759, 0x120074a7c] 7: main [for_main.c: 203, 0x12007fc2c] 8: __start [0x1200725c8] IOT trap
|
|
|
|
Joined: Nov 2003
Posts: 200
Forum Member
|
Forum Member
Joined: Nov 2003
Posts: 200 |
The problem is with the NEB code, the fix for now is to move the line: FDIFF1 = PFUNC(LNEW) - PFUNC(LBEST) into the IF(QPNEB) THEN block:
C Write out minimization "trajectory" frame CALL MINTRJ(NCALLS,NSTEP,SDSTP) C FDIFF = FUNC(LNEW) - FUNC(LBEST) GNRM(LNEW) = LENVEC(GRAD(1,LNEW),NP) / $ SIGN(MAX(ABS(SQRTNP),RSMALL),SQRTNP) ##IF REPLICA IF(QPNEB) THEN FDIFF1 = PFUNC(LNEW) - PFUNC(LBEST) GNRM(LNEW) = LENVEC(PGRAD,NP) / $ SIGN(MAX(ABS(SQRTNP),RSMALL),SQRTNP) PGNRM(LNEW) = LENVEC(PSGRAD(1,LNEW),NP) /
That works for the alpha for me now. Will be submitting the change with our submission Dec31 Mike
Physical mail:
Dr. Michael F. Crowley
National Renewable Energy Laboratory, MS 3323
1617 Cole Blvd.
Golden, CO 80401
|
|
|
|
|
|