Skip to main content

Ultra-Fast Force Fields for molecular dynamics

Project description

Tests

S. R. Xie, M. Rupp, and R. G. Hennig, “Ultra-fast interpretable machine-learning potentials”, preprint arXiv:2110.00624 (2021).

All-atom dynamics simulations have become an indispensable quantitative tool in physics, chemistry, and materials science, but large systems and long simulation times remain challenging due to the trade-off between computational efficiency and predictive accuracy. The UF3 framework is built to address this challenge by combinining effective two- and three-body potentials in a cubic B-spline basis with regularized linear regression to obtain machine-learning potentials that are physically interpretable, sufficiently accurate for applications, and as fast as the fastest traditional empirical potentials.

Documentation: https://uf3.readthedocs.io/

This repository is still under construction. Please feel free to open new issues for feature requests and bug reports.

Setup

UF3 can be installed in two different ways:

  1. Download and install automatically from PyPI (recommended):

pip install uf3
  1. Download and install manually from GitHub:

git clone https://github.com/uf3/uf3.git
cd uf3
pip install .

Getting Started

Please see the examples in uf3/examples/tungsten_extxyz for basic usage.

Overviews for individual modules can be found in uf3/examples/modules (WIP).

Standalone scripts and configuration generators/parsers are in development.

Optional Dependencies

Elastic constants:

pip install setuptools_scm
pip install uf3[elastic_constants]

Phonon spectra:

pip install uf3[phonon_spectra]

LAMMPS interface:

conda install numpy==1.20.3 --force-reinstall
conda install -c conda-forge lammps --no-update-deps

The environment variable $ASE_LAMMPSRUN_COMMAND must also be set to use the LAMMPS interface within python. See the ASE documentation for details.

Dependencies

  • We rely on ase to handle parsing outputs from atomistic codes like LAMMPS, VASP, and CP2K.

  • We use Pandas to keep track of atomic configurations and their energies/forces as well as organizing data for featurization and training.

  • B-spline evaluations use scipy, numba, and ndsplines.

  • PyTables is used for reading/writing HDF5 files.

  • Matplotlib is used for plotting.

  • We use sklearn for regression.

  • We use tqdm for progress bars.

  • We use plotly for interactive plots.

  • We use PyYaml for configuration files.

  • We use numpy for array operations.

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

uf3-0.3.2.tar.gz (82.6 kB view details)

Uploaded Source

Built Distribution

uf3-0.3.2-py3-none-any.whl (88.9 kB view details)

Uploaded Python 3

File details

Details for the file uf3-0.3.2.tar.gz.

File metadata

  • Download URL: uf3-0.3.2.tar.gz
  • Upload date:
  • Size: 82.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.14

File hashes

Hashes for uf3-0.3.2.tar.gz
Algorithm Hash digest
SHA256 e3d5e504127dfdd9b71ba80ac9fe6a7fb8f0f748a52cc97eb13d17d8f718566d
MD5 56b36ad245f32efeed7bb44a0f0947e6
BLAKE2b-256 9dd085bb444e4ae59adee155917fd54c85618d17416be5277df4df45c28be76a

See more details on using hashes here.

Provenance

File details

Details for the file uf3-0.3.2-py3-none-any.whl.

File metadata

  • Download URL: uf3-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 88.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.14

File hashes

Hashes for uf3-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ea02866ecc88d8a6ef940147e8b856e41c9387f01c8bd036fa26b8e508cf60fb
MD5 5d863871e0f980dab8a0c772d515b7a4
BLAKE2b-256 720385ddd1424263a4728cf45a1d9f09bfcdeddeb86bba801af71ed3a168c760

See more details on using hashes here.

Provenance

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