Example #1
0
        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]
        )
    )

universe.init_kawano(electron=electron, neutrino=neutrino_e)
universe.init_oscillations(SMP.leptons.oscillations_map(), (neutrino_e, neutrino_mu, neutrino_tau))

if universe.graphics:
    from plotting import (MassiveParticleMonitor, AbundanceMonitor)
    universe.graphics.monitor([
        (sterile, MassiveParticleMonitor),
        (sterile, AbundanceMonitor)
    ])

universe.evolve(T_final)

"""
### Plots for comparison with articles

### JCAP10(2012)014, Figure 9
<img src="figure_9.svg" width=100% />
Example #2
0
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]:
            with open(
                    op.join(
                        folder,
                        particle.name.replace(' ', '_') + ".distribution.txt"),
                    'a') as f:
                f.write(
                    '# First line is a grid of y; Starting from second line: '
                    +
                    'first number is a, second is temperature, next is set of numbers '
Example #3
0
neutron = Particle(**SMP.hadrons.neutron)
proton = Particle(**SMP.hadrons.proton)

universe.add_particles([
    photon,
    electron,
    neutrino_e,
    neutrino_mu,
    neutrino_tau,
])

"""
$\theta_{13}$ is taken to be 0
"""
universe.init_oscillations(SMP.leptons.oscillations_map((0.55199, 0.723601, 0)),
                           (neutrino_e, neutrino_mu, neutrino_tau))

universe.interactions += (
    SMI.neutrino_interactions(leptons=[electron],
                              neutrinos=neutrinos)
)

universe.init_kawano(electron=electron, neutrino=neutrino_e)

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]:
			with open(os.path.join(folder, particle.name.replace(' ', '_') + ".distribution.txt"), 'a') as f:
				f.write('# First line is a grid of y; Starting from second line: first number is a, second is temperature, next is set of numbers is corresponding to f(y) on the grid' + '\n')
				f.write('## a     T     ' + '\t'.join([
Example #4
0
neutron = Particle(**SMP.hadrons.neutron)
proton = Particle(**SMP.hadrons.proton)

universe.add_particles([
    photon,
    electron,
    neutrino_e,
    neutrino_mu_tau,

    neutron,
    proton
])

# angles=(0.5905, 0.805404, 0.152346)
universe.init_oscillations(SMP.leptons.oscillations_map(angles=(0.5905, 0.805404, 0)),
                           (neutrino_e, neutrino_mu_tau))

universe.interactions += (
    SMI.neutrino_interactions(leptons=[electron],
                              neutrinos=[neutrino_e, neutrino_mu_tau])
)

universe.init_kawano(electron=electron, neutrino=neutrino_e)

universe.evolve(T_simple, export=False)
universe.interactions = tuple()
universe.evolve(T_final)

"""
### Plots for comparison with articles
Example #5
0
photon = Particle(**SMP.photon)
electron = Particle(**SMP.leptons.electron)
neutrino_e = Particle(**SMP.leptons.neutrino_e)
neutrino_mu_tau = Particle(**SMP.leptons.neutrino_mu)
neutrino_mu_tau.dof = 4

neutron = Particle(**SMP.hadrons.neutron)
proton = Particle(**SMP.hadrons.proton)

universe.add_particles(
    [photon, electron, neutrino_e, neutrino_mu_tau, neutron, proton])

# angles=(0.5905, 0.805404, 0.152346)
universe.init_oscillations(
    SMP.leptons.oscillations_map(angles=(0.5905, 0.805404, 0)),
    (neutrino_e, neutrino_mu_tau))

universe.interactions += (SMI.neutrino_interactions(
    leptons=[electron], neutrinos=[neutrino_e, neutrino_mu_tau]))

universe.init_kawano(electron=electron, neutrino=neutrino_e)

universe.evolve(T_simple, export=False)
universe.interactions = tuple()
universe.evolve(T_final)
"""
### Plots for comparison with articles

### JCAP10(2012)014, Figure 9
<img src="figure_9.svg" width=100% />
Example #6
0
neutron = Particle(**SMP.hadrons.neutron)
proton = Particle(**SMP.hadrons.proton)

universe.add_particles([
    photon,
    electron,
    neutrino_e,
    neutrino_mu,
    neutrino_tau,
])
"""
$\theta_{13}$ is taken to be 0
"""
universe.init_oscillations(
    SMP.leptons.oscillations_map((0.55199, 0.723601, 0)),
    (neutrino_e, neutrino_mu, neutrino_tau))

universe.interactions += (SMI.neutrino_interactions(leptons=[electron],
                                                    neutrinos=neutrinos))

universe.init_kawano(electron=electron, neutrino=neutrino_e)


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]:
            with open(
                    os.path.join(
                        folder,