Setting up Vevacious
There are many options that can be passed to
Vevacious. If values other than the defaults are required, they can either be passed by command-line arguments or with an initialization file in
XMLformat. If an option is given by both commmand-line argument and in an initialization file, the command-line argument takes precedence.
We enumerate the options as they would be as command-line arguments setting the options to the defaults. All floating point numbers may be given as standard decimals, such as
0.1234, or in scientific E notation, such as
1.234E-1 (uppercase ‘E’ or lowercase ‘e’, with or without preceeding ‘0’ characters, with or without ‘+’ in the exponent, e.g.
–hom4ps2_dir=./HOM4PS2/This is a string giving the path to the directory where the
–homotopy_type=1This is an integer used to decide which mode
HOM4PS2should run in:
1is used for polyhedral homotopy and
2for linear homotopy.
–imaginary_tolerance=0.0000001This is a floating-point number giving the tolerance for imaginary parts of VEVsfound as solutions to the tree-level minimization conditions, since it is possible that a numerical precision error could lead to what should be an exact cancellation leaving behind a small imaginary part. It is in units of , as the other dimensionful values are assumed to be so since that is how they are in the
–model_file=./MyModel.vinThis is a string giving the name of the model file, including the (relative or absolute) directory path.
–slha_file=./MyParameters.slha.outThis is a string giving the name of the
SLHAincluding the (relative or absolute) directory path.
–result_file=./MyResult.voutThis is a string giving the name of the
XMLoutput file to write, including the (relative or absolute) directory path.
1.0, 5.0, 20.0</saddle_nudges> (Unfortunately this option does not work very well as a command-line argument, so instead here we display the
XMLelement as it should appear in the
XMLinitialization file. No initialization file has to be used, of course, if the default
1.0, 5.0, 20.0is fine.)
PyMinuitmay get stuck at saddle points, and
Vevaciouscreates pairs of nearby points as new starting points for
PyMinuitin an attempt to get it to roll away to minima. Using the default list shown, if
PyMinuitstopped at a saddle point, it will create two new starting points displaced by 1.0 GeV either side of this saddle point. If
PyMinuitrolls from either or both of these displaced points to new saddle points (or just does not roll as it is still in a region that is too flat),
Vevaciouswill repeat the process for each new saddle point, but this time displacing the new starting points by 5.0 GeV.
Vevaciouscan repeat this a third time, using 20.0 GeV, but after this gives up. Giving a longer comma-separated list of floating-point numbers will lead to
Vevaciousperforming this “nudging” as many times as there are elements of the list.
–max_saddle_nudges=3This is an integer giving the length of the list of floating-point numbers of the
saddle_nudgesoption: if it is larger than the length of the list
Vevaciousalready has, the list is extended with copies of the last element; if it is shorter, the list is truncated after the given number of elements.
–ct_path=./CosmoTransitionsThis is a string giving the path to the directory where the
–roll_tolerance=0.1This is a floating-point number giving a tolerance for extrema are identified with each other, since
PyMinuitmay roll to the same minimum from two different starting points, but not stop at exactly the same point numerically. If the length of the vector that is the difference of the two field configurations is less than the tolerance multiplied by the length of the longer of the two vectors that are the displacements of the two field configurations from the origin, then the two field configurations are taken to be the same minimum within errors; e.g. if A is vd = 24.42, vu = 245.0 and B is vd = 24.39, vu = 242.7, the length of A is 246.2140, the length of B is 243.9225, so the longer length is 246.2140; the length of their difference is 2.300196 which is less than 0.1 * 246.2140, so A and B are considered to be the same extremum. (This is important for avoiding attempting to calculate a tunneling time from a point back to itself.)
–direct_time=0.1This is a floating-point number giving a threshold tunneling time as a fraction of the age of the Universe for whether the metastability is decided by the upper bound from the fast
CosmoTransitionscalculation taking a straight line from the false vacuum to the true vacuum. If the upper bound resulting from this calculation is below this number, the input vacuum is considered to be short-lived and no refinement in calculating the tunneling time is pursued; e.g. if it is 0.1, and the upper bound on the tunneling time is found to be 10−20 times the age of the Universe, the input vacuum is judged to be short-lived since the tunneling time is definitely below 0.1 times the age of the Universe. If the value given for
direct_timeis negative, this fast calculation is skipped.
–deformed_time=0.1This is a floating-point number giving a threshold tunneling time as a fraction of the age of the Universe for whether the input vacuum is consider short-lived or long-lived when the full
CosmoTransitionscalculation is performed. If the tunneling time was calculated to have an upper bound above the threshold given by the
direct_timeoption (or if the calculation of the upper bound was skipped because
direct_timewas given a negative value), then
CosmoTransitionsis called to calculate the bounce action allowing it to deform the path in VEVspace to find the minimal bounce action. If the tunneling time calculated from this bounce action is less than the
deformed_timevalue, the input vacuum is considered short-lived, otherwise it is reported to be long-lived. (In order to prevent overflow errors when exponentiating a potentially very large number, the bounce action is capped at 1000.) If
deformed_timeis set to a negative value, this calculation is skipped.
As mentioned above, an
XMLinitialization file can be provided with values for these options. By default,
./VevaciousInitialization.xml for these options, but a different file can be specified with the command-line option
–input=/example/MyVevaciousInit.xml to use
/example/MyVevaciousInit.xml as the initialization file. Any other command-ine arguments take priority over options set in the initialization file.
XMLinitialization file called
VevaciousInitialization.xml is provided with the download, which shows how to set each option.
It does not matter what the root element is called (the example file provided with the download uses <Vevacious_defaults>, but it really doesn’t matter, as long as it is closed properly). Taking the option
slha_file as an example, the body of the
XMLelement with the name
slha_file is used as the value of the option (stripped of leading and trailing whitespace). Hence
<slha_file> /path/to/Vevacious/MSSM/SPheno.spc.MSSM.SPS1ap </slha_file>
would serve instead of
–slha_file=/path/to/Vevacious/MSSM/SPheno.spc.MSSM.SPS1ap being passed as a command-line argument. Likewise,
<direct_time> 0.01 </direct_time>
would set the quick calculation threshold to a more conservative time of a hundredth of the age of the Universe.