[gmx-developers] Use of invsqrt with tables
mark.j.abraham at gmail.com
Wed Mar 23 14:06:15 CET 2016
This isn't related to using tables per se, but rather with using potentials
that lack singularities that prevent r=0 in practice. I think such kernels
should rather use an approach like that we use for exclusions:
rsqmod = (rsq == 0) ? smallnumber : rsq;
rinv = invsqrt(rsqmod);
rinv = (rsq == 0) ? 0 : rinv;
and maybe a mask on energies also.
gmx::sqrt in the SIMD module is also an option that implements the same
kind of conditionality, but doesn't solve the need to have a functional
On Wed, Mar 23, 2016 at 1:42 PM David van der Spoel <spoel at xray.bmc.uu.se>
> On 23/03/16 13:31, Berk Hess wrote:
> > Hi,
> > But avoiding the inversion is not possible, since you need to multiply
> > the scaling force by the normalized distance vector.
> The force should be zero at r=0 for symmetry reasons and hence the code
> should not crash.
> > Berk
> > On 2016-03-23 13:00, David van der Spoel wrote:
> >> Hi,
> >> In all versions of gromacs the distance between two nonbonded atoms is
> >> computed as
> >> rinv00 = gmx_invsqrt(rsq00);
> >> r00 = rsq00*rinv00;
> >> This is fine when we use Lennard Jones and Coulomb, but not when using
> >> table potentials which do not necessarily have singularities at r = 0.
> >> I would therefore propose to replace the statements by a normal sqrt
> >> in all innerloops using tables.
> >> Thoughts?
> David van der Spoel, Ph.D., Professor of Biology
> Dept. of Cell & Molec. Biol., Uppsala University.
> Box 596, 75124 Uppsala, Sweden. Phone: +46184714205.
> spoel at xray.bmc.uu.se http://folding.bmc.uu.se
> Gromacs Developers mailing list
> * Please search the archive at
> http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List before
> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
> * For (un)subscribe requests visit
> or send a mail to gmx-developers-request at gromacs.org.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the gromacs.org_gmx-developers