In [ ]:
%matplotlib inline
import yt
import logging
logging.getLogger('yt').setLevel(logging.ERROR)
import numpy as np
import matplotlib
matplotlib.rcParams['figure.dpi'] = 150
import matplotlib.pyplot as plt
from tools import setup_cl
In [ ]:
print(matplotlib.rcParams['figure.dpi'])
dirs = ['/home/ychen/data/0only_0330_h0_nojiggle/',\
'/home/ychen/data/0only_0518_hydro_nojiggle/',\
'/home/ychen/data/0only_0314_h1_nojiggle/',\
'/home/ychen/data/0only_0525_hinf_nojiggle/',\
]
colors, labels = setup_cl(dirs)
tt = np.linspace(0, 5, 10)
for dir in dirs:
data = np.loadtxt(dir+'GridAnalysis_LobeSize.txt')
label = labels[dir]
plt.fill_between(data[:,1], data[:,2], -data[:,3],\
facecolor=colors[dir], lw=1, edgecolor=colors[dir], alpha=0.7, label=label)
#plt.fill_between(data[:,1], data[:,4], -data[:,5],\
# facecolor=colors[dir], lw=1, linestyle=':', edgecolor=colors[dir], alpha=0.3)
plt.plot(tt, 10*tt, ':', c='orange', label='10 kpc / Myr')
plt.plot(tt, 8*tt, '--', c='cyan', label='8 kpc / Myr')
plt.legend(loc=2)
handles, labels = plt.axes().get_legend_handles_labels()
# reverse the order
plt.legend(handles[::-1], labels[::-1])
plt.grid(ls='--', alpha=0.5)
plt.ylabel('z (kpc)')
plt.xlabel('t (Myr)')
plt.xlim(0,5)
plt.ylim(0,60)
plt.savefig('LobeSize_nojiggle.pdf')
#plt.show()
#plt.semilogx()
In [ ]:
In [ ]:
def cal_vel(locations, times):
loc_c = (locations[:-1] + locations[1:])/2
vel = (locations[:-1] - locations[1:])/(times[:-1]-times[1:])
return loc_c, vel
In [ ]:
for zEdge in [zEdgep, zEdgem]:
zEdge_c, vEdge = cal_vel(zEdge, time)
plt.plot(np.abs(zEdge_c), np.abs(vEdge))
plt.xlabel('z (kpc)')
plt.ylabel('velocity (kpc/Myr)')
In [ ]:
sim_Tcore = 3.48E7
sim_Tout = 7.42E7
sim_rhoCore = 9.6E-26 # g/cm3 = N particles/cm3 * 1.67E-24 = 1.91 * N electrons/cm3 * 1.67E-24
sim_mu = 0.61 # mean molecular weight
sim_windVel = 0.0
sim_gammaICM = 1.66666
sim_bzAmbient = 0.0 #1.8623E-6
sim_densityProfile = "betacore"
sim_densityBeta = 0.53 # for the beta-model density profile
sim_rCore = 8.1E22 # 1.26 arcmin *20.81 kpc/arcmin
sim_rCoreT = 1.85E23 # 60kpc
kpc = 3.086e+21
kB = 1.38E-16
R = 8.3144725E7
distance = np.linspace(0.1*kpc, 60*kpc, 150)
densityBG = sim_rhoCore*(1.0 + (distance/sim_rCore)**2)**(-1.5*sim_densityBeta)
tempBG = sim_Tout*(1.0+(distance/sim_rCoreT)**3)/(sim_Tout/sim_Tcore+(distance/sim_rCoreT)**3)
pressureBG = densityBG*tempBG*R
Myr = 3.155760e+13
sim_velJet = 3.0E9
rhoJet = 1.27E-26
In [ ]:
In [ ]:
eta = rhoJet*2/densityBG
velHead = np.sqrt(eta)/(1+np.sqrt(eta))*sim_velJet
plt.plot(distance/kpc, velHead/kpc*Myr, ls='--', c='grey', label=r'$2\rho_j$')
eta = rhoJet/densityBG
velHead = np.sqrt(eta)/(1+np.sqrt(eta))*sim_velJet
plt.plot(distance/kpc, velHead/kpc*Myr, ls='-', c='grey', label=r'$\rho_j$')
eta = rhoJet*0.5/densityBG
velHead = np.sqrt(eta)/(1+np.sqrt(eta))*sim_velJet
plt.plot(distance/kpc, velHead/kpc*Myr, ls='-.', c='grey', label=r'$\frac{1}{2}\rho_j$')
eta = rhoJet/4/densityBG
velHead = np.sqrt(eta)/(1+np.sqrt(eta))*sim_velJet
plt.plot(distance/kpc, velHead/kpc*Myr, ls=':', c='grey', label=r'$\frac{1}{4}\rho_j$')
for dir in dirs:
data = np.loadtxt(dir+'GridAnalysis_LobeSize.txt')
fnumber = data[:,0]
time = data[:,1]
zEdgep = data[:,2]
zEdgem = data[:,3]
zCenterp = data[:,4]
zCenterm = data[:,5]
rEdgep = data[:,6]
rEdgem = data[:,7]
zEdge_c, vEdge = cal_vel(zEdgem, time)
plt.plot(np.abs(zEdge_c), np.abs(vEdge), color=colors[dir], label=labels[dir])
#zEdge_c, vEdge = cal_vel(zEdgem, time)
#plt.plot(np.abs(zEdge_c), np.abs(vEdge), color=colors[dir])
#plt.xlim(0, 60)
plt.xlabel('distance (kpc)')
plt.ylim(0, 16)
plt.ylabel('Jet head velocity (kpc/Myr)')
plt.legend(loc=4)
In [ ]: