benoleary/VevaciousPlusPlus
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
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 0
No packages published