Beispiel #1
0
from matplotlib import rc

rc('text', usetex=True)  # use latex in figures

import Image
import fortranfile  # for fortran data import
import initialize as my

# check syntax
i = len(sys.argv)
if i != 5:
    print "Usage: fit_plummer.py prof_stars.dat xc yc zc"
    exit(1)

filename = sys.argv[1]
f = my.open_file(filename, "r")
c = loadtxt(f)
f.close()

xc = float(sys.argv[2])
yc = float(sys.argv[3])
zc = float(sys.argv[4])

x = array(c[:, 0]) - xc
y = array(c[:, 1]) - yc
z = array(c[:, 2]) - zc
m = array(c[:, 3])
rho = array(c[:, 4])

r = sqrt(x * x + y * y + z * z)
order = r.argsort()
Beispiel #2
0
import os
import initialize as my
import mys
from numpy import *

if (len(sys.argv) != 3):
    print "usage: merger_tree.py snap1 snap2"
    print "assumption: output_00snap1,2 contain particles_dm in AHF format"
    exit(1)
snap1 = int(sys.argv[1])
snap2 = int(sys.argv[2])

# read in halos repeatedly
fname = mys.d(snap1) + "particles_dm"
print fname
in1 = my.open_file(fname, "r")
alm1 = int(in1.readline())
size1 = []
split1 = []
for i in range(alm1):
    size = int(in1.readline())
    size1.append(size)
    part = []
    for c in range(size):
        part.append(int(in1.readline()))
    split1.append(part)
in1.close()

in2 = my.open_file(mys.d(snap2) + "particles_dm", "r")
alm2 = int(in2.readline())
size2 = []
snap = int(sys.argv[1])
hid = int(sys.argv[2])

# print "missing file"
if not mys.exists_snap(snap):
    print "snapshot " + str(snap) + " missing"
    exit(0)

xc, yc, zc, rvir = mys.getxyzrstars_hid(snap, hid)

file_name = mys.d(snap) + "stars/stars_" + str(hid) + ".dat"
if os.path.getsize(file_name) == 0:
    print "empty file"
    exit()

halo = my.open_file(file_name, "r")
x = []
y = []
z = []
N = 0
for line in halo:
    N = N + 1
    val = line.split()
    x.append(float(val[1]))
    y.append(float(val[2]))
    z.append(float(val[3]))

x = array(x)
y = array(y)
z = array(z)
r = np.sqrt((x - xc) ** 2 + (y - yc) ** 2 + (z - zc) ** 2)
matplotlib.use('Agg') # use png output
from matplotlib import rc
rc('text',usetex=True)# use latex in figures

import Image
import fortranfile    # for fortran data import
import initialize as my

# check syntax
i=len(sys.argv)
if i!=5:
    print "Usage: fit_plummer.py prof_stars.dat xc yc zc"
    exit(1)

filename=sys.argv[1]
f = my.open_file(filename,"r")
c = loadtxt(f)
f.close()

xc = float(sys.argv[2])
yc = float(sys.argv[3])
zc = float(sys.argv[4])

x=array(c[:,0])-xc
y=array(c[:,1])-yc
z=array(c[:,2])-zc
m=array(c[:,3])
rho=array(c[:,4])

r=sqrt(x*x+y*y+z*z)
order=r.argsort()
    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)
Beispiel #6
0
    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 \
        and abs(zc-zc2)/abs(zc)   < eps #\
Beispiel #7
0
import sys
import os
from numpy import *
import initialize as my
import mys

if (len(sys.argv) != 2):
    print "usage: substructure.py snap"
    print "assumption: output_snap contains particles_dm in AHF format"
    print "wrong number of arguments"
    exit(1)

snap = int(sys.argv[1])
# read in halos repeatedly
inf = my.open_file(mys.d(snap) + "particles_dm", "r")
alm = int(inf.readline())
size = []
split = []
for i in range(alm):
    siz = int(inf.readline())
    size.append(siz)
    part = []
    for c in range(siz):
        part.append(int(inf.readline()))
    split.append(part)
inf.close()

print "read in successful"

Beispiel #8
0
snap=int(sys.argv[1])
hid=int(sys.argv[2])

#print "missing file"
if(not mys.exists_snap(snap)):
    print "snapshot "+str(snap)+" missing"
    exit(0)

xc,yc,zc,rvir=mys.getxyzrstars_hid(snap,hid)

file_name=mys.d(snap)+"stars/stars_"+str(hid)+".dat"
if(os.path.getsize(file_name)==0):
    print "empty file"
    exit()

halo = my.open_file(file_name,"r")
x=[];y=[];z=[]; N=0
for line in halo:
    N=N+1
    val=line.split()
    x.append(float(val[1]))
    y.append(float(val[2]))
    z.append(float(val[3]))

x = array(x); y = array(y); z = array(z)
r  = np.sqrt((x-xc)**2+(y-yc)**2+(z-zc)**2)
order = r.argsort()
r = r[order]
# ASS: all star particles have the same mass
mys.set_rhalf_star(snap,hid,r[N/2])
Beispiel #9
0
    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)+"dm/dm_"+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 \
        and abs(zc-zc2)/abs(zc)   < eps #\
Beispiel #10
0
import sys
import os
from numpy import *
import initialize as my
import mys

if(len(sys.argv)!=2):
	print "usage: substructure.py snap"
	print "assumption: output_snap contains particles_dm in AHF format"
	print "wrong number of arguments"
	exit(1)

snap = int(sys.argv[1])
# read in halos repeatedly
inf = my.open_file(mys.d(snap)+"particles_dm","r")
alm = int(inf.readline())
size = []; split = []
for i in range(alm):
    siz = int(inf.readline())
    size.append(siz)
    part = []
    for c in range(siz):
        part.append(int(inf.readline()))
    split.append(part)
inf.close()

print "read in successful"

def count_shared(m1,m2):
    cc = 0
Beispiel #11
0
import sys
import os
import initialize as my
import mys
from numpy import *

if(len(sys.argv)!=3):
	print "usage: merger_tree.py snap1 snap2"
	print "assumption: output_00snap1,2 contain particles_dm in AHF format"
	exit(1)
snap1 = int(sys.argv[1]); snap2 = int(sys.argv[2])
	
# read in halos repeatedly
fname=mys.d(snap1)+"particles_dm"
print fname
in1 = my.open_file(fname,"r")
alm1 = int(in1.readline())
size1 = []; split1 = []
for i in range(alm1):
    size = int(in1.readline())
    size1.append(size)
    part = []
    for c in range(size):
        part.append(int(in1.readline()))
    split1.append(part)
in1.close()

in2 = my.open_file(mys.d(snap2)+"particles_dm","r")
alm2 = int(in2.readline())
size2 = []; split2 = []
for i in range(alm2):