gss = "get_sphere_stars" i = len(sys.argv) if (i != 3): print "usage: gen_spheres.py snap typ" exit(1) facr = 1 # * rvir from AHF for maximal radial distance to include particles snap = sys.argv[1] typ = int(sys.argv[2]) sim = mys.d(snap) # get xc,yc,zc,mvir,rvir xcl, ycl, zcl, mvirl, rvirl = mys.getxyzmr(snap, typ) xsl, ysl, zsl, rsl = mys.getxyzrstars(snap, typ) #print 'select ',xcl[0] #print len(xcl) for i in range(len(xcl)): xc = str(xcl[i]) xs = str(xsl[i]) yc = str(ycl[i]) ys = str(ysl[i]) zc = str(zcl[i]) zs = str(zsl[i]) r = str(rvirl[i] * facr) rs = str(rsl[i] * facr * 0.9) sj = str(i + 1)
show= True; run = True; loop=True # choose: get_particles for all particles # get_particles_dm for dm particles only gps = "get_particles" i = len(sys.argv) if(i!=2): print "usage: gen_particles_list.py snap" exit(1) facr = 1 # * rvir from AHF for maximal radial distance to include particles snap = int(sys.argv[1]) d = mys.d(snap) pdm=d+"particles_dm" xl,yl,zl,ml,rl = mys.getxyzmr(snap,2) nhalo= mys.get_nhalo(snap) os.system("rm "+d+"particles_dm") os.system("echo '"+str(nhalo)+"' >> "+pdm) for i in range(len(xl)): xc=str(xl[i]); yc=str(yl[i]); zc=str(zl[i]); r=str(facr*rl[i]) tmpdat = d+"tmp_"+str(i+1)+".dat" # all particles (DM/stars mixed) cmd1 = gps+" -inp "+d cmd1 +=" -xc "+xc+" -yc "+yc+" -zc "+zc+" -r "+r cmd1 +=">"+tmpdat cmd2 ="true" my.threadif(cmd1,cmd2,run,run,show,run)
print "shrink_sphere.py snap hid" exit(0) snap=int(sys.argv[1]) hid=int(sys.argv[2]) eps=1e-5 frad = 0.9 # shrinked sphere has radius frad*maxr, # i.e. frad = 0.90 means 10% smaller #print "missing file" if(not mys.exists_snap(snap)): print "snapshot "+str(snap)+" missing" exit(0) xc,yc,zc,mvir,rvir=mys.getxyzmr(snap,1) halo = my.open_file(mys.d(snap)+"stars/stars_"+str(hid)+".dat","r") x=[];y=[];z=[];m=[] for line in halo: val=line.split() m.append(float(val[0])) x.append(float(val[1])) y.append(float(val[2])) z.append(float(val[3])) x = array(x); y = array(y); z = array(z); m = array(m) #print x def converged(xc,yc,zc,xc2,yc2,zc2): return abs(xc-xc2)/abs(xc) < eps \ and abs(yc-yc2)/abs(yc) < eps \
print "shrink_sphere.py snap hid" exit(0) snap = int(sys.argv[1]) hid = int(sys.argv[2]) eps = 1e-5 frad = 0.9 # shrinked sphere has radius frad*maxr, # i.e. frad = 0.90 means 10% smaller # print "missing file" if not mys.exists_snap(snap): print "snapshot " + str(snap) + " missing" exit(0) xc, yc, zc, mvir, rvir = mys.getxyzmr(snap, 1) halo = my.open_file(mys.d(snap) + "stars/stars_" + str(hid) + ".dat", "r") x = [] y = [] z = [] m = [] for line in halo: val = line.split() m.append(float(val[0])) x.append(float(val[1])) y.append(float(val[2])) z.append(float(val[3])) x = array(x) y = array(y) z = array(z)
loop = True # choose: get_particles for all particles # get_particles_dm for dm particles only gps = "get_particles" i = len(sys.argv) if (i != 2): print "usage: gen_particles_list.py snap" exit(1) facr = 1 # * rvir from AHF for maximal radial distance to include particles snap = int(sys.argv[1]) d = mys.d(snap) pdm = d + "particles_dm" xl, yl, zl, ml, rl = mys.getxyzmr(snap, 2) nhalo = mys.get_nhalo(snap) os.system("rm " + d + "particles_dm") os.system("echo '" + str(nhalo) + "' >> " + pdm) for i in range(len(xl)): xc = str(xl[i]) yc = str(yl[i]) zc = str(zl[i]) r = str(facr * rl[i]) tmpdat = d + "tmp_" + str(i + 1) + ".dat" # all particles (DM/stars mixed) cmd1 = gps + " -inp " + d cmd1 += " -xc " + xc + " -yc " + yc + " -zc " + zc + " -r " + r
gss = "get_sphere_stars" i = len(sys.argv) if(i!=3): print "usage: gen_spheres.py snap typ" exit(1) facr = 1 # * rvir from AHF for maximal radial distance to include particles snap = sys.argv[1] typ = int(sys.argv[2]) sim = mys.d(snap) # get xc,yc,zc,mvir,rvir xcl,ycl,zcl,mvirl,rvirl = mys.getxyzmr(snap,typ) xsl,ysl,zsl,rsl = mys.getxyzrstars(snap,typ) #print 'select ',xcl[0] #print len(xcl) for i in range(len(xcl)): xc=str(xcl[i]); xs=str(xsl[i]); yc=str(ycl[i]); ys=str(ysl[i]); zc=str(zcl[i]); zs=str(zsl[i]); r=str(rvirl[i]*facr); rs=str(rsl[i]*facr*0.9); sj=str(i+1) # Dark Matter only cmd = gsd+" -inp "+sim cmd +=" -xc "+xc+" -yc "+yc+" -zc "+zc+" -rc "+r