Prepared to analyze multiple subhalos

This commit is contained in:
Yohai Meiron 2020-05-13 14:11:48 -04:00
parent b86625ea13
commit 3f4025d9fb
8 changed files with 537 additions and 479 deletions

View file

@ -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()