On Thu, Sep 23, 2010, Scott Brozell wrote:
> On Fri, Jul 30, 2010 at 09:41:07PM -0400, case wrote:
> > On Fri, Jul 30, 2010, InSuk Joung wrote:
> > > Also, similar things are in sff2.c
> > >
> > > line 1265:
> > >
> > > assert(bi > 0.01);
> > > assert(bk > 0.01);
> > >
> > > Is this really necessary?
> >
> > I think something is necessary if you really must have bond angles of 180
> > degrees. The diehedral angle (and hence its derivative) is undefined there.
> > Instead of triggering an assert, one could put in dummy values (as I suggested
> > in eff.c), on the assumption that everything will be multiplied by zero later
> > on anyway. But we might really want to think about having leap strip out
> > zero force constant diehedrals before the prmtop is written, so that this
> > problem never comes up....that would be a better solution, since otherwise
> > the sff code would have to double check that the force constant really is
> > zero.
>
> Is this problem in sleap or only in tleap ?
Note that this is a tricky issue, since (depending on which code path one
follows) the 1-4 nonbond list may depend on the dihedral angle list. So, just
because the force constant is zero doesn't necessarily mean that we can
willy-nilly throw it away.
It would probably be good to be able to allow dihedrals with 180 angles and
zero force constant, but we need to be very careful that we don't break
something else along the way. We probably have to rationalize the way sander
creates the 1-4 nonbond list (which depends on whether gb is set or not, as I
remember) before really going ahead with changes.
If sleap is silently stripping out zero force constant dihedrals, we need to
check that nothing bad is happening there.
....dac
_______________________________________________
AMBER-Developers mailing list
AMBER-Developers.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber-developers
Received on Thu Sep 23 2010 - 13:30:12 PDT