[gmx-developers] Use of invsqrt with tables

David van der Spoel spoel at xray.bmc.uu.se
Wed Mar 23 13:42:52 CET 2016


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


More information about the gromacs.org_gmx-developers mailing list