On Wed, Sep 21, 2016 at 10:29 PM, David A Case <david.case.rutgers.edu>
wrote:
> 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.
>
Ack. I'm not sure why I thought "system" last night (I've tested systems
that had both 10-12 and 6-12 IIRC). You can't have both 10-12 and 12-6
terms for the same *atom*, but that's clearly not the same thing. Sorry
for the confusion (and thanks for the correction).
> [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
>
This was actually one of the comments that led me to believe it had to do
with SETTLE (fast constraints... not fast nonbonded interactions). Your
explanation makes more sense, though. In any case, it is *not* used to
identify waters for SETTLE, and it *is* assumed to be 0 for L-J
interactions (since the code checks for that upon reading if HAS_10_12 is
not set).
Thanks,
Jason
--
Jason M. Swails
_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Received on Thu Sep 22 2016 - 07:30:02 PDT