electron, neutrino_e, neutral_pion, sterile, ]) thetas = defaultdict(float, { 'electron': 1e-3, }) universe.interactions += ( SMI.neutrino_interactions( leptons=[electron], neutrinos=[neutrino_e] ) + NuI.sterile_leptons_interactions( thetas=thetas, sterile=sterile, neutrinos=[neutrino_e], leptons=[electron] ) + NuI.sterile_hadrons_interactions( thetas=thetas, sterile=sterile, neutrinos=[neutrino_e], leptons=[electron], hadrons=[neutral_pion] ) ) universe.evolve(T_final)
neutrino_mu, neutrino_tau, neutral_pion, charged_pion, sterile, ]) thetas = defaultdict(float, { 'electron': theta, }) universe.interactions += ( SMI.neutrino_interactions( leptons=[electron, muon], neutrinos=[neutrino_e, neutrino_mu, neutrino_tau] ) + NuI.sterile_leptons_interactions( thetas=thetas, sterile=sterile, neutrinos=[neutrino_e, neutrino_mu, neutrino_tau], leptons=[electron, muon, tau] ) ) if sterile.mass > neutral_pion.mass: universe.interactions += ( NuI.sterile_hadrons_interactions( thetas=thetas, sterile=sterile, neutrinos=[neutrino_e, neutrino_mu, neutrino_tau], leptons=[electron, muon, tau], hadrons=[neutral_pion, charged_pion]
neutrino_tau = Particle(**MNP.leptons.neutrino_tau) neutrino_tau.mass = mass neutrino_e.decoupling_temperature = T_initial neutrino_mu.decoupling_temperature = T_initial neutrino_tau.decoupling_temperature = T_initial universe.add_particles([ photon, electron, neutrino_e, neutrino_mu, neutrino_tau, ]) universe.interactions += (SMI.neutrino_interactions( leptons=[electron], neutrinos=[neutrino_e, neutrino_mu]) + MNI.neutrino_scattering(neutrino_e, neutrino_tau) + MNI.neutrino_scattering(neutrino_mu, neutrino_tau)) universe.evolve(T_final) """ ### Plots for comparison with articles ### JCAP10(2012)014, Figure 9 <img src="figure_9.svg" width=100% /> ### JCAP10(2012)014, Figure 10 <img src="figure_10.svg" width=100% /> <img src="figure_10_full.svg" width=100% /> """
universe.add_particles([ photon, electron, muon, neutrino_e, neutrino_mu, neutrino_tau, sterile, ]) thetas = defaultdict(float, { 'electron': theta, }) universe.interactions += ( SMI.neutrino_interactions( leptons=[electron], neutrinos=[neutrino_e, neutrino_mu, neutrino_tau]) + NuI.sterile_leptons_interactions( thetas=thetas, sterile=sterile, neutrinos=[neutrino_e, neutrino_mu, neutrino_tau], leptons=[electron, muon])) universe.init_kawano(electron=electron, neutrino=neutrino_e) universe.init_oscillations(SMP.leptons.oscillations_map(), (neutrino_e, neutrino_mu, neutrino_tau)) def step_monitor(universe): # explanation of what is inside the file + first row which is a grid on y if universe.step == 1: for particle in [neutrino_e, neutrino_mu, neutrino_tau, sterile]:
photon, electron, muon, neutrino_e, neutrino_mu, neutrino_tau, sterile, ]) thetas = defaultdict(float, { 'electron': theta, }) universe.interactions += ( SMI.neutrino_interactions( leptons=[electron], neutrinos=[neutrino_e, neutrino_mu, neutrino_tau] ) + NuI.sterile_leptons_interactions( thetas=thetas, sterile=sterile, neutrinos=[neutrino_e, neutrino_mu, neutrino_tau], leptons=[electron, muon] ) ) universe.init_kawano(electron=electron, neutrino=neutrino_e) if universe.graphics: from plotting import RadiationParticleMonitor, MassiveParticleMonitor, AbundanceMonitor universe.graphics.monitor([ (neutrino_e, RadiationParticleMonitor), (neutrino_mu, RadiationParticleMonitor), (neutrino_tau, RadiationParticleMonitor),
photon, electron, muon, neutrino_e, neutrino_mu, neutrino_tau, sterile, ]) thetas = defaultdict(float, { 'electron': theta, }) universe.interactions += ( SMI.neutrino_interactions( leptons=[electron], neutrinos=[neutrino_e, neutrino_mu, neutrino_tau] ) + NuI.sterile_leptons_interactions( thetas=thetas, sterile=sterile, neutrinos=[neutrino_e, neutrino_mu, neutrino_tau], leptons=[electron, muon] ) ) universe.init_kawano(electron=electron, neutrino=neutrino_e) universe.init_oscillations(SMP.leptons.oscillations_map(), (neutrino_e, neutrino_mu, neutrino_tau)) def step_monitor(universe): # explanation of what is inside the file + first row which is a grid on y if universe.step == 1: for particle in [neutrino_e, neutrino_mu, neutrino_tau, sterile]:
universe.add_particles([ photon, electron, muon, tau, neutrino_e, neutrino_mu, neutrino_tau, ]) neutrinos = [neutrino_e, neutrino_mu, neutrino_tau] for neutrino in neutrinos: neutrino.decoupling_temperature = T_initial universe.interactions += \ SMI.neutrino_interactions(leptons=[electron, muon, tau], neutrinos=neutrinos) if universe.graphics: from plotting import EquilibriumRadiationParticleMonitor universe.graphics.monitor([ (neutrino_e, EquilibriumRadiationParticleMonitor), (neutrino_mu, EquilibriumRadiationParticleMonitor), (neutrino_tau, EquilibriumRadiationParticleMonitor) ]) universe.evolve(T_final) universe.graphics.save(__file__)
universe.add_particles([ photon, electron, muon, charged_pion, neutral_pion, neutrino_e, neutrino_mu, neutrino_tau, sterile, ]) thetas = defaultdict(float, {'electron': theta}) interactions_SM = SMI.neutrino_interactions( neutrinos=[neutrino_e, neutrino_mu, neutrino_tau], leptons=[electron]) ## N --> mu + e + nu_mu and mu --> e + nu_mu + nu_e interactions_primary_Ff = NuI.sterile_leptons_interactions( thetas=thetas, sterile=sterile, neutrinos=[neutrino_e, neutrino_mu, neutrino_tau], leptons=[electron, muon], kind=CollisionIntegralKind.F_f_vacuum_decay) interactions_primary_F1 = NuI.sterile_leptons_interactions( thetas=thetas, sterile=sterile, neutrinos=[neutrino_e, neutrino_mu, neutrino_tau], leptons=[electron, muon], kind=CollisionIntegralKind.F_1_vacuum_decay)
neutrino_e = Particle(**SMP.leptons.neutrino_e) neutrino_mu = Particle(**SMP.leptons.neutrino_mu) neutrino_tau = Particle(**SMP.leptons.neutrino_tau) universe.add_particles([ photon, electron, muon, tau, neutrino_e, neutrino_mu, neutrino_tau, ]) neutrinos = [neutrino_e, neutrino_mu, neutrino_tau] for neutrino in neutrinos: neutrino.decoupling_temperature = T_initial universe.interactions += \ SMI.neutrino_interactions(leptons=[electron, muon, tau], neutrinos=neutrinos) universe.evolve(T_final) """ ## Plots for comparison with articles """ """ ### JCAP10(2012)014, Figure 9 <img src="figure_9.svg" width=100% /> """ """ ### JCAP10(2012)014, Figure 10 <img src="figure_10.svg" width=100% /> <img src="figure_10_full.svg" width=100% /> """