|
|
---
|
|
|
title: More precise mass spectrum calculation
|
|
|
permalink: /More_precise_mass_spectrum_calculation/
|
|
|
---
|
|
|
|
|
|
[Category:SPheno](/Category:SPheno "wikilink") In some cases a numerical more precise calculation is needed to diagonalise mass matrices in SPheno. This is the case if the hierarchy in the mass matrix very large. In that case double precision with about 15 digits precision might not be sufficient. The best example are models with *R*-parity violation where neutrinos and neutralinos mix. Another example are seesaw type-I like models where TeV-scale right-neutrinos mix with the left-neutrinos. In this case one has to go for quadruple precision which gives a precision of about 32 digits. To enable quadruple precision for specific masses, two small changes are necessary:
|
|
|
|
|
|
1. In `SPheno.m` used to set up the SPheno output, one has to define for which particles the higher precision is needed. This is done with the variable `QuadruplePrecision` which accepts a list of mass eigenstates. If we just want to have the masses of the neutrinos, which are called `Fv` in the considered model, with higher precision, the corresponding line reads
|
|
|
QuadruplePrecision = {Fv};
|
|
|
|
|
|
2. One must change the `Makefile` of SPheno located in the `src` directory and remove the compiler flag `-DONLYDOUBLE`. This flags forces all calculations just to be done with double precision. Thus, `PreDef` must be defined as
|
|
|
PreDef = -DGENERATIONMIXING
|
|
|
|
|
|
By doing that, the routines necessary for a higher precision get compiled. To make sure that everything is consistent, one has to re-compile the entire code after changing the `Makefile` :
|
|
|
|
|
|
cd $PATH/SPHENO
|
|
|
make cleanall
|
|
|
make MODEL=$NAME
|
|
|
|
|
|
See also
|
|
|
-------- |
|
|
\ No newline at end of file |