Skip to content

benoleary/VevaciousPlusPlus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

/*****************************************************************************\
 * README.txt                                              *
 *                                                                           *
 *  Created on: Feb 14, 2014                                                 *
 *      Authors: Ben O'Leary (benjamin.oleary@gmail.com)                     *
 *      Copyright 2014 Ben O'Leary                                           *
 *                                                                           *
 *      This file is part of VevaciousPlusPlus, a program designed to find   *
 *      configurations of vacuum expectation values (VEVs) for the           *
 *      minima of a quantum field theory potential energy function, and to   *
 *      calculate quantum and thermal tunneling out of a given desired       *
 *      symmetry-breaking vacuum if possible. It is a re-write of Vevacious  *
 *      by Ben O'Leary, Florian Staub, José Eliel Camargo Molina, and Werner *
 *      Porod.                                                               *
 *                                                                           *
 *      VevaciousPlusPlus is free software: you can redistribute it and/or   *
 *      modify it under the terms of the GNU General Public License as       *
 *      published by the Free Software Foundation, either version 3 of the   *
 *      License, or (at your option) any later version.                      *
 *                                                                           *
 *      VevaciousPlusPlus is distributed in the hope that it will be         *
 *      useful, but WITHOUT ANY WARRANTY; without even the implied warranty  *
 *       of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
 *      General Public License for more details.                             *
 *                                                                           *
 *      You should have received a copy of the GNU General Public License    *
 *      (in VevaciousPlusPlus/GNU_public_license.txt ) along with            *
 *      VevaciousPlusPlus.                                                   *
 *      If not, see <http://www.gnu.org/licenses/>.                          *
 *      A full list of the files of VevaciousPlusPlus is at the end of this  *
 *      file.                                                                *
\*****************************************************************************/

 Now that the legalese preamble is out of the way, the description of the code
 and how to use it can begin!

REQUIRES LesHouchesParserClasses (LHPC) version 0.8.12 or later!

 VevaciousPlusPlus is a program written fully in C++ to try to find all the
 minima of a loop-corrected potential and to calculate tunneling out of a
 desired symmetry-breaking minimum if this happens to be a false vacuum. It is
 designed to be used with model files which we recommend be generated by SARAH,
 a Mathematica package by Florian Staub, and utilizes the MINUIT algorithms by
 Fred James, and uses the Eigen C++ library for matrix inversion and eigenvalue
 calculation. Much of the tunneling code is based on the Python package
 CosmoTransitions, by Carroll (Max) Wainwright.
 
 VevaciousPlusPlus is an implementation of the process of attempting to find
 the minima of a quantum field theory potential with loop and thermal
 corrections, as decided upon by the collaboration of
 José Eliel Camargo Molina (elielx@gmail.com),
 Björn Garbrecht (garbrecht@tum.de),
 Ben O'Leary (benjamin.oleary@gmail.com),
 Werner Porod (porod@physik.uni-wuerzburg.de), and
 Florian Staub (florian.staub@googlemail.com). This README file was written by
 Ben O'Leary.
 
 A manual describing the physics and process of VevaciousPlusPlus will be
 available from http://arxiv.org/abs/????.???? and there will be a quickstart
 guide available from http://vevacious.hepforge.org/ following the appropriate
 link. A rough version of the installation instructions will be also contained
 in this README file, below the description of the process.

 Phase 1) Collect underpants
 Phase 2) ?
 Phase 3) Profit!
 Phase 4) Download and compile the LesHouchesParserClasses (LHPC) C++ library.
          The files are available at
          http://www.hepforge.org/downloads/lhpc
          (link last checked 2014-03-04) or
          https://github.com/benoleary/LesHouchesParserClasses_CPP
          (link last checked 2014-03-04). The installation should just be
          downloading, unzipping, and then running make. Version 0.8.7 or later
          is necessary!
 Phase 5) Download the Eigen header library, available from
          http://eigen.tuxfamily.org/index.php?title=Main_Page#Download
          (link last checked 2014-02-25). No compilation is necessary.
 Phase 6) Compile VevaciousPlusPlus. The Makefile should be edited to have the
          correct paths to the header files and library file of LHPC (these are
          /path/to/unzipped/LHPC/include/ and /path/to/unzipped/LHPC/lib/ by
          default). LHPC version 0.8.7 or higher is required. The Makefile
          should also have the correct path to the header files from Eigen.


TODO:
 * Decent bundled model files
 * TakenPositive for PotentialFromPolynomialAndMasses
 * Implementing BasicPolynomialHomotopyContinuation class
 * Implementing MinuitBounceActionMinimizer class


CHANGELOG:
 * 12th May 2014: version 1.0.00.alpha.003
 - Added batch functionality to VevaciousPlusPlus.exe
 - Re-worked PolynomialTerm class a bit to try to increase cache hits by
   caching the coefficient times functionoid product for a fixed scale through
   making it derive from BOL::BasicObserver.

 * 11th May 2014: version 1.0.00.alpha.002
 - Fixed bundled full MSSM (restricted to real values for the scalar fields and
   real values for the Lagrangian parameters).
 - Fixed stupid typo in SLHA output from VevaciousPlusPlus class.

 * 9th May 2014: version 1.0.00.alpha.001
 - Seems to work on the test case.
 - Needs HOM4PS2 and CosmoTransitions (1 or 2).
 
 * 25th February 2014: version prealpha0001
 - Not even released!
 - Overhaul and rename of VevaciousTwo, which had not been released.


The C++ files of VevaciousPlusPlus are:

 <> headers in VevaciousPlusPlus/include/:
 *.hpp

 <> source files in VevaciousPlusPlus/source/:
 *.cpp

 <> and also:
 VevaciousPlusPlus/Makefile
 and README.VevaciousPlusPlus.txt
 which describes the package (copied as README.txt).
 The makefile creates a single executable in VevaciousPlusPlus/bin/:
 VevaciousPlusPlus.exe, the executable which performs the full set of steps to
 try to find the minima of the loop- and thermal-corrected potential and
 tunneling out of the DSB minimum if it is a false vacuum.
 
 <> Some example files are also given:
 * VevaciousPlusPlus/bin/VevaciousPlusPlusInitialization.xml which is a default
   initialization file, which uses paths that need to be changed.
 * Various files in VevaciousPlusPlus/ModelFiles/, with the extension .vin,
   which specify various models.
   
 

About

Overhaul of Vevacious, entirely in C++ (no generated Python or external executables!)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published