frb.turb_scattering - Turbulent Scattering
Scattering by the ISM, based on formalism from Macquart & Koay 2013, modified by Prochaska & Neeleman 2017.
Codes for Scattering by ISM Based on formalism derived by Macquart & Koay 2013, ApJ, 776, 125 Modified by Prochaska & Neeleman 2017
- frb.turb_scattering.theta_mist(n_e, nu_obs, L=<Quantity 50. kpc>, R=<Quantity 1. pc>, fV=1.0)[source]
Estimate the scattering angle for a mist, following the calculations by M. McQuinn presented in Prochaska+2019
- Args:
n_e (Quantity) – Electron density
nu_obs (Quantity) – Frequency of the radiation, observed
L (Quantity, optional) – Size of the region of the mist
R (Quantity, optional) – Size of the clouds
fV (float, optional) – Filling factor of the bubbles
- Returns:
Angle in radians
- Return type:
Quantity
- frb.turb_scattering.tau_mist(n_e, nu_obs, z_FRB, zL, L=<Quantity 50. kpc>, R=<Quantity 1. pc>, fV=1.0, cosmo=FlatLambdaCDM(name='Planck18', H0=<Quantity 67.66 km / (Mpc s)>, Om0=0.30966, Tcmb0=<Quantity 2.7255 K>, Neff=3.046, m_nu=<Quantity [0., 0., 0.06] eV>, Ob0=0.04897))[source]
Temporal broadening for a mist of spherical clouds following the calculations by M. McQuinn presented in Prochaska+2019
- Args:
n_e (Quantity) – Electron density
nu_obs (Quantity) – Frequency of the radiation, observed
z_FRB (float) – Redshift of the FRB
zL (float) – Redshift of the intervening lens
L (Quantity, optional) – Size of the region of the mist
R (Quantity, optional) – Size of the clouds
fV (float, optional) – Filling factor of the bubbles
cosmo (Cosmology, optional)
- Returns:
temporal broadening in seconds
- Return type:
Quantity
- frb.turb_scattering.ne_from_tau_mist(tau_scatt, z_FRB, zL, nu_obs, L=<Quantity 50. kpc>, R=<Quantity 1. pc>, fV=1.0, cosmo=FlatLambdaCDM(name='Planck18', H0=<Quantity 67.66 km / (Mpc s)>, Om0=0.30966, Tcmb0=<Quantity 2.7255 K>, Neff=3.046, m_nu=<Quantity [0., 0., 0.06] eV>, Ob0=0.04897), verbose=False)[source]
n_e from temporal broadening for a mist of spherical clouds following the calculations by M. McQuinn presented in Prochaska+2019
- Args:
tau_scatt (Quantity) – Observed width of the pulse
z_FRB (float) – Redshift of the FRB
zL (float) – Redshift of the intervening lens
nu_obs (Quantity) – Observed freqency
L (Quantity, optional) – Size of the region of the mist
R (Quantity, optional) – Size of the clouds
fV (float, optional) – Filling factor of the bubbles
cosmo (Cosmology, optional)
verbose (bool, optional)
- Returns:
density in cm**-3
- Return type:
Quantity
- frb.turb_scattering.ne_from_tau_kolmogorov(tau_scatt, z_FRB, zL, nu_obs, L=<Quantity 50. kpc>, L0=<Quantity 1. kpc>, alpha=1.0, cosmo=FlatLambdaCDM(name='Planck18', H0=<Quantity 67.66 km / (Mpc s)>, Om0=0.30966, Tcmb0=<Quantity 2.7255 K>, Neff=3.046, m_nu=<Quantity [0., 0., 0.06] eV>, Ob0=0.04897), debug=False)[source]
Estimate n_e based on observed temporal broadening
Scaled from Equation 1 of Prochaska et al. 2019
- Args:
tau_scatt (Quantity) – Observed width of the pulse
z_FRB (float) – Redshift of the FRB
zL (float) – Redshift of the intervening lens
nu_obs (Quantity) – Observed freqency
L (Quantity, optional) – Size of the intervening gas
L0 (Quantity, optional) – Turbulence length scale
alpha (float, optional) – Filling factor and fudge factor term
cosmo (Cosmology, optional)
- Returns:
<n_e>
- Return type:
Quantity
- class frb.turb_scattering.Turbulence(ne, l0, L0, zL, beta=3.6666666666666665, SM=None, verbose=True, **kwargs)[source]
Bases:
objectClass for turbulence calculations in a plasma Primarily used for scattering calculations
- __init__(ne, l0, L0, zL, beta=3.6666666666666665, SM=None, verbose=True, **kwargs)[source]
- Parameters:
ne (Quantity) – Electron density
l0 (Quantity) – Inner scale
L0 (Quantity) – Outer scale
SM (Quantity, optional) – Generally calculated but can be input
zL (float) – Redshift of scattering medium
beta (float, optional) – Exponent of turbulence. Default is for Kolmogorov
**kwargs – Passed to init methods e.g. sets SM if DL is provided
- property CN2_gal
Amplitude of the turbulence per unit length Equation 29 from Macquarty & Koay 2013 Assumes Kolmogorov
- Returns:
CN2
- Return type:
Quantity
- property SMeff
Effective SM :returns: SMeff :rtype: Quantity
- set_SM_obj(DL)[source]
Specify SM for a discrete object (e.g. galaxy) Equation 31 from Macquart & Koay 2013 Assumes Kolmogorov
- Parameters:
DL (Quantity) – Thickness of the object
- set_cloudlet_rdiff(lobs, fa)[source]
Taken from JP notes
- Args:
lobs
fa (int) – Number of clouds intersected
Returns:
- set_rdiff(lobs)[source]
Calculate rdiff in the two regimes and adopt the right one Requires that SM was set first
- Parameters:
lobs (Quantity) – Observed wavelength
- Return type:
Nothing; sets self.rdiff and self.regime
- angular_broadening(lobs, zsource, cosmo=FlatLambdaCDM(name='Planck18', H0=<Quantity 67.66 km / (Mpc s)>, Om0=0.30966, Tcmb0=<Quantity 2.7255 K>, Neff=3.046, m_nu=<Quantity [0., 0., 0.06] eV>, Ob0=0.04897))[source]
Broadening of a point source due to turbulent scattering
- Parameters:
lobs (Quantity) – Observed wavelength
zsource (float) – Redshift of radio source
- Returns:
theta – Angular broadening. Radius (half-width at half-max)
- Return type:
Quantity
- temporal_smearing(lobs, zsource, cosmo=FlatLambdaCDM(name='Planck18', H0=<Quantity 67.66 km / (Mpc s)>, Om0=0.30966, Tcmb0=<Quantity 2.7255 K>, Neff=3.046, m_nu=<Quantity [0., 0., 0.06] eV>, Ob0=0.04897))[source]
Temporal smearing due to turbulent scattering
- Parameters:
lobs (Quantity) – Observed wavelength
zsource (float)
cosmo (astropy.cosmology, optional)
- Returns:
tau – temporal broadening
- Return type:
Quantity