Commit c1af22ca authored by Gernot Maier's avatar Gernot Maier
Browse files

notebooks updates

parent fcd7d1ec
......@@ -271,7 +271,7 @@ plt.show()
#
# Assume here that $L_{pk} \approx L_{sh}$ (all optical emission is shock powered, without any contribution from e.g. radiactive decay).
# ## Calorimetric Technique
# ## Calorimetry
#
# Conditions on the optical depth are very similar to the required conditions for particle acceleration and that the shock discontinuity is mediated by collisionless plasma. At times earlier than $t_{pk}$, the trapped radiations thickens the shock transition to macroscopic scale and does not allow any particle injection.
#
......@@ -300,9 +300,22 @@ plt.show()
# For Novae: $\epsilon_{rel} \sim 0.003 - 0.01$
# **Dynamical tooling time scale:**
# **Shock dynamical time scale:**
#
# $t_{dyn} \sim R_{sh} / v_{sh}$
#
# Assume in the following $t_{dyn} \sim t_{pk}$.
#
# Approximation of opacity in fully ionized gas (electron scattering):
#
# $k_{es} \approx \sigma_T / m_p \approx 0.38 $ cm$^2$ g$^{-1}$.
#
# This is a good approximation for hydrogen-rich ejected; for hydro-poor ejecta, the opacity should be lower.
def t_dyn(n, v_sh, kappa = 0.38 * u.cm**2/u.g):
"dynamical time scale (peak time)"
return c/v_sh**2/n/(const.m_p*kappa)
# **Cooling times scale for radiatively cooled thermal gas**:
#
......@@ -342,3 +355,93 @@ def t_pp(n, sigma_pp=5.e-25*u.cm**2):
return 1./n/sigma_pp/const.c
# **Cooling due to photo pion production:**
#
# Threshold for photo pion production:
#
# $
# E_{p,th} \approx (\epsilon_{p\gamma ,th}/\epsilon_{opt}) m_p c^2 = 1.4\times 10^{16} (\epsilon_{opt}/$10 eV$)^{-1}$ eV
#
# with $\epsilon_{p\gamma ,th}=(m_{\pi}+m_{\pi}^2/m_p)c^2 \approx 150$ MeV
# **Cooling time scale summary**
#
# All ratios at $t_{pk}$.
#
# Ratios $t_{cool}/t_{dyn}$ and $t_{pp}/t_{dyn}$ show that both thermal and non-thermal particles cool efficienctly around $t_{pk}$ and that a calometric approach can be considered for shock-powered transients.
# +
def v_85(v_sh):
"convenient shock speed"
return v_sh/(30000. * u.km/u.s)
def kappa_03(kappa):
"convenient kappa"
return kappa / (0.3 *u.cm**2/u.g)
def t_cool_dyn(v_sh, kappa=0.38*u.cm**2/u.g):
"ratio cooling to dynamical time scale"
return 1.e-3 * kappa_03(kappa) * v_85(v_sh)**3
def t_pp_dyn(v_sh, kappa=0.38*u.cm**2/u.g):
"ratio pp cooling to dynamical time scale"
return 1.e-3 * kappa_03(kappa) * v_85(v_sh)**2
def t_pp_pgamma(v_sh,e_opt=1*u.eV,f_omega=1.):
"ratio of pp to p_gamma cooling"
return 4.*v_85(v_sh)**2/e_opt*f_omega
v_sh = (np.logspace( 3, 5.5, 100))*u.km/u.s
plt.gcf().clear()
plt.figure(figsize=(6,6))
r_cool_dyn = t_cool_dyn(v_sh)
plt.plot(
v_sh,
r_cool_dyn,
label="$t_{cool}/t_{dyn}$")
# H poor environement with lower opacity
r_cool_dyn_Hpoor = t_cool_dyn(v_sh, 0.5*0.38*u.cm**2/u.g)
#plt.plot(
# v_sh,
# r_cool_dyn_Hpoor,
# label="$t_{cool}/t_{dyn}$ (H poor)")
r_pp_dyn = t_pp_dyn(v_sh)
plt.plot(
v_sh,
r_pp_dyn,
label="$t_{pp}/t_{dyn}$")
# depends strongly on f_omega!
r_pp_pgamma = t_pp_pgamma(v_sh, 1., 1.)
plt.plot(
v_sh,
r_pp_pgamma,
label="$t_{pp}/t_{p\gamma}$")
plt.xlabel("shock velocity ($km/s$)",fontsize=14)
plt.ylabel("ratio of cooling time scales",fontsize=14)
plt.yscale('log')
plt.xscale('log')
plt.legend()
plt.title("Ratio of cooling time scales" )
plt.show()
# -
# ## Diffusive shock acceleration
#
# **Maximum Ion Energy:**
#
# Magnetic field strenght near shock (derived using equipartion arguments?):
#
# $
# B_{sh} = \left( 6 \pi \epsilon_B m_p n_{sh} v_{sh}^2 \right)^{1/2}
# $
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment