------------ Installation ------------ AutoTherm requires Mathematica 11 or above and Python 3. The Mathematica packages `FeynRules`_, `FeynArts`_ and `FormCalc`_ are also required, see their respective webpages for installation instructions. .. _FeynRules: https://feynrules.irmp.ucl.ac.be .. _FeynArts: https://feynarts.de .. _FormCalc: https://feynarts.de/formcalc/ Extract the AutoTherm code, it will create an ``autotherm`` directory. We shall call ``$AutothermDir`` the absolute path to this folder on your system. On a mac system, that might resemble ``/Users/myself/Codes/autotherm/`` and on a Linux system ``/home/myself/Codes/autotherm/``. It is recommended to create a virtual environment, so that all needed python packages will be installed within it. To proceed, execute in a shell in this folder .. code-block:: bash cd $AutothermDir python3 -m venv .venv Here ``$AutothermDir`` should be replaced by its actual value. The second command creates a virtual environment in the .venv subdirectory. You then need to activate it by executing .. code-block:: bash source .venv/bin/activate This will now make your shell aware that anything python-related is now dealt with within the venv. To leave the venv you need the ``deactivate`` command. As long as the venv is active, the python and pip commands refer to the version of python used to create the virtual environment. Pip will install packages within it. Users of ``csh/tcsh`` or ``fish`` shells should append a ``.csh`` or ``.fish`` extension to the activate command. You can then proceed to compile and install the python and cython extension modules, as well as their dependencies, by executing .. code-block:: bash pip install . You should now have everything needed to run this code. The :doc:`next section ` illustrates how to set up a model. .. parallelism: Optional: parallelism with OpenMP --------------------------------- The C integration routines using the `cubature`_ package (included in the ``integrator/fallback/`` subdirectory) support parallelism with OpenMP. To compile with this feature, you need to run .. _cubature: https://github.com/stevengj/cubature .. code-block:: bash export AUTOTHERM_ENABLE_OPENMP=true pip install . This should work out of the box on Linux with `openmp`_ installed. On a mac, we recommend installing ``llvm`` and ``libomp`` with `Homebrew`_ and compiling with this brew-installed version of llvm through .. _openmp: https://www.openmp.org .. _Homebrew: https://brew.sh .. code-block:: bash export AUTOTHERM_ENABLE_OPENMP=true CC=/opt/homebrew/opt/llvm/bin/clang pip install . A brew-installed version of the original GNU ``gcc`` can also work in the same fashion.