[gmx-developers] Small hack regarding dihedrals
Bogdan Costescu
bcostescu at gmail.com
Wed Sep 25 23:10:19 CEST 2013
On Wed, Sep 25, 2013 at 5:29 PM, MURAT OZTURK <murozturk at ku.edu.tr> wrote:
> Is it OK to intorduce the conditional into pdihs(), and bypass even calling
> dopdihs() if r_kj ( as reported by calling dih_angle() ) is less then
> threshold?
Yes. It makes sense to abort calculating as soon as you have enough
information to make the decision. You can place your test immediately
after calling dih_angle(), as it gives you r_jk. The code could look
like (based on your own proposal):
/* outside of the loop */
threshold2 = threshold * threshold;
for (i = 0; (i < nbonds); )
{
...
phi = dih_angle(...)
midDist2 = iprod(r_jk, r_jk);
if (midDist2 > threshold2)
continue;
...
}
Please note the comparison done on the squares of distances instead of
distances, saving some CPU cycles.
Good luck!
Bogdan
More information about the gromacs.org_gmx-developers
mailing list