galapy.Synchrotron

The Synchrotron module implements a generic parameterized synchrotron emission.

Module Attributes

syn_tunables

Tunable parameters for synchrotron emission.

Functions

syn_build_params(**kwargs)

Builds the parameters dictionary for the generic synchrotron.

Classes

SNSYN(*args, **kwargs)

Specialised class for handling Synchrotron emission due to Core-Collapse Supernovae.

SYN(ll, **kwargs)

Class wrapping the C-core implementation of a generic Synchrotron emission type.

class galapy.Synchrotron.SYN(ll, **kwargs)

Class wrapping the C-core implementation of a generic Synchrotron emission type.

The shape of the emission is given by

\[L_\text{syn}(\lambda,\tau) = L_\text{norm} \cdot \left(\dfrac{\nu_\lambda}{G\text{Hz}}\right)^{-\alpha_\text{syn}}\cdot \left[1+\left(\dfrac{\nu}{20\, G\text{\text{Hz}}}\right)^{0.5}\,\right]^{-1}\, F[\tau_\text{syn}(\nu_\lambda)]\]

where \(\alpha_\text{syn}\) is the spectral index, the term in square brackets takes into account spectral-ageing effects, and the function \(F(x)=(1-e^{-x})/x\) incorporates synchrotron self-absorption in terms of the optical depth \(\tau_{\rm sync}\approx (\nu_\lambda/\nu_\text{self})^{-\alpha_\text{syn}-5/2}\) that is thought to become relevant at frequencies \(\nu\lesssim \nu_\text{self}\approx 0.2\ [GHz]\).

Parameters:
  • ll (float array) – the wavelength grid where the synchrotron emission is computed

  • **kwargs (keyword arguments) – Parameters for the synchrotron model. The available free-parameters are listed in the galapy.Synchrotron.syn_tunables tuple

Keyword Arguments:
  • alpha_syn (float) – synchrotron spectral index (i.e. \(\alpha_\text{syn}\))

  • nu_self_syn (float) – synchrotron self-absorption threshold (i.e. \(\nu_\text{self}\))

set_parameters(**kwargs)

Function for setting the parameters of the model.

Parameters:

**kwargs (keyword arguments) – Parameters to set for the synchrotron model.

Return type:

None

opt_depth(il=None)

Compute optical depth on the default wavelength grid.

Parameters:

il (array-like or int or None, optional) – Indices of wavelengths in the default grid to compute optical depth for.

Returns:

Array of optical depths or a single optical depth if il is a singl integer. If il is None return optical depth on the whole wavelength grid.

Return type:

numpy.ndarray or float

energy(SynNorm, il=None)

Returns the normalized total energy radiated at given wavelength.

Parameters:
  • SynNorm (float) – Normalization factor for synchrotron energy.

  • il (array-like or int or None, optional) – Indices of wavelengths in the default grid to compute energy for.

Returns:

Array of energy values or a single energy value if il is a single integer. If il is None return energy on the whole wavelength grid.

Return type:

numpy.ndarray or float

emission(SynNorm, il=None)

Compute emission.

Parameters:
  • SynNorm (float) – Normalization factor for synchrotron energy.

  • il (array-like or int or None, optional) – Indices of wavelengths to compute emission for.

Returns:

Array of emission values or a single emission value if il is a single integer If il is None return the emission on the whole wavelength grid.

Return type:

numpy.ndarray or float

class galapy.Synchrotron.SNSYN(*args, **kwargs)

Specialised class for handling Synchrotron emission due to Core-Collapse Supernovae.

The implementation inherits from the generic galapy.Synchrotron.SYN class and computes the emission as

\[L_\text{syn}^\text{corr}(\lambda,\tau)=\dfrac{L_\text{syn}(\lambda,\tau)}{1+[L_\text{syn}^0/L_\text{syn}(\lambda,\tau)]^\zeta}\]

with \(L_\text{syn}^0 = 3\cdot10^{28}\ [erg]\) (fixed by the class-attribute SNSYN.Lsyn0), \(\zeta=2\) (fixed by the class-attribute SNSYN.zeta) and with emission shape normalised by \(L_\text{norm} = \text{const} \cdot \dfrac{\mathcal{R}_\text{CCSN}(\tau)}{\text{yr}^{-1}}\). The \(\text{const} = 10^{30}\ [erg]\) is fixed (by the class-attribute SNSYN.NormFact) while the value \(\mathcal{R}_\text{CCSN}\) is the production rate of CC Supernovae and is a free parameter of the model and can be computed with galapy.CompositeStellarPopulation.CSP.RCCSN()

Parameters:
  • ll (float array) – the wavelength grid where the synchrotron emission is computed

  • **kwargs (keyword arguments) – Parameters for the synchrotron model.

Keyword Arguments:
  • alpha_syn (float) – synchrotron spectral index (i.e. \(\alpha_\text{syn}\))

  • nu_self_syn (float) – synchrotron self-absorption threshold (i.e. \(\nu_\text{self}\))

  • RCCSN (float) – Core-collapse Super-Nova production rate (unit \(\text{yr}^{-1}\)

emission(il=None)

Compute emission.

Parameters:

il (array-like or int or None, optional) – Indices of wavelengths to compute emission for.

Returns:

Array of emission values or a single emission value if il is a single integer If il is None return the emission on the whole wavelength grid.

Return type:

numpy.ndarray or float