program read_superspacegroups * read the data file containing the superspacegroups implicit none integer i,j,k,m,n,ng * superspace group number: 1.1, 2.1, 3.1, etc. character nstring(775)*6 * symbol: P1(abg), P-1(abg), etc. character ssgstring(775)*21 * number of generators integer ngenerators(775) * affine transformation for each generator real generator(5,5,5,775) * open data file open(30,file='superspacegroups_data.txt') * skip heading read(30,*) read(30,*) read(30,*) * read each superspace group do m=1,775 read(30,*)n,nstring(n),ssgstring(n),ngenerators(n), $ (((generator(i,j,k,n),j=1,5),i=1,5),k=1,ngenerators(n)) * fix fractions that have been rounded off do k=1,ngenerators(n) do j=1,5 do i=1,5 ng=nint(generator(i,j,k,n)*12) generator(i,j,k,n)=1.0*ng/12 enddo enddo enddo enddo end