C calculate vectors to all lattice points up to a certain order C (in real space for now) and compare with spacings of alternative C cells to get relation. C 40 REAL A(3),GAM(3),B(3,3) INTEGER M(3) character*11 cstring DATA A /141.,141.,142./ DATA GAM /90.,90.,90./ C DATA A 123.0 123.3 123.3 C DATA GAM 109.1 109.9 109.2 read(5,*) (a(i),i=1,3),(gam(i),i=1,3) cc WRITE(6,"(6F10.4)") (A(I),I=1,3),(GAM(I),I=1,3) 60 PI=4*ATAN(1.0) cc WRITE(6,*) "pi=",PI DO 70 I=1,3 70 GAM(I)=GAM(I)*PI/180 cc WRITE(6,"(6F10.4)") (A(I),I=1,3),(GAM(I),I=1,3) 110 B(1,1)=A(1) 120 B(1,2)=0. 130 B(1,3)=0. 140 B(2,1)=A(2)*COS(GAM(3)) 150 B(2,2)=A(2)*SIN(GAM(3)) 160 B(2,3)=0. 170 B(3,1)=A(3)*COS(GAM(2)) 180 B(3,2)=A(3)*(COS(GAM(1))-COS(GAM(2))*COS(GAM(3)))/SIN(GAM(3)) 190 B(3,3)=SQRT (A(3)**2-(B(3,1)**2+B(3,2)**2)) c200 WRITE (6,*) c DO 205 I=1,3 c205 WRITE(6,"(3F12.4)")(B(I,J),J=1,3) C300 CONTINUE occ=1.0 bfact=20.0 310 DO 430 I=1,7 M(1)=I-4 320 do 430 J=1,7 M(2)=J-4 330 do 430 K=1, 7 M(3)=K-4 C C do 400 II=1,3 A(II)=0 370 DO 400 JJ=1,3 400 A(II)=A(II)+M(JJ)*B(JJ,II) D=0 do 405 II=1,3 405 D=D+A(II)**2 D=SQRT(D) 410 ires=100*I+10*J+K c write(6,*)i,j,k,ires 430 write (6,431) "ATOM ",ires," CA ALA A", ires,(A(ii),ii=1,3),occ,bfact c . 431 format (A6,I5,A11,i4,' ',3f8.3,2f6.2) cATOM 3103 O1D HEM A 2 15.332 -8.749 60.863 1.00 20.00360 DO 400 II=1,3 write(6,431)'END ' 500 END