On Wed, Sep 21, 2016, Jason Swails wrote:
> >
> > A negative index in NONBONDED_PARM_INDEX means HB term, otherwise it's
> > a LJ term (mentioned in the docs).
> >
>
> Currently, none of the codes permit both 10-12 and 12-6 terms exist for
> the same system. I have seen prmtops where water atoms were assigned
> elements in the 10-12 arrays that were set to zero, which I think was a way
> of "marking" them for SETTLE. But that convention is no longer used. (I
> came to that conclusion based on a number of comments across different code
> bases).
I don't think the above is correct: the 10-12 marking was indeed to allow
the code to skip LJ terms on water hydrogens that are assumed to be zero.
Look especially at line 1986 of short_ene.F90 in sander, where this is
explained. Actually, if you define HAS_10_12 you should be able to have both
10-12 and 6-12 terms in the same system, but this is so rarely used or tested
that new code (like Chris is writing) doesn't need to support this.
[Code at line 993 of egb.F90 in sander basically has the same idea: vdw terms
where ic<0 are assumed to be zero, unless HAS_10_12 is defined.]
Basically, if the index is negative, the LJ terms are skipped. I *thought*
this was routinely used for hw-hw and hw-ow terms for water, to save a bit
of time by not having to compute r6 and r12 terms that would be zero anyway.
Lines like this in parm10.dat:
HW OW 0000. 0000. 4. flag for fast water
make HW-OW interactions into "H-bond" terms, but the code assumes that all
"Hbond" terms are zero. This is checked for on startup, and if any non-zero
"H-bond" terms are found, the program exits with a message to recompile
with HAS_10_12 set.
Much of this is from memory, and might have changed. Jason has surely looked
at the code more recently than I have, but I'm thinking that what I wrote
above is still more or less valid.
....dac
_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Received on Wed Sep 21 2016 - 19:30:02 PDT