program ms c c makes script for roa differentiation with dalton character*80 if,s80,of,af character*1 s1 character*2 s2 dimension r(3) c write(6,*)'.mol input file (WITH the .mol extension):' read(5,'(a)')if open(2,file=if) do 1 i=1,4 1 read(2,*) read(2,20)ng 20 format(1x,i4) write(6,*)ng,' groups' nat=0 do 2 i=1,ng read(2,*)z,nt nat=nat+nt do 2 j=1,nt 2 read(2,*) c write(6,*)nat,' atoms found' step=0.005 write(6,*)'step = 0.005' write(6,*) write(6,*)'.dal input file (WITHOUT the .dal extension):' read(5,'(a)')af c open(4,file='scr') open(5,file='DS') nii=2*3*nat do 3 ii=0,nii iat=(ii+5)/6 iax=(ii-6*(iat-1)+1)/2 i2=ii-6*(iat-1)-2*(iax-1) if(iat.eq.0)iax=0 if(iat.eq.0)i2=0 rewind 4 write(4,40)ii 40 format(i4) rewind 4 read(4,41)of(1:4) 41 format(a4) of(5:8)='.mol' write(5,50)af(1:40),of(1:4) write(6,51)iat,iax,i2,of(1:8) 51 format(3i3,a8) 50 format('dalton ',a40,1x,a4) rewind 2 if(ii.gt.999)open(3,file=of(1:8)) if(ii.le.999.and.ii.gt.99)open(3,file=of(2:8)) if(ii.le.99.and.ii.gt.9)open(3,file=of(3:8)) if(ii.le.9)open(3,file=of(4:8)) do 4 i=1,5 read(2,80)s80 80 format(a80) 4 write(3,80)s80 ia=0 do 5 i=1,ng read(2,200)z,nt 200 format(f11.1,i4) write(3,200)z,nt do 5 j=1,nt ia=ia+1 read(2,300)s2,(r(ix),ix=1,3) 300 format(a2,1x,3f20.15) if(ia.eq.iat)then if(i2.eq.1)r(iax)=r(iax)+step if(i2.eq.2)r(iax)=r(iax)-step endif 5 write(3,300)s2,(r(ix),ix=1,3) close(3) 3 continue close(2) close(4) close(5) write(6,*)'You can run the "DS" file now.' stop end