program integratecub implicit none character*80 s80 integer*4 nat,ia,i,ix,iy,iz,grid(3) real*8 ax,ay,az,px,py,pz,xp,yp,v, 1bohr,lim real*8,allocatable::x(:,:),ro(:) c lim=1.0d-3 bohr=0.529177d0 open(8,file='DENSITY.CUB') read(8,2000)s80 write(6,2000)s80 2000 format(a80) read(8,*) read(8,*)nat,ax,ay,az nat=iabs(nat) allocate(x(3,nat)) read(8,*)grid(1),px read(8,*)grid(2),py,py read(8,*)grid(3),pz,pz,pz allocate(ro(grid(3))) do 902 ia=1,nat 902 read(8,*)(x(i,ia),i=1,2),(x(i,ia),i=1,3) v=0.0d0 xp=ax-px do 906 ix=1,grid(1) xp=xp+px yp=ay-py do 906 iy=1,grid(2) yp=yp+py read(8,4000)(ro(iz),iz=1,grid(3)) do 906 iz=1,grid(3) 906 if(ro(iz).gt.lim)v=v+px*py*pz 4000 format(6E13.5) write(6,600)v*bohr**3,v 600 format(' Volume: ',f12.6,' A^3',f12.6,' bohr^3') close(8) end