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.4.0.tar.gz (99.7 kB view details)

Uploaded Source

Built Distribution

uf3-0.4.0-py3-none-any.whl (93.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: uf3-0.4.0.tar.gz
  • Upload date:
  • Size: 99.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for uf3-0.4.0.tar.gz
Algorithm Hash digest
SHA256 10b706822d217a6407ddac40bda54bce9ea56ffd78ef6ddbe687924a203fb893
MD5 3e42fb18f76f73e7e1689f0087b8b4bf
BLAKE2b-256 98e22151c3f9bccaf5412ac1e17f285c0f0dcaee18a5db9d33dfa2769e3b3378

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uf3-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 93.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for uf3-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 99dd1154b668401198f7e49b1f1464c0d737ffc1a92388bb3a708a354d79f692
MD5 6f319794637d5b248502574efd2bb33c
BLAKE2b-256 10f7904d895c3dc5604ccf8c3871f53f48b8c40a5299ce021c2b9a0416e20be2

See more details on using hashes here.

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