Re: [AMBER] A refresher on how non-bonding terms are represented in a topology file.

From: Jason Swails <jason.swails.gmail.com>
Date: Thu, 22 Sep 2016 10:24:49 -0400

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
Custom Search