Flavor Transformations: snewpy.flavor_transformation

This module implements flavor transformations that describe how neutrinos of different flavors change into each other between production inside the supernova and detection on Earth.

Base Class for Flavor Transformations

class snewpy.flavor_transformation.FlavorTransformation[source]

Generic interface to compute neutrino and antineutrino survival probability.

abstractmethod P_ff(t, E) FlavorMatrix[source]

Transition probability matrix in flavor basis \(P_{\alpha\to\beta}\)

apply_to(flux: Container) Container[source]

Apply this transformation to the given flux, return transformaed flux

Available Transformations

class snewpy.flavor_transformation.NoTransformation[source]

Survival probabilities for no oscillation case.

P_ff(t, E)[source]

This transformation returns the object without transform, so the transformation probability matrix is unit:

\[P_{\alpha\beta} = I_{\alpha\beta}\]
apply_to(flux)[source]

Apply this transformation to the given flux, return transformaed flux

class snewpy.flavor_transformation.CompleteExchange[source]

Survival probabilities for the case when the electron flavors are half exchanged with the mu flavors and the half with the tau flavors.

P_ff(t, E)[source]

Transition probability matrix in flavor basis \(P_{\alpha\to\beta}\)

class snewpy.flavor_transformation.TransformationChain(in_sn: SNTransformation, in_vacuum: VacuumTransformation = <snewpy.flavor_transformation.in_vacuum.NoVacuumTransformation object>, in_earth: EarthTransformation = <snewpy.flavor_transformation.in_earth.NoEarthMatter object>, *, mixing_params: ThreeFlavorMixingParameters | FourFlavorMixingParameters = ThreeFlavorMixingParameters(theta12=<Quantity 33.68 deg>, theta13=<Quantity 8.56 deg>, theta23=<Quantity 43.3 deg>, deltaCP=<Quantity 212. deg>, dm21_2=<Quantity 7.49e-05 eV2>, dm32_2=<Quantity 0.0024381 eV2>, dm31_2=<Quantity 0.002513 eV2>, mass_order=<MassHierarchy.NORMAL: 1>))[source]

This class calculates the probability matrix \(P_{\beta\alpha}\) of the \(\nu_\alpha\to\nu_\beta\) flavor transition as multiplication of \(P^{SN}\) transformation in SN, \(P^{Vac}\) transformation in vacuum and \(P^{Earth}\) transformation in Earth:

\[P_{\beta\alpha} = \sum\limits_{i,j}P^{Earth}_{\beta j} \cdot P^{Vac}_{ji} \cdot P^{SN}_{i\alpha}\]
Parameters:
  • in_sn – Transformation in Supernova.

  • in_vacuum – Transformation in Vacuum. By default NoVacuumTransformation is applied

  • in_earth – Transformation in Earth. By default NoEarthTransformation is applied

  • mixing_params (Keyword) – Neutrino mixing parameters (to be applied to all individual transformations in chain) By default use standard MixingParameters with normal neutrino ordering

P_ff(t, E) FlavorMatrix[source]

Transition probability matrix in flavor basis \(P_{\alpha\to\beta}\)

set_mixing_params(mixing_params)[source]

Update the mixing parameters in all transformations in chain

Concrete transformations

Transformations in supernova

Transition of neutrino flavor states to mass states \(\nu_\alpha\to\nu_i\) inside supernova

class snewpy.flavor_transformation.in_sn.SNTransformation[source]

Base class for all transformations in SN

class snewpy.flavor_transformation.in_sn.AdiabaticMSW[source]

Adiabatic MSW effect.

class snewpy.flavor_transformation.in_sn.NonAdiabaticMSWH[source]

Nonadiabatic MSW H resonance. The NonAdiabaticMSWH transformation assumes that the H resonance mixing is nonadiabatic. This case is relevant when a shock is present at the H resonance densities (Schirato & Fuller 2002).

For the NMO the H resonance occurs in the neutrinos (Kneller & McLaughlin 2009) between ‘matter’ states ν2 and ν3. In the IMO the H resonance mixes the antineutrino matter states ν̄1 and ν̄3.

class snewpy.flavor_transformation.in_sn.TwoFlavorDecoherence[source]

Equal mixing of whatever two matter states form the MSW H resonance.

The TwoFlavorDecoherence transformation is relevant when the size of the density fluctuations is ≲ 10% for densities around the H resonance density —see Kneller (2010); Kneller & Mauney (2013). This prescription models the effect of the turbulence as leading to 50% mixing between the matter states which participate in the H resonance.

In the NMO this is ν2 and ν3. For the IMO, the H resonance occurs in the antineutrinos between antineutrino matter states ν̄1 and ν̄3.

class snewpy.flavor_transformation.in_sn.ThreeFlavorDecoherence[source]

Equal mixing of all three neutrino states, and all three antineutrinos

