[gmx-users] shake for water
David van der Spoel
spoel at xray.bmc.uu.se
Thu Feb 5 22:41:47 CET 2009
Berk Hess wrote:
>
>
> > Date: Thu, 5 Feb 2009 19:35:09 +0100
> > From: spoel at xray.bmc.uu.se
> > To: gmx-users at gromacs.org
> > Subject: Re: [gmx-users] shake for water
> >
> > David Mobley wrote:
> > > All,
> > >
> > > A quick question on constraints... I'm using TIP4P-Ew in gromacs 3.3.2
> > > and am concerned with reproducing energies from another code very
> > > precisely for several specific snapshots. I am doing a zero-step mdrun
> > > of a setup with one small molecule and two tip4p-ew water molecules.
> > >
> > > Anyway, I have set the shake tolerance to 1e-12 in the mdp file, but
> > > to my surprise the internal water distances are good only to 1e-06 and
> > > 1e-07. Is this expected behavior? Note that I am running in double
> > > precision. I assumed that, er, the distances should converge to the
> > > shake tolerance.
> > Well, the documentation might be lacking, but the code tells the truth.
> > It seems that the tolerance is used on the distance squared, which is
> > consistent with your observation of a precision of 1e-6. So try 1e-24.
>
> No, it is not the square.
> The code does a small 'a' approximation: (1+a)^2=1+2a+a^2 is approx 1+2a.
> I have also tested/benchmark shake in gromacs for my first lincs paper
> and the plincs paper and it always behaved the way I thought it would.
First we compute the inverse square of the shake distance dA in tt[ll]
for each shake pair:
if (bFEP)
toler = sqr(L1*ip[type].shake.dA + lambda*ip[type].shake.dB);
else
toler = sqr(ip[type].shake.dA);
dist2[ll] = toler;
tt[ll] = 1.0/(toler*tol2);
}
Then in the shake iteration we compute the difference between the
squared distances (variable diff below):
tx = xp[ix]-xp[jx];
ty = xp[iy]-xp[jy];
tz = xp[iz]-xp[jz];
rpij2 = tx*tx+ty*ty+tz*tz;
toler = dist2[ll];
diff = toler-rpij2;
Now we multiply the diff with tt[ll], in other words we get
iconv = (1-rpij2/dist2)/(2 tol)
/* iconv is zero when the error is smaller than a bound */
iconv = fabs(diff)*tt[ll];
In other words, the tolerance operates on the squared distance.
>
> The problem is not that you need more iterations than 1000?
>
> And why not use settle that does it right at full precision at once?
>
> Berk
>
>
> >
> > >
> > > Thanks,
> > > David
> > > _______________________________________________
> > > gmx-users mailing list gmx-users at gromacs.org
> > > http://www.gromacs.org/mailman/listinfo/gmx-users
> > > Please search the archive at http://www.gromacs.org/search before
> posting!
> > > Please don't post (un)subscribe requests to the list. Use the
> > > www interface or send it to gmx-users-request at gromacs.org.
> > > Can't post? Read http://www.gromacs.org/mailing_lists/users.php
> >
> >
> > --
> > David van der Spoel, Ph.D., Professor of Biology
> > Molec. Biophys. group, Dept. of Cell & Molec. Biol., Uppsala University.
> > Box 596, 75124 Uppsala, Sweden. Phone: +46184714205. Fax: +4618511755.
> > spoel at xray.bmc.uu.se spoel at gromacs.org http://folding.bmc.uu.se
> > _______________________________________________
> > gmx-users mailing list gmx-users at gromacs.org
> > http://www.gromacs.org/mailman/listinfo/gmx-users
> > Please search the archive at http://www.gromacs.org/search before
> posting!
> > Please don't post (un)subscribe requests to the list. Use the
> > www interface or send it to gmx-users-request at gromacs.org.
> > Can't post? Read http://www.gromacs.org/mailing_lists/users.php
>
> ------------------------------------------------------------------------
> Express yourself instantly with MSN Messenger! MSN Messenger
> <http://clk.atdmt.com/AVE/go/onm00200471ave/direct/01/>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> gmx-users mailing list gmx-users at gromacs.org
> http://www.gromacs.org/mailman/listinfo/gmx-users
> Please search the archive at http://www.gromacs.org/search before posting!
> Please don't post (un)subscribe requests to the list. Use the
> www interface or send it to gmx-users-request at gromacs.org.
> Can't post? Read http://www.gromacs.org/mailing_lists/users.php
--
David van der Spoel, Ph.D., Professor of Biology
Molec. Biophys. group, Dept. of Cell & Molec. Biol., Uppsala University.
Box 596, 75124 Uppsala, Sweden. Phone: +46184714205. Fax: +4618511755.
spoel at xray.bmc.uu.se spoel at gromacs.org http://folding.bmc.uu.se
More information about the gromacs.org_gmx-users
mailing list