subroutine push implicit double precision(a-h,o-z) #include "divcon.dim" #include "divcon.h" C pushes the residues, as defined in the push groups, apart character line*80 C-RDC write(iout,'(/" PUSH THE CLUSTER GROUPS APART BY ",E12.5," A")') C-RDC & push0 C displace the groups, building a cube in order to avoid possible C overflow problems ndim = (ncores-1)**(0.3333334) + 1 ndim2 = ndim*ndim do i=2,ncores ix = mod(i-1,ndim) iy = mod(i-1,ndim2)/ndim iz = (i-1)/ndim2 disx = dble(ix)*push0 disy = dble(iy)*push0 disz = dble(iz)*push0 j1 = icorel1(i) j2 = icorel1(i+1)-1 do j=j1,j2 k1 = irpnt(j) k2 = irpnt(j+1)-1 do k=k1,k2 xyz(1,k) = xyz(1,k) + disx xyz(2,k) = xyz(2,k) + disy xyz(3,k) = xyz(3,k) + disz enddo enddo enddo end