pro enlarge_boxes fin='glass_10x10x10' readnew,fin,h,'HEAD' readnew,fin,xin,'POS' xin[*,*] /= h.BOXSIZE Nin = TOTAL(h.npart,/int) Ndup = 10L fout='glass_100x100x100' Np = Ndup^3 * Nin x=fltarr(3,Np) i=0L FOR ix=0,Ndup-1 DO BEGIN FOR iy=0,Ndup-1 DO BEGIN FOR iz=0,Ndup-1 DO BEGIN FOR j=0L,Nin-1 DO BEGIN x[0,i] = (xin[0,j] + ix) / Ndup x[1,i] = (xin[1,j] + iy) / Ndup x[2,i] = (xin[2,j] + iz) / Ndup i++ END END END END v = fltarr(3,Np) u=fltarr(Np) m=fltarr(Np) id=lindgen(Np) h.BOXSIZE=1 h.MASSARR[*]=0 gamma=5./3. rho=0.125 P = 1.0 u[*] = P/(gamma-1)/rho m[*] = (rho * h.BOXSIZE^3)/Np h.npart[*]=0 h.npart[0]=Np h.PARTTOTAL[*]=0 h.PARTTOTAL[0]=Np write_head,fout,h add_block,fout,x,'POS ' add_block,fout,v,'VEL ' add_block,fout,id,'ID ' add_block,fout,m,'MASS' add_block,fout,u,'U ' end