Boundary conditions in SPheno
Sets of Boundary conditions
For a highscale SPheno version it is possible to define boundary conditions at three different scales:

Electroweak scale (M_{Z}):
BoundaryEWSBScale

Renormalisation (or SUSY) scale:
BoundaryRenScale
/BoundarySUSYScale
(both are equivalent and it is a matter of taste what to use)

GUT scale:
BoundaryHighScale
Check the definition of the the renormalisation scale and the GUT scale. In general, all these conditions are applied when running up and down with RGEs. In contrast, there is also the possibility to define a boundary condition at the EW scale which is only applied when running down from the Renormalisation/SUSY scale:
BoundaryEWSBScaleRunningDown = ...
For cases not using a RGE running up to the high scale the boundary conditions are set via
BoundaryLowScaleInput
Moreover, if thresholds are present, boundary conditions can be set at the threshold scale via
BoundaryConditionsUp
BoundaryConditionsDown
See also Models with Thresholds in SPheno
Format of the boundary conditions
All boundaries conditions are defined by a two dimensional array. The first entry is the name of the parameter, the second entry is the used condition at the considered scale:
BoundaryXYZ = {
{Parameter1,Condition1},
{Parameter2,Condition2},
...
}
The condition can be

…an input parameter from
MODSEL
orEXTPAR
, e.g. {MassB, m12}; 
…a block in the SLHA input file, e.g. {Yv, LHInput[Yv]};

…a function of different parameters, e.g. {TYd, Azero*Yd};

…a diagonal matrix by using the keyword
DIAGONAL
, e.g. {md2, DIAGONAL m0^2}; 
…matrix multiplications or the inverse of a matrix, e.g. {X, MatMul2[A,InverseMatrix[B], FortranFalse]};
Note, for the matrix multiplication
MatMul2
has to be used. The third argument controls whether if only diagonal elements (FortranTrue
) should be considered or not (FortranFalse
). 
…a self defined function {X, Func[A,B,C]};
It is also possible to use some self defined function. The Fortran code of that function has to included in the array SelfDefinedFunctions in SPheno.m. It will later on be written to Model_Data.f90. Note, that the standard functions needed for GMSB are already included :

fGMSB[X]: $\begin{aligned} \nonumber f(x) &=& \frac{1+x}{x^2} \left(\ln(1+x)  2 \text{Li}_2(\frac{x}{1+x})
 \frac{1}{2} \text{Li}_2(2 \frac{x}{1+x}) \right) + \\ && \frac{1x}{x^2} \left(\ln(1x)  2 \text{Li}_2(\frac{x}{x1}) + \frac{1}{2} \text{Li}_2 (2 \frac{x}{x1})\right)\end{aligned}$

gGMSB[X]: $g(x) = \frac{1+x}{x^2} \ln(1+x) + \frac{1x}{x^2} \ln(1x)$

Example
The GUT conditions in the CMSSM are
BoundaryHighScale={
{T[Ye], Azero*Ye},
{T[Yd], Azero*Yd},
{T[Yu], Azero*Yu},
{mq2, DIAGONAL m0^2},
{ml2, DIAGONAL m0^2},
{md2, DIAGONAL m0^2},
{mu2, DIAGONAL m0^2},
{me2, DIAGONAL m0^2},
{mHd2, m0^2},
{mHu2, m0^2},
{MassB, m12},
{MassWB, m12},
{MassG, m12}
};
Several sets of boundary conditions
In order to implement different versions of a single model which differ only by the used boundary conditions, BoundaryEWSBScale, BoundarySUSYScale, BoundaryHighScale can be also a nested list, e.g.
BoundarySUSYScale = Table[{},{2}];
BoundaryGUTScale = Table[{},{2}];
BoundarySUSYScale[[/11]] = {{KappaNMSSM, KappaInput},
{LambdaNMSSM, LambdaInput}};
BoundaryGUTScale[[/11]] = {};
BoundarySUSYScale[[/22]] = {};
BoundaryGUTScale[[/22]] = {{KappaNMSSM, KappaInput},
{LambdaNMSSM, LambdaInput}};
In the first case, the input values for λ and κ are used at the SUSY scale, in the second on at the GUT scale. To communicate to SPheno which set of boundary conditions should be used for a run, flag 2 in MODSEL is used:
Block MODSEL #
2 X # This uses the X. set of boundary conditions.
The default value is 1.
Overwriting boundary conditions when running SPheno
Boundary conditions can be overridden by assigning a value to a parameter in the Les Houches input file. For this purpose, the output block with an additional suffix IN
is used.
Example

The bino mass in the CMSSM should be not identical to M_{1/2} at the GUT scale, but fixed to 100 GeV: Block MSOFTIN # 1 100. # M1 (GUT)

The matrix for the softmasses squared for the rightup squarks shall have a different entry for the (3,3) element: Block MSU2 # 1 1 1.00E6 # Mu2(1,1) 2 2 1.00E6 # Mu2(2,2) 3 3 2.00E5 # Mu2(3,3)
Note, in the same way one could add flavour violating entries at the GUT scale.