Using SPheno for twoloop masses
SARAH automatically writes the necessary Fortran routines in the SPhenooutput to calculate the twoloop Higgs corrections. There are five flags which can be used in the Les Houches input file to adjust the properties of the twoloop calculation
Block SPhenoInput #
...
7 ... # Skip two loop masses
8 ... # Choose twoloop method
9 ... # Gaugeless limit
10 ... # Safe mode
... #
400 ... # Stepsize for purelynumerical method
401 ... # Stepsize for semianalytical method
The following values are possible:

SPhenoInput[7]
:
0
: Don’t skip twoloop masses 
1
: Skip twoloop masses


SPhenoInput[8]
:
1
: Effective potential twoloop calculation with purely numerical derivation 
2
: Effective potential twoloop calculation with analytical derivation of loop functions 
3
: Diagrammatic twoloop calculation functions (default) 
9
: Use hardcoded routines available for some models


SPhenoInput[9]
:
0
: Turn off gaugeless limit 
1
: Use gaugeless limit (default)


SPhenoInput[10]
:
0
: Turn off the safemode (default) 
1
: Use safemode


SPhenoInput[400]
: a real number (default: 0.5) 
SPhenoInput[401]
: a real number (default: 0.001)
Note that the hardcoded twoloop routines are not included by default in the SPhenooutput of SARAH. To include them, in the SPheno.m
file the flag
Use2LoopFromLiterature = True;
has to be set.
The flags SPhenoInput[400]
and SPhenoInput[401]
can be used to check numerical stability of the derivation. If the step size is choosen to be too small or large the numerical derivation might suffer from some instabilites. We found that the initial step size for derivation with the fully numerical method usually needs a larger initial stepsize for the considered VEV especially for heavy SUSY spectra. The reason is that the potential is of O(M_{SUS**Y}^{4}) and the overall value only changes slightly when the VEVs are varied. The second method usually operates acceptably with a smaller initial step size because objects of at most order O(M_{SUS**Y}^{2}, M_{Z}^{2}) are derived numerically. In addition, we make the approximation that in the purely numerical approach mass squareds in the loop which are smaller than 10^{−5} times the largest mass squared in the loop is taken to be zero. For the semianalytical approach we take a limit of 10^{−8}.
SafeMode and beyond
For the effective potential calculation, there is a “safe mode” for SPheno via flag 10: in this case SPhenostarts with a large initial step size which is decreased automatically. It checks for what range of the initial step size the results are numerically stable by comparing the results obtained with different inital step sizes. If no stable range is found an error is returned. In the unlikely case that both methods suffer from numerical instabilities the chances are good that the diagrammatic works. Another, less recommended, possibility is to increase the numerical precision by passing from double to quadruple precision. For this purpose, the Makefile located in SPheno3.3.0/src
must be changed. The line
PreDef = DGENERATIONMIXING DONLYDOUBLE
should be replaced by
PreDef = DGENERATIONMIXING DQUADRUPOLE
Afterwards the entire SPhenocode must be recompiled via
make cleanall
make Model=$MODEL
This will slow down the numerical evaluation significantly. However, have not found an example for resonable SUSY masses where this was necessary.