ThreeFlavorDecoherence is relevant when the size of the density fluctuations is >= 10% for densities around the H resonance density —see Kneller (2010); Kneller & Mauney (2013).

class snewpy.flavor_transformation.in_sn.MSWEffect(SNprofile: SNprofile)[source]

The MSW effect using a density profile and electron fraction provided by the user. Uses the SNOSHEWS module.

Initialize flavor transformation

Parameters:

SNprofile (instance of profile class)

class SNprofile(rhofilename: str, Yefilename: str, radius_min: float = 0, radius_max: float = 1e+99)[source]

A placeholder class for the density and electron fraction profiles. Currently SNOSHEWS reads the profiles from files but that might change in the future.

class snewpy.flavor_transformation.in_sn.AdiabaticMSWes[source]

A four-neutrino mixing prescription. The assumptions used are that:

  1. the fourth neutrino mass is the heaviest but not so large that the electron-sterile resonances are inside the neutrinosphere;

  2. the outer electron-sterile MSW resonance is adiabatic;

  3. the inner electron-sterile MSW resonance (where the electron fraction = 1/3) is non-adiabatic.

For further insight see, for example, Esmaili, Peres, and Serpico,

Phys. Rev. D 90, 033013 (2014).

class snewpy.flavor_transformation.in_sn.NonAdiabaticMSWes[source]

A four-neutrino mixing prescription. The assumptions used are that:

  1. the fourth neutrino mass is the heaviest but not so large that the electron-sterile resonances are inside the neutrinosphere;

  2. the outer electron-sterile MSW resonance is non-adiabatic;

  3. the inner electron-sterile MSW resonance (where the electron fraction = 1/3) is non-adiabatic.

For further insight see, for example, Esmaili, Peres, and Serpico,

Phys. Rev. D 90, 033013 (2014).

class snewpy.flavor_transformation.in_sn.FourFlavorDecoherence[source]

Equal mixing of all four neutrino states, and all four antineutrinos

Transformations in vacuum

Transitions of neutrino mass states \(\nu_i\to\nu_j\) in vacuum

class snewpy.flavor_transformation.in_vacuum.VacuumTransformation[source]
class snewpy.flavor_transformation.in_vacuum.NoVacuumTransformation[source]
class snewpy.flavor_transformation.in_vacuum.NeutrinoDecay(mass=<Quantity 1.11265006e-17 s2 eV / m2>, tau=<Quantity 1. d>, dist=<Quantity 10. kpc>)[source]

Decay effect, where the heaviest neutrino decays to the lightest neutrino. For a description and typical parameters, see A. de Gouvêa et al., PRD 101:043013, 2020, arXiv:1910.01127.

Initialize transformation matrix.

Parameters:
  • mass (astropy.units.quantity.Quantity) – Mass of the heaviest neutrino; expect in eV/c^2.

  • tau (astropy.units.quantity.Quantity) – Lifetime of the heaviest neutrino.

  • dist (astropy.units.quantity.Quantity) – Distance to the supernova.

class snewpy.flavor_transformation.in_vacuum.QuantumDecoherence(Gamma3=<Quantity 1.e-27 eV>, Gamma8=<Quantity 1.e-27 eV>, dist=<Quantity 10. kpc>, n=0, E0=<Quantity 10. MeV>)[source]

Quantum Decoherence, where propagation in vacuum leads to equipartition of states. For a description and typical parameters, see M. V. dos Santos et al., 2023, arXiv:2306.17591.

Initialize transformation matrix.

Parameters:
  • Gamma3 (astropy.units.quantity.Quantity) – Quantum decoherence parameter; expect in eV.

  • Gamma8 (astropy.units.quantity.Quantity) – Quantum decoherence parameter; expect in eV.

  • dist (astropy.units.quantity.Quantity) – Distance to the supernova.

  • n (float) – Exponent of power law for energy dependent quantum decoherence parameters, i.e. Gamma = Gamma0*(E/E0)**n. If not specified, it is taken as zero.

  • E0 (astropy.units.quantity.Quantity) – Reference energy in the power law Gamma = Gamma0*(E/E0)**n. If not specified, it is taken as 10 MeV. Note that if n = 0, quantum decoherence parameters are independent of E0.

Transformations in Earth

Transition of neutrino mass states to flavor states \(\nu_i\to\nu_\alpha\) in the Earth matter

class snewpy.flavor_transformation.in_earth.EarthTransformation[source]
class snewpy.flavor_transformation.in_earth.NoEarthMatter(mixing_params=None)[source]
class snewpy.flavor_transformation.in_earth.EarthMatter(SNAltAz, mixing_params=None)[source]

Initialize flavor transformation

Parameters:
  • mixing_params (ThreeFlavorMixingParameters instance or None)

  • SNAltAz (astropy AltAz object)