********> bugfix.59 Author: James Caldwell Date: 2/15/94 Programs: minmd Severity: moderate Problem: Too few 1-4 pairs will be generated for polarizability calcs. Affects: polar calcs in the case where there are multi-term dihedrals. Fix: Make the following change to rdprm.f: *** OLD rdprm.f --- NEW rdparm.f *************** *** 320,331 **** i2 = IX(I+I42-1)/3+1 i3 = IX(I+I44-1)/3+1 i4 = IX(I+I46-1)/3+1 ! if(pn(ix(i+i48-1)).gt. 0.0) then ! if(ix(i+i44-1).ge.0.and.ix(i+i46-1).ge.0)then ih(i1+m12-1) = ih(i1+m12-1) + 1 call istuff(ih(i1+m12-1),i1,ih(m14),i4) ip14 = ip14+1 - endif endif 511 continue do 512 i = 1,nphia --- 320,329 ---- i2 = IX(I+I42-1)/3+1 i3 = IX(I+I44-1)/3+1 i4 = IX(I+I46-1)/3+1 ! if(ix(i+i44-1).ge.0.and.ix(i+i46-1).ge.0)then ih(i1+m12-1) = ih(i1+m12-1) + 1 call istuff(ih(i1+m12-1),i1,ih(m14),i4) ip14 = ip14+1 endif 511 continue do 512 i = 1,nphia *************** *** 333,340 **** i2 = IX(I+I52-1)/3+1 i3 = abs(IX(I+I54-1))/3+1 i4 = abs(IX(I+I56-1))/3+1 ! if (pn(ix(i+i58-1)).gt. 0.0) then ! if(ix(i+i54-1).ge.0.and.ix(i+i56-1).ge.0) then ih(i1+m12-1) = ih(i1+m12-1) + 1 if(ih(i1+m12-1).gt.15) then print *,'too many dihedrals ' --- 331,337 ---- i2 = IX(I+I52-1)/3+1 i3 = abs(IX(I+I54-1))/3+1 i4 = abs(IX(I+I56-1))/3+1 ! if(ix(i+i54-1).ge.0.and.ix(i+i56-1).ge.0) then ih(i1+m12-1) = ih(i1+m12-1) + 1 if(ih(i1+m12-1).gt.15) then print *,'too many dihedrals ' *************** *** 342,348 **** endif call istuff(ih(i1+m12-1),i1,ih(m14),i4) ip14 = ip14+1 - endif endif 512 continue --- 339,344 ---- Temporary workarounds: none Routines affected: rdparm --