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 XML
format. 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. 987
or 9.874E+002
or 0098.7e001
).
-
–hom4ps2_dir=./HOM4PS2/
This is a string giving the path to the directory where theHOM4PS2
executable is. -
–homotopy_type=1
This is an integer used to decide which modeHOM4PS2
should run in:1
is used for polyhedral homotopy and2
for linear homotopy. -
–imaginary_tolerance=0.0000001
This 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 theSLHA
standard. -
–model_file=./MyModel.vin
This is a string giving the name of the model file, including the (relative or absolute) directory path. -
–slha_file=./MyParameters.slha.out
This is a string giving the name of theSLHA
including the (relative or absolute) directory path. -
–result_file=./MyResult.vout
This is a string giving the name of theXML
output file to write, including the (relative or absolute) directory path. - <saddle_nudges>
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 theXML
element as it should appear in theXML
initialization file. No initialization file has to be used, of course, if the default1.0, 5.0, 20.0
is fine.)PyMinuit
may get stuck at saddle points, andVevacious
creates pairs of nearby points as new starting points forPyMinuit
in an attempt to get it to roll away to minima. Using the default list shown, ifVevacious
finds thatPyMinuit
stopped at a saddle point, it will create two new starting points displaced by 1.0 GeV either side of this saddle point. IfPyMinuit
rolls 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),Vevacious
will repeat the process for each new saddle point, but this time displacing the new starting points by 5.0 GeV.Vevacious
can 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 toVevacious
performing this “nudging” as many times as there are elements of the list. -
–max_saddle_nudges=3
This is an integer giving the length of the list of floating-point numbers of thesaddle_nudges
option: if it is larger than the length of the listVevacious
already 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=./CosmoTransitions
This is a string giving the path to the directory where theCosmoTransitions
filespathDeformation.py
andtunneling1D.py
are. -
–roll_tolerance=0.1
This is a floating-point number giving a tolerance for extrema are identified with each other, sincePyMinuit
may 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.1
This 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 fastCosmoTransitions
calculation 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 fordirect_time
is negative, this fast calculation is skipped. -
–deformed_time=0.1
This 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 fullCosmoTransitions
calculation is performed. If the tunneling time was calculated to have an upper bound above the threshold given by thedirect_time
option (or if the calculation of the upper bound was skipped becausedirect_time
was given a negative value), thenCosmoTransitions
is 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 thedeformed_time
value, 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.) Ifdeformed_time
is set to a negative value, this calculation is skipped.
As mentioned above, an XML
initialization file can be provided with values for these options. By default, Vevacious
looks for ./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.
An example XML
initialization 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 XML
element 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.