コード例 #1
0
ファイル: gen_spheres.py プロジェクト: hasanmoudud/darcoda
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)
コード例 #2
0
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)
コード例 #3
0
    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 \
コード例 #4
0
    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)
コード例 #5
0
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
コード例 #6
0
ファイル: gen_spheres.py プロジェクト: PascalSteger/darcoda
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