Skip to content
Snippets Groups Projects
Commit ee0d04b3 authored by Marcin Kirsz's avatar Marcin Kirsz
Browse files

Update README.md

parent c72e8227
No related branches found
No related tags found
2 merge requests!4Main,!1Main
Pipeline #42278 passed
## Introduction
**Ta-dah!** is a modular and fast machine learning software and C++ library specifically designed for interatomic potential development. Written in modern C++, it aims to provide an easy-to-use, modular, and extensible state-of-the-art toolkit.
**Ta-dah!** is a fast and modular machine learning software and C++ library specifically designed for developing interatomic potentials. Written in modern C++, it aims to offer an easy-to-use, modular, and extensible state-of-the-art toolkit.
Ta-dah! offers a LAMMPS interface compatible with all provided descriptors and models. Users can either operate it from the command line for training models or predictions using pre-existing machine learning potentials or incorporate it as a C++ library for advanced applications.
Ta-dah! provides a LAMMPS interface compatible with all supplied descriptors and models. Users can operate it from the command line to train models or make predictions using pre-existing machine learning potentials, or incorporate it as a C++ library for more advanced applications.
## What are Machine Learning Interatomic Potentials?
Machine learning interatomic potentials (MLIPs) are computational models that predict the energy and forces within a system of atoms based on their positions. Traditional potentials often rely on simplified physical models, which can be limited in accuracy and flexibility. In contrast, MLIPs leverage machine learning to learn complex relationships from large datasets of atomic configurations, providing a more accurate and flexible approach to modeling atomic interactions.
### Advantages of MLIPs
- **Accuracy**: Capable of capturing complex physical interactions that traditional potentials might miss.
- **Efficiency**: Once trained, MLIPs can predict energies and forces much faster than ab initio calculations.
- **Transferability**: MLIPs can be trained on diverse datasets, making them applicable to a wide range of materials and conditions.
### Applications
- **Materials Science**: Predicting the properties of new materials.
- **Chemistry**: Modeling reactions and molecular dynamics.
- **Physics**: Studying condensed matter systems.
## Why Use Ta-dah!?
- **Community Driven**: New ideas are always welcome and implemented if feasible.
- **Speed**: Accelerates the model development cycle, reducing waiting times significantly.
- **Community Driven**: New ideas are always welcomed and implemented if feasible.
- **Speed**: Accelerates the model development cycle, significantly reducing waiting times.
- **Continuous Improvement**: Regularly updated with new descriptors, models, bug fixes, and issue resolutions.
- **Open Source**: Freely available for community use and contribution.
- **Flexibility**: Combination of various descriptors with different cutoffs and models is supported. Trained models can be tested directly with LAMMPS.
- **Extensibility**: Easily extendable to include new descriptors, compatible with existing code and LAMMPS interface.
- **Flexibility**: Supports the combination of various descriptors with different cutoffs and models. Trained models can be tested directly with LAMMPS.
- **Extensibility**: Easily extendable to include new descriptors, which will be compatible with existing code and the LAMMPS interface.
## Requirements
......@@ -21,17 +37,17 @@ Ta-dah! does not require any external libraries for building or downloading.
The source code is hosted at:
[https://git.ecdf.ed.ac.uk/s1351949/ta-dah](https://git.ecdf.ed.ac.uk/s1351949/ta-dah)
[https://git.ecdf.ed.ac.uk/tadah/](https://git.ecdf.ed.ac.uk/tadah/)
To download, use git and clone from the stable branch:
```sh
git clone -b stable https://git.ecdf.ed.ac.uk/s1351949/ta-dah.git
git clone -b stable https://git.ecdf.ed.ac.uk/tadah/tadah.git
```
## Installation
Ta-dah! uses CMake to manage the configuration and compilation process. CMake will determine system-dependent variables based on the `CMakeList.txt` file in the project root directory.
Ta-dah! uses CMake to manage the configuration and compilation process. CMake will determine system-dependent variables based on the `CMakeLists.txt` file in the project root directory.
1. Navigate to the project directory:
```sh
......@@ -50,12 +66,14 @@ Ta-dah! uses CMake to manage the configuration and compilation process. CMake wi
make && make install
```
To change the default library installation location, use the following command instead of `cmake ..`. This is useful when you lack root privileges:
To change the default library installation location, use the following command instead of `cmake ..`:
```sh
cmake .. -DCMAKE_INSTALL_PREFIX=/your/path
```
This is useful when you lack root privileges.
## Binary File
The executable file `ta-dah` will be installed in the `bin` directory within your chosen installation location. On most UNIX systems, the default path is `/usr/local/bin/ta-dah`.
......@@ -68,26 +86,27 @@ This concludes the installation process for most users. If you intend to use Ta-
To use Ta-dah! from the command line:
1. Train models:
1. **Train models:**
```sh
ta-dah train -d <descriptor> -m <model> -i <input_file> -o <output_model>
```
Replace `<descriptor>`, `<model>`, `<input_file>`, and `<output_model>` with your specific choices.
2. Use pre-trained models for predictions:
2. **Use pre-trained models for predictions:**
```sh
ta-dah predict -m <model_file> -i <input_file> -o <output_file>
```
Replace `<model_file>`, `<input_file>`, and `<output_file>` with your specific choices.
For more detailed usage and advanced options, please refer to the official documentation or the help command:
```sh
ta-dah --help
```
## Including Ta-dah! as a C++ Library
To use Ta-dah! as a C++ library in your project, you can include the necessary headers and link against the Ta-dah! library. Modify your project's CMakeLists.txt to find and link Ta-dah!:
To use Ta-dah! as a C++ library in your project, you can include the necessary headers and link against the Ta-dah! library. Modify your project's `CMakeLists.txt` to find and link Ta-dah!:
```cmake
find_package(TaDah REQUIRED)
......@@ -103,5 +122,5 @@ cmake -DCMAKE_PREFIX_PATH=/path/to/ta-dah ..
For further instructions and examples, please consult the official Ta-dah! documentation and examples included in the repository.
---
For any questions or contributions, please visit the [Ta-dah! repository](https://git.ecdf.ed.ac.uk/s1351949/ta-dah) or submit an issue.
```
For any questions, contributions or issues, please visit the [Ta-dah! repository](https://git.ecdf.ed.ac.uk/tadah/).
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment