.. _installation: Installation ============ This page provides step-by-step installation instructions for: - **Tadah!MLIP** (ML potential training; provides the ``tadah`` CLI) - **ML‑TADAH for LAMMPS** (Tadah!LAMMPS; adds the ``pair_style tadah`` pair style to LAMMPS) For more detailed and up-to-date guidance (including platform-specific notes), see: https://tadah.readthedocs.io/ .. _requirements: Requirements ------------ Tadah!MLIP and the ML‑TADAH LAMMPS integration use **CMake** for configuration/build. General requirements: - A **C++17**-capable compiler toolchain - **CMake** (3.15+) - **LAPACK** - Internet access during installation (some dependencies may be fetched at configure/build time) .. warning:: The MPI build (``-DTADAH_BUILD_MPI=ON``) is **broken in this beta release** and should not be used. Build the desktop / OpenMP variant instead. The MPI flag is documented for forward reference only. LAMMPS-specific notes: - Modern LAMMPS builds use **C++17**; the ML‑TADAH integration assumes a LAMMPS toolchain that can build LAMMPS successfully. Installing Tadah!MLIP Software ------------------------------ Tadah!MLIP provides the command-line interface binary, ``tadah``, for developing machine-learning interatomic potentials. Obtaining Source Code ..................... To obtain Tadah!MLIP, clone the main branch: .. code-block:: bash git clone https://git.ecdf.ed.ac.uk/tadah/tadah.mlip.git .. _building_tadah: Configuration and Compilation ............................. Tadah!MLIP uses CMake for configuration and a standard build tool for compilation. The executable ``tadah`` is installed in the ``bin`` directory by default (``${CMAKE_INSTALL_PREFIX}/bin``). If MPI is enabled, the executable is named ``tadah_mpi``. After a successful compilation (before installation), the ``tadah`` (or ``tadah_mpi``) binary should also be present inside your build directory (commonly as ``build/tadah`` or under a subdirectory like ``build/bin/``, depending on your platform and CMake generator). Using the provided CMake defaults preset (recommended) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Tadah!MLIP ships a CMake *initial cache* file with Linux end-user defaults at ``cmake/presets/tadah-linux-defaults.cmake``. You can use it as-is, or edit it to match your preferences and reuse it for future builds. .. code-block:: bash # Navigate to the project directory cd tadah.mlip # Configure a new build directory using the defaults preset cmake -S . -B build -C cmake/presets/tadah-linux-defaults.cmake # Compile and install (uses the configured build tool, e.g. Make) cmake --build build --parallel cmake --install build To override individual settings without editing the preset file, append ``-D`` options (see :ref:`configuration_options`), e.g.: .. code-block:: bash cmake -S . -B build -C cmake/presets/tadah-linux-defaults.cmake \ -DTADAH_ENABLE_OPENMP=ON \ -DCMAKE_INSTALL_PREFIX=~/.local Alternatively, you can configure and build without the preset as follows: .. code-block:: bash # Navigate to the project directory cd tadah.mlip # Create and move into the build directory mkdir build && cd build # Configure with CMake cmake .. # Compile and install make && make install .. _configuration_options: Configuration Options ..................... .. note:: If you configure with ``-C cmake/presets/tadah-linux-defaults.cmake``, the values in that file become the initial defaults for the new build directory (e.g. it sets conservative end-user defaults such as disabling optional features). You can customize these defaults either by (1) appending ``-D