Program: BSMPT version 1.0
Released by: Philipp Basler and Margarete Mühlleitner
Manual: version 1.0
BSMPT - Beyond the Standard Model Phase Transitions: The C++ program package BSMPT calculates for models with extended Higgs sectors the loop-corrected effective potential at finite temperature including the daisy resummation of the bosonic masses. The program computes the vacuum expectation value (VEV) \f$ v \f$ of the potential as a function of the temperature, and in particular the critical VEV \f$v_c\f$ at the temperature \f$T_c\f$ where the phase transition takes place. In addition, the loop-corrected trilinear Higgs self-couplings are provided. We apply an 'on-shell' renormalization scheme in the sense that the loop-corrected masses and mixing angles are required to be equal to their tree-level input values. This allows for efficient scans in the parameter space of the models. The models implemented so far are the CP-conserving and the CP-violating 2-Higgs-Doublet Models (2HDM) and the Next-to-Minimal 2HDM (N2HDM). The program structure is such that the user can easily implement further models.
The program package can be downloaded at: https://github.com/phbasler/BSMPT
A short documentation is given at: https://phbasler.github.io/BSMPT/
Sample input and output files are provided in the directory 'example'.
Modifications and corrected bugs are reported in the file 'Changelog.md'.
For additional information, comments, complaints or suggestions please e-mail to: [email protected]
##Installation:
-
The program requires the GSL library which the code assumes to be installed in PATH.
-
To compile the program type
mkdir build && cd build
and therecmake ..
where this part can be modified withCC=CCompiler
CXX=C++Compiler
EIGEN3_ROOT=/path/to/eigen3
This is only necessary if eigen3 is not installed through your packet mananger. If it is not go to http://eigen.tuxfamily.org and download and unzip it to /path/to/eigen3.CMAES_ROOT=/path/to/libcmaes If you do not give this option the default path will be the 'tools' folder in your BSMPT directory. For downloading libcmaes you need either wget or curl installed on your system.
For example a complete call would be CC=gcc-7 CXX=g++-7 EIGEN3_ROOT=/path/to/eigen3 CMAES_ROOT=/path/to/libcmaes cmake ..
. After this execute make
to compile the executables.
-
At last you have to add the path to libcmaes to your LD_LIBRABRY_PATH which you can either do in every console session or you can edit your console setting by adding the line
export LD_LIBRABRY_PATH=$LD_LIBRABRY_PATH:/path/to/libcmaes/LIB
where LIB is either lib64 or lib, depending on which folder exists in path/to/libcmaes.
##How to add a new model (for further details, also see the manual):
-
Go to the file IncludeAllModels.h and rename the variable 'C_ModelTemplate' to the variable name with which the new model shall be selected by the program.
-
In the file
src/models/CMakeLists.txt
renameClassTemplate.cpp
with the name of your new model file. -
Go to IncludeAllModels.cpp and add the header for your model. Also add
else if(choice == C_ModelTemplate)
{
return std::unique_ptr<Class_Potential_Origin> { new Class_Template };
}
to the function Fchoose.
-
Adjust the functions in ClassTemplate.cpp as needed for the new model.
-
Have fun!