On Fri, Jun 25, 2010, Kevin Wiehe wrote:
> I came upon a difference in energy calculations between the mme and
> mme2 functions when using NAB to do minimization and report the
> hessian. If I use "gbsa=1" in the mm_options, the energy calculated
> by mme2 includes the evdwnp term, but when using the same mm_options,
> evdwnp is 0 when calculated with mme. For all other values of gbsa
> (0,2,3,4,5), the energies agree between mme and mme2. I believe this
> suggests the source of the discrepancy is a difference in the egb and
> egb2 functions.
Thanks for the report. I will post a bugfix, but here is the change:
--- AmberTools/src/sff/sff2.c
+++ AmberTools/src/sff/sff2.c
.. -4557,7 +4557,7 .. REAL_T egb2(INT_T * lpears, INT_T * upears, INT_T **
pearl
qi2h = 0.5 * qi * qi;
qid2h = qi2h * dielfac;
- if ((gbsa == 1) || (gbsa == 4) || (gbsa == 5)) {
+ if ((gbsa == 4) || (gbsa == 5)) {
vdwdenom = 1.0 / (ri + rwater);
vdwterm =
alphanp * (prm->Gvdw[i]) * vdwdenom * vdwdenom *
Let me know if you see problems with this.
Also, note that values for gbsa>1 are neither documented, tested, nor
(probably) correct. Here is a fix that prevents you from accidentally
choosing such an option:
--- AmberTools/src/sff/mm_options.l
+++ AmberTools/src/sff/mm_options.l
.. -75,7 +75,7 .. use_lower_tri[=\ ][01] { ECHO; use_lower_tri = atoi(
&y
dynamic_loops[=\ ][01] { ECHO; dynamic_loops = atoi( &yytext[14] ); }
static_arrays[=\ ][01] { ECHO; static_arrays = atoi( &yytext[14] ); }
blocksize[=\ ][0-9]+ { ECHO; blocksize = atoi( &yytext[10] ); }
-gbsa[=\ ][0-5] { ECHO; gbsa = atoi( &yytext[5] ); }
+gbsa[=\ ][01] { ECHO; gbsa = atoi( &yytext[5] ); }
dim[=\ ][34] { ECHO; dim = atoi( &yytext[4] ); }
rism[=\ ][01] { ECHO; rismData.rism = atoi( &yytext[5] ); }
....regards...dac
_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Received on Tue Jun 29 2010 - 08:30:04 PDT