{"id":16499310,"url":"https://github.com/expander/flexiblesusy","last_synced_at":"2026-03-06T15:02:16.392Z","repository":{"id":9173054,"uuid":"10972800","full_name":"Expander/FlexibleSUSY","owner":"Expander","description":"Creates spectrum generators for supersymmetric models","archived":false,"fork":false,"pushed_at":"2024-09-03T21:18:10.000Z","size":42316,"stargazers_count":4,"open_issues_count":1,"forks_count":18,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-11-28T18:36:01.745Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://flexiblesusy.hepforge.org/","language":"Mathematica","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Expander.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGES.rst","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-06-26T16:14:17.000Z","updated_at":"2025-05-23T14:40:29.000Z","dependencies_parsed_at":"2024-11-13T06:00:21.494Z","dependency_job_id":null,"html_url":"https://github.com/Expander/FlexibleSUSY","commit_stats":null,"previous_names":[],"tags_count":52,"template":false,"template_full_name":null,"purl":"pkg:github/Expander/FlexibleSUSY","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Expander%2FFlexibleSUSY","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Expander%2FFlexibleSUSY/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Expander%2FFlexibleSUSY/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Expander%2FFlexibleSUSY/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Expander","download_url":"https://codeload.github.com/Expander/FlexibleSUSY/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Expander%2FFlexibleSUSY/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30182686,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-06T14:42:24.748Z","status":"ssl_error","status_checked_at":"2026-03-06T14:42:14.925Z","response_time":250,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-11T14:52:05.227Z","updated_at":"2026-03-06T15:02:16.375Z","avatar_url":"https://github.com/Expander.png","language":"Mathematica","readme":".. sectnum::\n\n============\nFlexibleSUSY\n============\n\n|release| |tests|\n\n.. |release| image:: https://img.shields.io/github/v/release/FlexibleSUSY/FlexibleSUSY\n.. |tests| image:: https://github.com/FlexibleSUSY/FlexibleSUSY/workflows/tests/badge.svg?branch=development\n   :target: https://github.com/FlexibleSUSY/FlexibleSUSY/actions\n\n.. image:: doc/images/FS-logo.png\n   :align: right\n\nFlexibleSUSY provides Mathematica and C++ code to create spectrum\ngenerators for supersymmetric and non-supersymmetric models.  It is\ndesigned for generating fast and modular C++ code, allowing for easy\nmodification, extension and reuse.\n\n* Homepage:                https://flexiblesusy.hepforge.org\n* Mailing list:            flexiblesusy@projects.hepforge.org\n* Source code repository:  https://github.com/FlexibleSUSY\n* Bug reports:             https://github.com/FlexibleSUSY/FlexibleSUSY/issues\n* References: [1406.2319]_, [1609.00371]_, [1710.03760]_\n\n  If you use **FlexibleSUSY** in your work please cite [1406.2319]_\n  and [1710.03760]_.\n\n  If you use the **FlexibleEFTHiggs** approach in your work please\n  cite [1609.00371]_ and [1710.03760]_.\n\n  If you use **FlexibleSUSY+Himalaya** or Himalaya_ in your work,\n  please cite [1005.5709]_, [1708.05720]_, [1807.03509]_ and\n  [1910.03595]_.\n\n  If you use **FlexibleDecay** in your work, please cite\n  [2106.05038]_.\n\n  FlexibleSUSY depends on SARAH_ and contains components from\n  SOFTSUSY_. Therefore, please also cite the following publications\n  along with FlexibleSUSY:\n\n  - **SARAH** [0909.2863]_, [1002.0840]_, [1207.0906]_, [1309.7223]_\n  - **SOFTSUSY** [hep-ph:0104145]_, [1311.7659]_\n\n  The list of references in BibTeX format can be found in\n  `\u003cdoc/references.bib\u003e`_.\n\n.. contents:: Table of Contents\n   :depth: 2\n\n\nQuick start\n===========\n\nInstall required libraries and packages (if not already done)::\n\n    pip install conan\n    conan install . --build=missing\n    sudo apt-get install libgsl-dev\n    ./install-sarah\n\nBuild a spectrum generator (here: HSSUSY [1710.03760]_\n[1804.09410]_)::\n\n    ./createmodel --name=HSSUSY\n    ./configure --with-models=HSSUSY\n    make -j4\n\nRun the spectrum generator::\n\n    ./models/HSSUSY/run_HSSUSY.x --slha-input-file=model_files/HSSUSY/LesHouches.in.HSSUSY\n\n\nBuilding FlexibleSUSY\n=====================\n\nRequirements\n------------\n\n* C++ compiler (g++ \u003e= 5.0.0 or clang++ \u003e= 3.8.1 or icpc \u003e= 17.0.0)\n* Fortran compiler (gfortran, ifort)\n* Mathematica (version 7.0 or higher)\n* SARAH_ (version 4.11.0 or higher)\n* Boost_ (version 1.37.0 or higher)\n* `Eigen 3`_ (version 3.1 or higher)\n* `GNU scientific library`_\n\nOptional:\n\n* FeynArts_ (version 3.9 or higher)\n* FormCalc_ (version 9.5 or higher)\n* GM2Calc_ (version 1.7.0 or higher)\n* LoopTools_ (version 2.8 or higher)\n* COLLIER_\n* Himalaya_\n* TSIL_\n\nInstallation of required/optional libraries\n-------------------------------------------\n\nThe required and optional libraries Boost_, `Eigen 3`_, GM2Calc_,\nLoopTools_, Himalaya_ and TSIL_ can be installed using the Conan_\npackage manager.  If not already installed, Conan can be installed\nwith pip::\n\n    pip install conan\n\nTo install the libraries required by FlexibleSUSY, run::\n\n    conan install . --build=missing\n\nThe `GNU scientific library`_ can currently not be installed via\nConan_.  One may use the package manager of the operating system to\ninstall it.  On Debian/Ubuntu one may run for example::\n\n    sudo apt-get install libgsl-dev\n\nIf the required libraries are installed via Conan or the operating\nsystem's package manager, they will be found automatically by\nFlexibleSUSY's ``configure`` script, see below.\n\nInstallation of SARAH\n---------------------\n\nFlexibleSUSY requires SARAH to be installed and to be loadable with\nthe ``Needs[\"SARAH`\"]`` command from inside Mathematica.  We recommend\nthe following setup::\n\n    SARAH_VERSION=4.14.3\n    cd ~/.Mathematica/Applications/\n    wget https://sarah.hepforge.org/downloads/SARAH-${SARAH_VERSION}.tar.gz\n    tar -xf SARAH-${SARAH_VERSION}.tar.gz\n    ln -s ${PWD}/SARAH-${SARAH_VERSION}/ SARAH\n\n    cd ~/.Mathematica/Kernel/\n    echo \"AppendTo[\\$Path, \\\"${HOME}/.Mathematica/Applications/SARAH/\\\"];\" \u003e\u003e init.m\n\nAll the above steps can be executed at once with the ``install-sarah``\nscript::\n\n    ./install-sarah\n\nSee ``./install-sarah --help`` for more options.\n\nInstallation of FeynArts/FormCalc (optional)\n--------------------------------------------\n\nIf you want FlexibleSUSY to use FeynArts_ or FormCalc_ you will need\nto install these packages first.  Also — as with SARAH — they need to\nbe loadable with the ``Needs[]`` command from inside Mathematica.  We\nrecommend using the installation script ``FeynInstall`` provided on\nthe FeynArts web page. e.g.::\n\n    cd ~/.local\n    wget http://www.feynarts.de/FeynInstall\n    chmod 755 FeynInstall\n    ./FeynInstall\n\nwhich will install the latest versions of FeynArts, FormCalc and\nLoopTools in the ``~/.local/`` directory as well as configure\nMathematica to find these packages.  Note that running the\n``FeynInstall`` script might require user intervention.\n\nBuilding a FlexibleSUSY model\n-----------------------------\n\n0. Before you setup a FlexibleSUSY model, you have to provide a SARAH\n   model file.  To make it available in FlexibleSUSY, you can put it\n   either into FlexibleSUSY's SARAH model directory\n   ``FlexibleSUSY/sarah/\u003cmodel\u003e/`` or directly into SARAH's own model\n   directly ``SARAH/Models/\u003cmodel\u003e/``.  Here ``\u003cmodel\u003e`` is the name\n   of your model (e.g. MSSM, NMSSM, etc.).  Note, that there are\n   already plenty of pre-installed model files in FlexibleSUSY's and\n   SARAH's model directories that can be used.\n\n1. Create a new or re-initialize an existing FlexibleSUSY model::\n\n       ./createmodel --name=\u003cmodel\u003e\n\n   See ``./createmodel --help`` for more details.  Afterwards there will\n   be\n\n   * a model directory ``models/\u003cmodel\u003e/``\n   * a makefile module ``models/\u003cmodel\u003e/module.mk``\n   * a Mathematica start script ``models/\u003cmodel\u003e/start.m``\n   * and a FlexibleSUSY model file ``models/\u003cmodel\u003e/FlexibleSUSY.m``\n\n   To modify the model details (input parameters, boundary conditions,\n   etc.), edit the FlexibleSUSY model file\n   ``models/\u003cmodel\u003e/FlexibleSUSY.m``.  For more details see the\n   documentation of the `FlexibleSUSY model file`_ and\n   `FlexibleEFTHiggs`_.\n\n2. Create the Makefile and register your model(s)::\n\n       ./configure --with-models=\u003cmodel\u003e\n\n   Multiple models can be specified, separated by a comma.  See\n   ``./configure --help`` for more options.\n\n3. Compile FlexibleSUSY with your model::\n\n       make\n\n   Use ``make -j\u003cN\u003e`` to use ``\u003cN\u003e`` CPU cores.  When ``make`` is\n   executed, Mathematica is called, which generates the C++ code for\n   the specified models.  All C++ source files are written to the\n   directory ``models/\u003cmodel\u003e/``.  When ``make`` has finished, the\n   following spectrum generator(s) are available for each specified\n   model:\n\n   * ``models/\u003cmodel\u003e/run_\u003cmodel\u003e.x``: command line spectrum generator\n   * ``models/\u003cmodel\u003e/run_\u003cmodel\u003e.m``: Mathematica interface\n\nExample::\n\n    ./createmodel --name=HSSUSY\n    ./configure --with-models=HSSUSY\n    make -j4\n\n    ./models/HSSUSY/run_HSSUSY.x --slha-input-file=model_files/HSSUSY/LesHouches.in.HSSUSY\n\n\nUsing FlexibleSUSY\n==================\n\nAvailable models\n----------------\n\nFlexibleSUSY ships with many pre-generated models.  The following\ntable includes an (incomplete) list of models with a detailed\ndocumentation.\n\n======================== ====================================\n Model                    Description\n======================== ====================================\n `HSSUSY`_                high-scale MSSM (pure EFT)\n `MSSMEFTHiggs`_          high-scale MSSM (FlexibleEFTHiggs)\n `NUHMSSMNoFVHimalaya`_   fixed-order MSSM\n======================== ====================================\n\n.. _`HSSUSY`: doc/models/HSSUSY.rst\n.. _`MSSMEFTHiggs`: doc/models/MSSMEFTHiggs.rst\n.. _`NUHMSSMNoFVHimalaya`: doc/models/NUHMSSMNoFVHimalaya.rst\n\n\nCommand line\n------------\n\nFor each model FlexibleSUSY creates an executable\n``models/\u003cmodel\u003e/run_\u003cmodel\u003e.x`` that can be run from the command\nline.  The executable accepts the input in the SLHA format, for\nexample in form of a file::\n\n    ./models/MSSM/run_MSSM.x \\\n       --slha-input-file=models/MSSM/LesHouches.in.MSSM \\\n       --slha-output-file=LesHouches.out.MSSM\n\nor as a stream::\n\n    cat models/MSSM/LesHouches.in.MSSM \\\n       | ./models/MSSM/run_MSSM.x --slha-input-file=- --slha-output-file=LesHouches.out.MSSM\n\nFor a documentation of FlexibleSUSY-specific switches in the SLHA\ninput see the section on `SLHA input parameters`_.\n\nBy default the executable writes the output in SLHA format to stdout.\nThe output can also be appended to an SQLite database::\n\n    ./models/MSSM/run_MSSM.x \\\n       --slha-input-file=models/MSSM/LesHouches.in.MSSM \\\n       --slha-output-file=LesHouches.out.MSSM \\\n       --database-output-file=points.db\n\nSee ``models/\u003cmodel\u003e/run_\u003cmodel\u003e.x --help`` for further options.\n\n\nMass spectrum and renormalization group running\n```````````````````````````````````````````````\n\nThe pole mass spectrum and the RG flow can be written to text files\nfor easy plotting.  In the MSSM for example these text files can be\ngenerated via::\n\n    ./models/MSSM/run_MSSM.x \\\n       --slha-input-file=model_files/MSSM/LesHouches.in.MSSM \\\n       --rgflow-output-file=MSSM_rgflow.dat \\\n       --spectrum-output-file=MSSM_spectrum.dat\n\nThe generated files ``MSSM_rgflow.dat`` and ``MSSM_spectrum.dat`` can\nbe plotted for example with the gnuplot scripts in the model\ndirectory::\n\n    gnuplot -persist -e \"filename='MSSM_spectrum.dat'\" \\\n       models/MSSM/MSSM_plot_spectrum.gnuplot\n\n    gnuplot -persist -e \"filename='MSSM_rgflow.dat'\" \\\n       models/MSSM/MSSM_plot_rgflow.gnuplot\n\nThe gnuplot scripts are just for illustration and currently plot all\nrunning parameters, regardless of their mass dimension, so the\nresulting plot is not particularly informative.  However, one may\neasily adapt the scripts to plot any chosen subset of the parameters.\n\n\nMathematica interface\n---------------------\n\nFlexibleSUSY can be called from within Mathematica using Wolfram's\nLibraryLink.  By default, FlexibleSUSY creates a LibraryLink library\nfor each spectrum generator.  The generated library can be found in\n``models/\u003cmodel\u003e/\u003cmodel\u003e_librarylink.so``, where ``\u003cmodel\u003e`` is the\nmodel name.\n\nExample\n\n.. code-block:: mathematica\n\n    Get[\"models/CMSSM/CMSSM_librarylink.m\"];\n\n    (* Create a handle to a model given the input parameters.\n       See Options[FSCMSSMOpenHandle] for all default options. *)\n    handle = FSCMSSMOpenHandle[\n      fsSettings -\u003e { precisionGoal -\u003e 1.*^-4 },\n      fsSMParameters -\u003e { Mt -\u003e 173.3 },\n      fsModelParameters -\u003e {\n          m0 -\u003e 125, m12 -\u003e 500, TanBeta -\u003e 10, SignMu -\u003e 1, Azero -\u003e 0 }\n    ];\n\n    (* calculate pole mass spectrum *)\n    FSCMSSMCalculateSpectrum[handle]\n\n    (* calculate observables *)\n    FSCMSSMCalculateObservables[handle]\n\n    (* close the model handle *)\n    FSCMSSMCloseHandle[handle];\n\nFor each model, FlexibleSUSY creates an example Mathematica script\nwhich illustrates the use of the Mathematica interface.  The generated\nexample can be found in ``models/\u003cmodel\u003e/run_\u003cmodel\u003e.m`` which can be\nrun for example as::\n\n    math -run \"\u003c\u003c \\\"models/\u003cmodel\u003e/run_\u003cmodel\u003e.m\\\"\"\n\nBefore running it, the model parameters in the script should be set to\nreasonable values.  More advanced examples can be found in the\nFlexibleSUSY documentation.\n\nNote: In order to compile the library, Mathematica must be installed.\nTo disable the LibraryLink interface, configure with\n``--disable-librarylink``.\n\nFurther details and examples can be found in the `LibraryLink\ndocumentation`_.\n\n.. _`LibraryLink documentation`: doc/librarylink.rst\n\nParameter scans\n---------------\n\nFlexibleSUSY contains two shell scripts aiming to help the user\nperforming parameter scans based on SLHA files.\n\nTabular output\n``````````````\n\nThe script ``utils/scan-slha.sh`` performs a scan over an input\nparameter.\n\nExamples:\n\nTo perform a scan over :math:`\\tan\\beta(M_Z)` in the CMSSM (given in\nthe SLHA input file in the ``MINPAR[3]`` field) and print out the the\nvalues of :math:`\\tan\\beta(M_Z)`, :math:`M_h` (``MASS[25]``) and\n:math:`y_t(M_{\\text{SUSY}})` (``YU[2,2]``) run::\n\n     utils/scan-slha.sh \\\n        --spectrum-generator=models/CMSSM/run_CMSSM.x \\\n        --slha-input-file=model_files/CMSSM/LesHouches.in.CMSSM \\\n        --scan-range=MINPAR[3]=1~30:10 \\\n        --output=MINPAR[3],MASS[25],YU[2:2]\n\nAlternatively, the SLHA input can be piped into the script as\n::\n\n    cat model_files/CMSSM/LesHouches.in.CMSSM \\\n       | utils/scan-slha.sh \\\n         --spectrum-generator=models/CMSSM/run_CMSSM.x \\\n         --scan-range=MINPAR[3]=1~30:10 \\\n         --output=MINPAR[3],MASS[25],YU[2:2]\n\nThe spectrum generator executable is specified using the\n``--spectrum-generator=`` option.  The parameter to be scanned over as\nwell as the scan range and the number of steps must be specified using\nthe ``--scan-range=`` option.  The syntax is::\n\n    --scan-range=\u003cblock\u003e[\u003cfield\u003e]=\u003cstart\u003e~\u003cstop\u003e:\u003cnumber_of_steps\u003e\n\nHere ``\u003cblock\u003e`` is the SLHA block in which the input parameter is to\nbe found and ``\u003cfield\u003e`` is the block entry corresponding to the\nparameter.  ``\u003cstart\u003e`` and ``\u003cstop\u003e`` define the scan range and\n``\u003cnumber_of_steps\u003e`` define the number of steps.  By default the step\nsize is linear.  Alternatively, a logarithmic step size can be chosen\nby passing ``--step-size=log`` to the script.  See also\n``utils/scan-slha.sh --help``.  The parameters to print to the output\nstream must be defined using the ``--output=`` option.  The syntax\nis::\n\n    --output=\u003cblock\u003e[\u003cfields\u003e]\n\nwhere ``\u003cblock\u003e`` is the SLHA block in which the output parameter is to\nbe read from and ``\u003cfield\u003e`` is the block entry corresponding to the\nparameter.  To read a matrix element from a block, use a colon ``:`` to\nspecify the matrix element indices.  Multiple output parameters can be\nspecified by a comma.\n\nDatabase output\n```````````````\n\nAs an alternative, all parameters calculated during a scan can be\nwritten to a SQLite database using the ``scan-database.sh`` script.\n\nExamples::\n\n    utils/scan-database.sh \\\n       --spectrum-generator=models/CMSSM/run_CMSSM.x \\\n       --slha-input-file=model_files/CMSSM/LesHouches.in.CMSSM \\\n       --scan-range=MINPAR[3]=1~30:10 \\\n       --database-output-file=scan.db\n\nor::\n\n    cat model_files/CMSSM/LesHouches.in.CMSSM \\\n       | ./utils/scan-database.sh \\\n         --spectrum-generator=models/CMSSM/run_CMSSM.x \\\n         --scan-range=MINPAR[3]=1~30:10 \\\n         --database-output-file=scan.db\n\nThe name of the database file must be set using the\n``--database-output-file=`` option.\n\nConvert SPheno to FlexibleSUSY model file\n-----------------------------------------\n\nThe script ``utils/convert_SPheno_to_FlexibleSUSY.m`` can help to\nconvert a SPheno model file (``SPheno.m``) to a FlexibleSUSY model\nfile (``FlexibleSUSY.m.in``).  The conversion is not perfect, because\nit is usually not unique.  Therefore one should check the generated\n``FlexibleSUSY.m.in`` file.\n\nExample::\n\n    cat \u003c\u003c EOF | math -noprompt \u003e FlexibleSUSY.m.in\n    sphenoFile = \"~/.Mathematica/Applications/SARAH/Models/MSSM/SPheno.m\";\n    Get[\"utils/convert_SPheno_to_FlexibleSUSY.m\"];\n    EOF\n\n\nAdvanced FlexibleSUSY build options\n===================================\n\nGenerating source code files only (no compilation)\n----------------------------------------------------\n\nIf you want to only create the C++ source files for your model, but do\nnot want to compile the code, you can use the ``--disable-compile``\nconfigure option::\n\n    ./configure --with-models=MSSM --disable-compile\n    make\n\nHere, configure will not check for installed compilers or libraries.\nIt will only search for Mathematica and SARAH.  The execution of\n``make`` will stop as soon as all C++ source code files are generated.\nSee below for how to export the generated source code.\n\n\nCompile only (don't generate source code)\n-----------------------------------------\n\nIf you want to only compile already created the C++ source files for\nyour model, you can use the ``--disable-meta`` configure option::\n\n    ./configure --with-models=MSSM --disable-meta\n    make\n\nHere, configure will only check for installed compilers or libraries.\nIt will not check for Mathematica and SARAH.\n\nThis option is useful if you want to generate the source code on one\ncomputer and then transfer the generated code to another computer to\ncompile it.  This option can also be used with the pre-generated\nFlexibleSUSY models, which are provided at the FlexibleSUSY home page.\n\nWarning: Please make sure all C++ source files of your model are\navailable in the model directory ``models/\u003cmodel\u003e/``.  Otherwise the\ncompilation will fail.\n\n\nExporting the generated source code\n-----------------------------------\n\nThe complete FlexibleSUSY source code, including the generated C++\ncode for the specified model(s) (but without the Mathematica meta\ncode), can be exported to a new directory.  The exported source code\nis a complete standalone package, with it's own build system.  To\nexport the code, one has to set the target directory during\nconfiguration via the ``--with-install-dir=`` option.  For example::\n\n    ./configure --with-models=\u003cmodels\u003e --with-install-dir=/path/to/export/directory\n\nAfterwards\n::\n\n    make install-src\n\nmust be executed, which will copy the generated C++ source code for\nall ``\u003cmodels\u003e`` to ``/path/to/export/directory``, together with the\nnon-model specific source code from ``config/``, ``doc/``, ``slhaea/``\nand ``src/``.  Afterwards, the standalone package can be build like\nthis::\n\n    cd /path/to/export/directory\n    ./configure\n    make\n\nIt is also possible to create a \"model package\", which includes only\nthe generated source code for a given model, but does not contain the\nwhole FlexibleSUSY build system.  This is useful when the source code\nfor a model should be generated on one computer and later transferred\nto another one to be compiled.  To create such a \"model package\" run\n::\n\n    make pack-\u003cmodel\u003e-src\n\nwhere ``\u003cmodel\u003e`` is the name of the model whose generated source code\nshall be packed.  After ``make`` has finished, the package file\n``\u003cmodel\u003e.tar.gz`` can be found in the working directory.\n\n\nDynamic libraries\n-----------------\n\nIf you want to create dynamic model libraries (instead of static\nlibraries, which is the default) you need to pass the\n``--enable-shared-libs`` option to the configure script.  The file\nname extension for the shared libraries as well as the command to\nbuild them can be overwritten using the ``--with-shared-lib-ext=``\n``--with-shared-lib-cmd=``.  parameters.  For example, when Intel\ncompilers should be used, replace gcc by icc or icpc::\n\n    ./configure --with-models=CMSSM,NMSSM \\\n       --enable-shared-libs \\\n       --with-shared-lib-ext=\".so\" \\\n       --with-shared-lib-cmd=\"gcc -shared -o\"\n\n**Important remark:**\n\nThe libraries are linked to the executables with *absolute* paths.\nThis means that, if you for example move the FlexibleSUSY directory to\nanother location, the executables will no longer find the libraries.\nTo make the executables find the libraries again, you have to relink\nthem via\n::\n\n    make clean-executables\n    make allexec\n\n\nStatically linked executables\n-----------------------------\n\nExternal libraries can be linked statically to the spectrum generator\nexecutables by passing ``--enable-static`` to configure.  This is\nuseful when the executable should be transferred to another computer,\nwhere some libraries are not available.\n\nExample::\n\n    ./configure --with-models=CMSSM --enable-static\n\nIf ``--enable-static`` is used, the following linker flags and\nadditional libraries will be used::\n\n    LDFLAGS = -static\n    LDLIBS  = -ldl\n\nThese linker-specific flags and additional libraries can be\noverwritten using ``--with-static-ldflags=`` and\n``--with-static-ldlibs=``\n\nExample::\n\n    ./configure --with-models=CMSSM \\\n       --enable-static \\\n       --with-static-ldflags=\"-static\" \\\n       --with-static-ldlibs=\"-lquadmath -ldl\"\n\nIn case of dynamic linking (``--disable-static``, which is the default),\nthe options ``--with-shared-ldflags=`` and ``--with-shared-ldlibs=`` must\nbe used to set ``LDFLAGS`` and ``LDLIBS``.\n\n\nSupport for alternative loop libraries\n--------------------------------------\n\nFlexibleSUSY ships with its own implementation of the\nPassarino-Veltman 1-loop functions, which have been translated from\nSOFTSUSY_.  However, alternative implementations of the 1-loop\nfunctions can be used:\n\n* LoopTools_\n* COLLIER_\n* FFlite (a thread-safe variant of LoopTools_, shipped with FlexibleSUSY)\n\nThe loop function libraries can be enabled by passing\n``--with-loop-libraries=`` to the ``configure`` script::\n\n    ./configure --with-loop-libraries=\u003clibraries\u003e\n\nwhere ``\u003clibraries\u003e`` can be any (or a combination) of ``collier``,\n``looptools`` or ``fflite``.\n\nExample::\n\n    ./configure --with-loop-libraries=collier,looptools\n\nWhen the SLHA input is used, the loop library to use can be selected\nby setting the entry of ``FlexibleSUSY[31]`` to ``0`` (= SOFTSUSY),\n``1`` ( = COLLIER), ``2`` (= LoopTools) or ``3`` (= FFlite).  See\n`SLHA input parameters`_ for details.\n\nExample::\n\n    Block FlexibleSUSY\n       31   0    # loop library (0 = SOFTSUSY, 1 = COLLIER, 2 = LoopTools, 3 = FFlite)\n\nWhen the Mathematica interface is used, the loop library to use can be\nselected by setting the value of ``loopLibrary`` appropriately\n\n.. code-block:: mathematica\n\n    FS@ModelName@OpenHandle[\n        fsSettings -\u003e {\n            loopLibrary -\u003e 0   (* 0 = SOFTSUSY, 1 = COLLIER, 2 = LoopTools, 3 = FFlite *)\n        }\n    ]\n\nIn the following it is described in more detail how to enable these\nalternative loop function libraries in FlexibleSUSY.\n\nLoopTools support\n`````````````````\n\nIt is possible to use LoopTools_ for calculating the loop functions,\ninstead of using SOFTSUSY's loop functions.  To enable LoopTools,\nconfigure FlexibleSUSY via ::\n\n    ./configure --enable-looptools\n\nor::\n\n    ./configure --with-loop-libraries=looptools\n\nIf LoopTools has been installed via Conan_, the configure will\nautomatically find the paths to the LoopTools library.\n\nTo use the LoopTools library and header files from a specific\ndirectory, run ``configure`` via\n::\n\n    LOOPTOOL_DIR=/path/to/looptools/build\n\n    ./configure --enable-looptools \\\n       --with-looptools-incdir=$LOOPTOOLS_DIR \\\n       --with-looptools-libdir=$LOOPTOOLS_DIR\n\nNote: LoopTools 2.8 or higher is required.\nAlso, if FlexibleSUSY is compiled with LibraryLink (default) then LoopTools has to be compiled with ``-fPIC`` option.\nThis is achieved by setting the ``FFLAGS`` variable during LoopTools configuration as\n::\n\n    FFLAGS=-fPIC ./configure\n\nCOLLIER support\n```````````````\n\nIt is possible to use COLLIER_ for calculating the loop functions,\ninstead of using SOFTSUSY's loop functions.  To enable COLLIER\nconfigure FlexibleSUSY via ::\n\n   ./configure --with-loop-libraries=collier\n\nTo use the COLLIER library and header files from a specific\ndirectory configure via ::\n\n    COLLIER_DIR=/path/to/COLLIER-x.y.z\n\n    ./configure --with-loop-libraries=collier \\\n       --with-collier-incdir=$COLLIER_DIR/modules \\\n       --with-collier-libdir=$COLLIER_DIR\n\nNote: versions since COLLIER-1.2.3 were tested so far.\nAlso, COLLIER static library should be configured with\n``-Dstatic=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON`` flags.\n\nTSIL support\n````````````\n\nSome models of FlexibleSUSY require TSIL_, for example `HSSUSY`_.  When\nsuch models are activated (via ``./configure --with-models=\u003cmodel\u003e``),\nFlexibleSUSY requires TSIL to be available.  If TSIL is installed in a\nsystem directory or installed via Conan_, FlexibleSUSY will find the\nTSIL automatically.  To use TSIL from a a non-standard directory,\nconfigure FlexibleSUSY like this::\n\n    $TSIL_DIR=/path/to/tsil\n\n    ./configure --enable-tsil \\\n       --with-tsil-incdir=$TSIL_DIR \\\n       --with-tsil-libdir=$TSIL_DIR\n\nNote also that TSIL must be compiled with ``-fPIC``, which can be\nachieved by setting in the TSIL ``Makefile``::\n\n    TSIL_OPT = -O3 -funroll-loops -fPIC\n\n\nCreating an addon\n-----------------\n\nA FlexibleSUSY addon is a program or library, which uses parts of the\nFlexibleSUSY libraries or the generated models or is integrated into\nFlexibleSUSY.  An addon can be created via ::\n\n    ./createaddon --name=\u003caddon\u003e\n\nwhere ``\u003caddon\u003e`` is the name of the addon.  The createaddon script\ncreates the directory ``addons/\u003caddon\u003e/`` and the corresponding makefile\nmodule ``addons/\u003caddon\u003e/module.mk``.  If an addon has been created with\nthe above script, the user may edit the makefile module\n(``addons/\u003caddon\u003e/module.mk``) to add source files in to the three\nvariables\n::\n\n    LIB@ADDON@_SRC  # list of source files to be included in library\n    EXE@ADDON@_SRC  # list of source files with a main()\n    LIB@ADDON@_HDR  # list of header files\n\nExample::\n\n    LIB@ADDON@_SRC := $(DIR)/file1.cpp\n    EXE@ADDON@_SRC := $(DIR)/run.cpp\n    LIB@ADDON@_HDR := $(DIR)/file1.hpp\n\nTo configure and compile the addon run\n::\n\n    ./configure --with-addons=\u003caddon\u003e\n    make\n\nmake compiles all source files and creates the addon library\n``addons/\u003caddon\u003e/lib\u003caddon\u003e.a`` (including the object file ``file1.o`` in\nthe above example) and an executable (``addons/\u003caddon\u003e/run.x`` in the\nabove example).\n\n\nCreating the source code documentation\n--------------------------------------\n\nFlexibleSUSY's source code documentation (including the generated\nsource code files) can be generated with Doxygen in HTML or man\nformat.  To generate the HTML documentation please run::\n\n    make doc-html\n\nThe generated HTML index file can then be found in\n``doc/html/index.html`` and can be viewed with any HTML browser, e.g.\n::\n\n    firefox doc/html/index.html\n\nTo generate the man documentation please run::\n\n    make doc-man\n\nThe generated man pages can then be found in ``doc/man/man3/`` and can\nbe viewed as\n::\n\n    man doc/man/man3/model_file_options.3\n\n\nCleaning\n--------\n\nThere are several make targets to remove generated files, compiled\nobject files, libraries or executables::\n\n    make clean      # deletes all .d .o .a .x files\n\n    make distclean  # does `clean` and `clean-generated`\n                    # and deletes in addition:\n                    # Makefile flexiblesusy-config config.*\n                    # config/list_sarah_model_files.sh\n\n    make clean-dep  # deletes all .d files\n\n    make clean-executables # deletes all .x files\n\n    make clean-generated   # deletes generated files\n\n    make clean-lib  # deletes all libraries\n\n    make clean-obj  # deletes all .o files\n\nFor each model ``\u003cmodel\u003e`` or addon there are specific clean targets\nto remove model-specific files::\n\n    make clean-\u003cmodel\u003e     # deletes .d .o .a .x files\n\n    make distclean-\u003cmodel\u003e # same as `make clean-\u003cmodel\u003e clean-\u003cmodel\u003e-src`\n\n    make clean-\u003cmodel\u003e-dep # deletes .d files\n\n    make clean-\u003cmodel\u003e-lib # deletes model library\n\n    make clean-\u003cmodel\u003e-obj # deletes .o files\n\n    make clean-\u003cmodel\u003e-src # deletes generated files\n\n\nPackage content\n===============\n\nIn the following all sub-directories within the FlexibleSUSY package\nare listed:\n\n* ``addons/`` contains addons for FlexibleSUSY\n\n* ``config/`` contains helper scripts and makefile modules for the\n  build system\n\n* ``doc/`` contains the FlexibleSUSY documentation\n\n* ``examples/`` contains examples how to build you own spectrum\n  generator based on FlexibleSUSY\n\n* ``fflite/`` contains an alternative implementation of the\n  Passarino-Veltman loop functions, based on FF\n\n* ``meta/`` contains the Mathematica meta code which generates the\n  spectrum generators.  See the `meta code documentation`_ for more\n  details.\n\n* ``model_files/`` contains default model files for some frequently\n  used models (SM, SplitMSSM, MSSM, NMSSM, SMSSM, UMSSM, etc.)\n\n* ``model_specific/`` contains model-specific higher order corrections\n  for the MSSM, NMSSM, SM and SplitMSSM from the literature\n\n* ``models/`` This is the output directory where the generated C++\n  code for the spectrum generators will be stored.\n\n* ``Output/`` contains SARAHs model-specific output files\n\n* ``sarah/`` contains SARAH model files shipped with FlexibleSUSY\n\n* ``slhaea/`` contains the slhaea_ SLHA reader library\n\n* ``src/`` contains model-independent FlexibleSUSY C++ source code\n\n* ``templates/`` contains C++ template files for the spectrum generators\n\n* ``test/`` contains the FlexibleSUSY test suite\n\n* ``utils/`` contains some utility scripts to perform scans or extract\n  data from SLHA files\n\n\nFurther reading\n===============\n\n* `FlexibleSUSY model file`_\n* `FlexibleEFTHiggs`_\n* `LibraryLink documentation`_\n* `meta code documentation`_\n* `SLHA input parameters`_\n* `Observables`_\n\n\nReferences\n==========\n\n.. _slhaea: https://github.com/fthomas/slhaea\n.. _GM2Calc: https://arxiv.org/abs/1510.08071\n.. _SARAH: http://sarah.hepforge.org\n.. _SOFTSUSY: http://softsusy.hepforge.org\n.. _Boost: http://www.boost.org\n.. _Conan: https://conan.io/\n.. _Eigen 3: http://eigen.tuxfamily.org\n.. _FeynArts: http://www.feynarts.de\n.. _FormCalc: http://www.feynarts.de/formcalc\n.. _GNU scientific library: http://www.gnu.org/software/gsl/\n.. _LoopTools: http://www.feynarts.de/looptools/\n.. _COLLIER: https://collier.hepforge.org/\n.. _Himalaya: https://github.com/Himalaya-Library/Himalaya\n.. _TSIL: https://www.niu.edu/spmartin/tsil/\n\n.. _`FlexibleSUSY model file`: doc/model_file.rst\n.. _`FlexibleEFTHiggs`: doc/FlexibleEFTHiggs.rst\n.. _`meta code documentation`: doc/meta_code.rst\n.. _`SLHA input parameters`: doc/slha_input.rst\n.. _`Observables`: doc/observables.rst\n\n.. [hep-ph:0104145] `CPC 143 (2002) 305-331 \u003chttps://inspirehep.net/record/555481\u003e`_ [`arxiv:hep-ph/0104145 \u003chttp://arxiv.org/abs/hep-ph/0104145\u003e`_]\n.. [0909.2863] `CPC 181 (2010) 1077-1086 \u003chttps://inspirehep.net/record/831371\u003e`_ [`arxiv:0909.2863 \u003chttp://arxiv.org/abs/0909.2863\u003e`_]\n.. [1002.0840] `CPC 182 (2011) 808-833 \u003chttps://inspirehep.net/record/845241\u003e`_   [`arxiv:1002.0840 \u003chttp://arxiv.org/abs/1002.0840\u003e`_]\n.. [1005.5709]  `JHEP 1008 (2010) 104 \u003chttps://inspirehep.net/record/856612\u003e`_  [`arxiv:1005.5709 \u003chttps://arxiv.org/abs/1005.5709\u003e`_]\n.. [1207.0906] `CPC 184 (2013) 1792-1809 \u003chttps://inspirehep.net/record/1121136\u003e`_ [`arxiv:1207.0906 \u003chttp://arxiv.org/abs/1207.0906\u003e`_]\n.. [1309.7223] `CPC 185 (2014) 1773-1790 \u003chttps://inspirehep.net/record/1255845\u003e`_ [`arxiv:1309.7223 \u003chttp://arxiv.org/abs/1309.7223\u003e`_]\n.. [1311.7659] `CPC 185 (2014) 2322 \u003chttps://inspirehep.net/record/1266808\u003e`_  [`arxiv:1311.7659 \u003chttp://arxiv.org/abs/1311.7659\u003e`_]\n.. [1406.2319] `CPC 190 (2015) 139-172 \u003chttps://inspirehep.net/record/1299998\u003e`_ [`arxiv:1406.2319 \u003chttps://arxiv.org/abs/1406.2319\u003e`_]\n.. [1609.00371] `JHEP 1701 (2017) 079 \u003chttps://inspirehep.net/record/1484857\u003e`_ [`arxiv:1609.00371 \u003chttps://arxiv.org/abs/1609.00371\u003e`_]\n.. [1708.05720] `Eur.Phys.J. C77 (2017) no.12, 814 \u003chttps://inspirehep.net/record/1617767\u003e`_ [`arxiv:1708.05720 \u003chttps://arxiv.org/abs/1708.05720\u003e`_]\n.. [1710.03760] `CPC 230 (2018) 145-217 \u003chttps://inspirehep.net/record/1629978\u003e`_ [`arXiv:1710.03760 \u003chttps://arxiv.org/abs/1710.03760\u003e`_]\n.. [1804.09410] `Eur.Phys.J. C78 (2018) no.7, 573 \u003chttps://inspirehep.net/record/1670032\u003e`_ [`arxiv:1804.09410 \u003chttps://arxiv.org/abs/1804.09410\u003e`_]\n.. [1807.03509] `Eur.Phys.J. C78 (2018) no.10, 874 \u003chttps://inspirehep.net/record/1681658\u003e`_ [`arxiv:1807.03509 \u003chttps://arxiv.org/abs/1807.03509\u003e`_]\n.. [1910.03595] `Eur.Phys.J. \u003chttps://inspirehep.net/record/1758261\u003e`_ [`arxiv:1910.03595 \u003chttps://arxiv.org/abs/1910.03595\u003e`_]\n.. [2106.05038] [`arxiv:2106.05038 \u003chttp://arxiv.org/abs/2106.05038\u003e`_]\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexpander%2Fflexiblesusy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fexpander%2Fflexiblesusy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexpander%2Fflexiblesusy/lists"}