analyz1.f_%%mBIN)j PROGRAM analyz1 C Analyzing the simulation with xmol.d file CHARACTER*8 head C ita & iga:atomic number of tube atoms and gas atom DIMENSION ita(1000),iga(1000) C xa,ya,za: coordinates of gas atoms C xp,yp,zp: coordinates of center of mass of molecules DIMENSION xa(42),ya(42),za(42),xp(3),yp(3),zp(3) C dend; end to end (C1-C4) distance of butane molecules DIMENSION xend(3),yend(3),zend(3),dend(3) OPEN (18,file='./input.d',status='old') OPEN (19,file='./xmol.d',status='old') OPEN (21,file='./z-t_part1.d',status='unknown') OPEN (22,file='./z-t_part2.d',status='unknown') OPEN (23,file='./z-t_part3.d',status='unknown') C Reading informations from input.d and xmol.d READ(18,*) ntotstep,noutw,ntherm,nxmolw READ(19,*) np CLOSE(19) IF((np.EQ.435).OR.(np.EQ.695)) ngatom=15 IF((np.EQ.462).OR.(np.EQ.722)) ngatom=42 ntatom=np-ngatom nframe=ntotstep/nxmolw dtime=nxmolw*0.2/1000.0 ptime=0.0 OPEN (19,file='./xmol.d',status='old') WRITE(21,*) 'Molecule 1' WRITE(22,*) 'Molecule 2' WRITE(23,*) 'Molecule 3' WRITE(21,*) 'Time (ps) CM-CCNT CM in z End-to-end' WRITE(22,*) 'Time (ps) CM-CCNT CM in z End-to-end' WRITE(23,*) 'Time (ps) CM-CCNT CM in z End-to-end' WRITE(21,*) '--------- --------- --------- ----------' WRITE(22,*) '--------- --------- --------- ----------' WRITE(23,*) '--------- --------- --------- ----------' DO 2 ifra=1,nframe ptime=ptime+dtime READ(19,*) np READ(19,400) head DO 3 ia1=1,ntatom READ(19,*) ita(ia1),xx,yy,zz 3 CONTINUE DO 4 ia2=1,ngatom READ(19,*) iga(ia2),xa(ia2),ya(ia2),za(ia2) 4 CONTINUE C234567890c234567890c234567890c234567890c234567890c234567890c23456789012 C Center of mass IF(ngatom.EQ.15) THEN DO ik=1,3 ikc=5*(ik-1) xp(ik)=xa(ikc+1) yp(ik)=ya(ikc+1) zp(ik)=za(ikc+1) dcc=sqrt(xp(ik)**2.0+yp(ik)**2.0) xend(ik)=0.0 yend(ik)=0.0 zend(ik)=0.0 dend(ik)=sqrt(xend(ik)**2.0+yend(ik)**2.0+zend(ik)**2.0) IF(ik.EQ.1) WRITE(21,450) ptime,dcc,zp(ik),dend(ik) IF(ik.EQ.2) WRITE(22,450) ptime,dcc,zp(ik),dend(ik) IF(ik.EQ.3) WRITE(23,450) ptime,dcc,zp(ik),dend(ik) ENDDO ELSEIF(ngatom.EQ.42) THEN DO il=1,3 ilc=14*(il-1) xp(il)=(xa(ilc+1)+xa(ilc+2)+xa(ilc+3)+xa(ilc+4))*12 & +xa(ilc+5)+xa(ilc+6)+xa(ilc+7)+xa(ilc+8)+xa(ilc+9)+ & +xa(ilc+10)+xa(ilc+11)+xa(ilc+12)+xa(ilc+13)+xa(ilc+14) xp(il)=xp(il)/(4*12+10) xend(il)=xa(ilc+4)-xa(ilc+1) yp(il)=(ya(ilc+1)+ya(ilc+2)+ya(ilc+3)+ya(ilc+4))*12 & +ya(ilc+5)+ya(ilc+6)+ya(ilc+7)+ya(ilc+8)+ya(ilc+9)+ & +ya(ilc+10)+ya(ilc+11)+ya(ilc+12)+ya(ilc+13)+ya(ilc+14) yp(il)=yp(il)/(4*12+10) yend(il)=ya(ilc+4)-ya(ilc+1) zp(il)=(za(ilc+1)+za(ilc+2)+za(ilc+3)+za(ilc+4))*12 & +za(ilc+5)+za(ilc+6)+za(ilc+7)+za(ilc+8)+za(ilc+9)+ & +za(ilc+10)+za(ilc+11)+za(ilc+12)+za(ilc+13)+za(ilc+14) zp(il)=zp(il)/(4*12+10) zend(il)=za(ilc+4)-za(ilc+1) dcc=sqrt(xp(ik)**2.0+yp(ik)**2.0) dend(il)=sqrt(xend(il)**2.0+yend(il)**2.0+zend(il)**2.0) IF(il.EQ.1) WRITE(21,450) ptime,dcc,zp(il),dend(il) IF(il.EQ.2) WRITE(22,450) ptime,dcc,zp(il),dend(il) IF(il.EQ.3) WRITE(23,450) ptime,dcc,zp(il),dend(il) ENDDO ELSE ENDIF 2 CONTINUE 400 FORMAT(30a2) 450 FORMAT(F8.3,3F14.4) CLOSE(18) CLOSE(19) CLOSE(21) CLOSE(22) CLOSE(23) END