From 318a125eae670983a61dd066eb0c280c30df7331 Mon Sep 17 00:00:00 2001 From: Erik Lindahl Date: Thu, 3 Dec 2009 13:49:54 -0800 Subject: [PATCH] Committed all-angle-constraint fix from Peter Eastman (Bugzilla 375) --- src/kernel/topshake.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/kernel/topshake.c b/src/kernel/topshake.c index 6ab64b2a95..ded3e3a3cf 100644 --- a/src/kernel/topshake.c +++ b/src/kernel/topshake.c @@ -129,12 +129,16 @@ void make_shake (t_params plist[],t_atoms *atoms,t_atomtype at,int nshake) pr = &(plist[ftype_a]); for (i=0; (i < pr->nr); ) { + int numhydrogens; + ang=&(pr->param[i]); #ifdef DEBUG printf("Angle: %d-%d-%d\n",ang->AI,ang->AJ,ang->AK); #endif - if ((nshake == eshALLANGLES) || - (count_hydrogens(info,3,ang->a) > 0)) { + numhydrogens = count_hydrogens(info,3,ang->a); + if ((nshake == eshALLANGLES) || + (numhydrogens > 1) || + (numhydrogens == 1 && toupper(**(info[ang->a[1]]))=='O')) { /* Can only add hydrogen angle shake, if the two bonds * are constrained. * append this angle to the shake list -- 2.11.4.GIT