Prepared to analyze multiple subhalos
This commit is contained in:
parent
b86625ea13
commit
3f4025d9fb
8 changed files with 537 additions and 479 deletions
|
|
@ -2,12 +2,22 @@
|
|||
#All pylint codes: http://pylint.pycqa.org/en/latest/technical_reference/features.html
|
||||
|
||||
from pylab import *
|
||||
import h5py
|
||||
import os, h5py
|
||||
from density_center import def_dc
|
||||
import ellipsoids
|
||||
import scipy.optimize
|
||||
from astropy.cosmology import Planck15
|
||||
|
||||
# Simumation parameters
|
||||
h0 = 0.6774
|
||||
snap, z = loadtxt('data/snapshots.dat', unpack=True)
|
||||
snap = snap.astype(int)
|
||||
a = 1/(1+z)
|
||||
t = Planck15.age(z).value
|
||||
|
||||
# Halo parameters
|
||||
file_name = 'data/subhalo_420304.hdf5'
|
||||
|
||||
def miyamoto_nagai_params_from_medians(m_d, m_z):
|
||||
m_d_pred = lambda x: exp(1.43475163 + (1.04827148*log(x)-1.09023112)*(arctan(log(x)/2.30939056)/pi+0.5))
|
||||
m_z_pred = lambda x: 5.77340E-01*x
|
||||
|
|
@ -18,16 +28,6 @@ def miyamoto_nagai_params_from_medians(m_d, m_z):
|
|||
b = a*b_over_a
|
||||
return a, b
|
||||
|
||||
# Simumation parameters
|
||||
h0 = 0.6774
|
||||
snap, z = loadtxt('snapshots.dat', unpack=True)
|
||||
snap = snap.astype(int)
|
||||
a = 1/(1+z)
|
||||
t = Planck15.age(z).value
|
||||
|
||||
# Halo parameters
|
||||
file_name = 'data/subhalo_411321.hdf5'
|
||||
|
||||
# Dictionary of particle types
|
||||
particle_types = {}
|
||||
particle_types['gas'] = '0'
|
||||
|
|
@ -64,6 +64,10 @@ m = f[str(snapshot)][particle_types['stars']]['Masses'][...]
|
|||
X = f[str(snapshot)][particle_types['stars']]['Coordinates'][...] * a[i] / h0
|
||||
X_center_glob, _, R_glob, _ = get_transformation(m, X)
|
||||
|
||||
_, output_file_name = os.path.split(file_name)
|
||||
output_file_name, _ = os.path.splitext(output_file_name)
|
||||
output_file_name += '_parameters.dat'
|
||||
output_file = open(output_file_name, 'w')
|
||||
for i in range(len(snap)):
|
||||
snapshot = snap[0] + i
|
||||
|
||||
|
|
@ -113,6 +117,7 @@ for i in range(len(snap)):
|
|||
m_d = median(sqrt(x[mask]**2+y[mask]**2))
|
||||
a_mn, b_mn = miyamoto_nagai_params_from_medians(m_d, m_z)
|
||||
M_disk = sum(m)
|
||||
print('%d %.8E %15.8E %15.8E %15.8E %15.8E %15.8E %15.8E %15.8E %.8E %.8E %.8E %15.8E %15.8E %15.8E %.8E %.8E %.8E %.8E %.8E' % (snapshot, t[i], *X_center_stars, phi_inertia, theta_inertia, phi_L, theta_L, M_disk, a_mn, b_mn, *X_center_halo, M_halo_plummer, b_halo_plummer, rho_0_nfw, b_nfw, lsq_nfw))
|
||||
|
||||
output_file.write('%d %.8E %15.8E %15.8E %15.8E %15.8E %15.8E %15.8E %15.8E %.8E %.8E %.8E %15.8E %15.8E %15.8E %.8E %.8E %.8E %.8E %.8E\n' % (snapshot, t[i], *X_center_stars, phi_inertia, theta_inertia, phi_L, theta_L, M_disk, a_mn, b_mn, *X_center_halo, M_halo_plummer, b_halo_plummer, rho_0_nfw, b_nfw, lsq_nfw))
|
||||
output_file.flush()
|
||||
output_file.close()
|
||||
f.close()
|
||||
Loading…
Add table
Add a link
Reference in a new issue