diff --git a/GSM/bmat.cpp b/GSM/bmat.cpp index 6957849..06d7719 100644 --- a/GSM/bmat.cpp +++ b/GSM/bmat.cpp @@ -347,7 +347,7 @@ int ICoord::bmatp_to_U() // printf(" %8.5f",G[i1*len+j]); // printf("\n"); #endif - lowev++; +// lowev++; } if (lowev>0) printf(" lowev: %i",lowev); diff --git a/GSM/icoord.cpp b/GSM/icoord.cpp index 5e7cadd..2ca8976 100644 --- a/GSM/icoord.cpp +++ b/GSM/icoord.cpp @@ -175,7 +175,7 @@ void ICoord::create_xyz() return; } -///creates the internal coordinates + int ICoord::ic_create() { make_bonds(); @@ -286,31 +286,47 @@ void ICoord::hbond_frags() a3 = b2; if (b2==a1 && anumbers[b1]==1) a3 = b1; - water[3*nwater+0] = a1; - water[3*nwater+1] = a2; - water[3*nwater+2] = a3; - nwater++; - break; + if (a3>-1) + { + water[3*nwater+0] = a1; + water[3*nwater+1] = a2; + water[3*nwater+2] = a3; + nwater++; + break; + } } } //loop j over nbonds } //loop i over oxygen atoms -// printf(" found %2i water molecules \n",nwater); -// for (int i=0;i-1 && a2>-1) for (int i=0;i-1 && a2>-1) + if (b1>-1 && b2>-1) for (int i=0;i