Skip to main content

A minimal implementation of force fields

Project description

[![Build status](https://gitlab.kwant-project.org/pulkin/miniff/badges/master/pipeline.svg)](https://gitlab.kwant-project.org/pulkin/miniff/pipelines)

miniff: a minimal implementation of neural-network force fields

Compute energies and forces of atomic systems with neural networks.

![image](images/atomic-structure.svg)

About

This package implements [Behler and Parrinello](https://doi.org/10.1103/PhysRevLett.98.146401) approach to simulating structures and dynamics of atomic systems. You may want to use it if:

  • you are interested in structural properties of a system with many atoms such as a molecule or an amorphous material;

  • your system is too large for electronic structure treatment (e.g. density functional theory molecular dynamics);

  • no empiric potentials for your system exist …

  • … or the existing empiric potentials are not sufficient to reach the desired tolerances in energies and forces;

  • you are interested in machine learning techniques for materials science problems and are looking for a good starting point for your research.

The package is written in Python3.

Built with

In addition,

Documentation

Hosted on [Read the Docs](https://miniff.readthedocs.io/en/latest/).

Installation

### Setup prerequisites

  • Python3

  • C compiler: Required for compiling Cython extensions

Examples

  • Debian Linux `bash apt-get install -y build-essential python3-dev python3-pip `

  • Fedora `bash dnf groupinstall "Development tools" "Development libraries" `

  • MacOS:

    Install gcc and make sure it is used by default. `bash brew install gcc ` Add to .bash_profile path and alias: `bash export CC=/usr/local/bin/gcc-10 alias gcc='gcc-10' `

  • Windows:

    On Windows, the support for installing a C compiler and compiling cython extensions is cumbersome and outdated as can be inferred from the [Cython Wiki](https://github.com/cython/cython/wiki/CythonExtensionsOnWindows). We suggest to use the Windows subsystem for Linux (WSL) in this case. More information on WSL and its installation instructions are [here](https://docs.microsoft.com/en-us/windows/wsl/install-win10).

### Installation steps

  1. Clone the repository on your system ` git clone https://gitlab.kwant-project.org/qt/miniff.git ` Move to the root of the project by executing cd miniff/ and continue with the following steps from inside this directory.

  2. Install the dependencies

    • New Conda environment: use the provided [environment.yml](environment.yml). ` conda env create -n <my-env> -f environment.yml ` Activate the above created virtual environment ` conda activate <my-env> `

    • pip: use [requirements.txt](requirements.txt). ` pip install -r requirements.txt `

  3. Build and install miniff

    Use the provided [setup.py](setup.py).

    `bash python3 setup.py build python3 setup.py install `

  4. Verify your installation

    `python python >>> import miniff >>> `

  5. (optional) Run tests

    `bash python3 setup.py nosetests `

Contributing

See CONTRIBUTING.md for contirbution guidelines

Authors

See AUTHORS.MD for the list of contributors

License

This work is licensed under BSD 2-Clause License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

miniff-0.1.0.tar.gz (5.0 MB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page