https://github.com/uf3/uf3

UF3: a python library for generating ultra-fast interatomic potentials

https://github.com/uf3/uf3

Science Score: 49.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 6 DOI reference(s) in README
  • Academic publication links
  • Committers with academic emails
    1 of 4 committers (25.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.7%) to scientific vocabulary

Keywords

force-fields interatomic-potentials machine-learning materials-science molecular-dynamics
Last synced: 5 months ago · JSON representation

Repository

UF3: a python library for generating ultra-fast interatomic potentials

Basic Info
  • Host: GitHub
  • Owner: uf3
  • License: apache-2.0
  • Language: Python
  • Default Branch: develop
  • Homepage:
  • Size: 18.3 MB
Statistics
  • Stars: 68
  • Watchers: 7
  • Forks: 27
  • Open Issues: 21
  • Releases: 5
Topics
force-fields interatomic-potentials machine-learning materials-science molecular-dynamics
Created over 4 years ago · Last pushed 8 months ago
Metadata Files
Readme License

readme.rst

Ultra-Fast Force Fields (UF3)
=============================

|Tests|


\Xie, S.R., Rupp, M. & Hennig, R.G., "Ultra-fast interpretable machine-learning potentials", npj Comput Mater 9, 162 (2023). https://doi.org/10.1038/s41524-023-01092-7

.. _https://doi.org/10.1038/s41524-023-01092-7: https://doi.org/10.1038/s41524-023-01092-7

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
-----

.. Recommended: Install UF3 in a new conda environment:

.. .. code:: bash

..    conda create -n uf3_env python=3.8
..    conda activate uf3_env

UF3 can be obtained by cloning the repository and installing it:

..
   1. Download and install automatically from PyPI (recommended):
   pip install uf3
   Download and install manually from GitHub:

.. code:: bash

   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.


.. |Tests| image:: https://github.com/uf3/uf3/workflows/Tests/badge.svg
   :target: https://github.com/uf3/uf3/actions

Owner

  • Name: Ultra-Fast Force Fields
  • Login: uf3
  • Kind: organization

Fast, interpretable machine-learning potentials.

GitHub Events

Total
  • Issues event: 3
  • Watch event: 8
  • Issue comment event: 5
  • Pull request event: 2
  • Fork event: 5
Last Year
  • Issues event: 3
  • Watch event: 8
  • Issue comment event: 5
  • Pull request event: 2
  • Fork event: 5

Committers

Last synced: almost 3 years ago

All Time
  • Total Commits: 344
  • Total Committers: 4
  • Avg Commits per committer: 86.0
  • Development Distribution Score (DDS): 0.052
Top Committers
Name Email Commits
Stephen Xie s****e@u****u 326
henk h****l@g****m 14
Stephen R. Xie s****e@g****m 3
Robert-Schmid r****4@g****m 1
Committer Domains (Top 20 + Academic)
ufl.edu: 1

Issues and Pull Requests

Last synced: 8 months ago

All Time
  • Total issues: 46
  • Total pull requests: 86
  • Average time to close issues: 2 months
  • Average time to close pull requests: 25 days
  • Total issue authors: 18
  • Total pull request authors: 15
  • Average comments per issue: 1.96
  • Average comments per pull request: 1.3
  • Merged pull requests: 66
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 5
  • Pull requests: 5
  • Average time to close issues: about 3 hours
  • Average time to close pull requests: about 5 hours
  • Issue authors: 5
  • Pull request authors: 4
  • Average comments per issue: 1.6
  • Average comments per pull request: 0.8
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • sxie22 (9)
  • henk789 (8)
  • monk-04 (6)
  • Fraser-Birks (3)
  • sunghjung3 (3)
  • EboniWilliams (2)
  • paprakash (2)
  • pmrv (2)
  • circs (1)
  • JasonGibsonUfl (1)
  • MengnanCui (1)
  • yw-fang (1)
  • tawe141 (1)
  • samdong2101 (1)
  • rhennig (1)
Pull Request Authors
  • monk-04 (30)
  • sunghjung3 (29)
  • henk789 (16)
  • sxie22 (6)
  • samdong2101 (2)
  • emirbilgili (2)
  • tawe141 (2)
  • matthias-rupp (2)
  • Meow7Meow7 (2)
  • JasonGibsonUfl (2)
  • pmrv (1)
  • Robert-Schmid (1)
  • paprakash (1)
  • michaelmacisaac (1)
  • thomasbischoff (1)
Top Labels
Issue Labels
enhancement (4) bug (4) help wanted (1) duplicate (1) invalid (1) documentation (1)
Pull Request Labels
enhancement (8) bug (2) documentation (1)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 39 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 2
  • Total maintainers: 1
pypi.org: uf3

Ultra-Fast Force Fields for molecular dynamics

  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 39 Last month
Rankings
Dependent packages count: 6.6%
Forks count: 11.1%
Stargazers count: 12.1%
Average: 20.3%
Dependent repos count: 30.6%
Downloads: 41.1%
Maintainers (1)
Last synced: 6 months ago

Dependencies

.github/workflows/publish_pypi_package.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v3 composite
  • pypa/gh-action-pypi-publish release/v1 composite
.github/workflows/tests.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
docs/requirements.txt pypi
  • ase ==3.22.0
  • ipython *
  • jupyter *
  • jupytext *
  • matplotlib ==3.4.2
  • nbsphinx ==0.8.7
  • ndsplines ==0.1.2
  • numba ==0.54.0
  • numpy ==1.20.3
  • pandas ==1.3.3
  • pydata-sphinx-theme *
  • pyyaml ==5.4.1
  • scipy ==1.7.1
  • sphinx ==4.2.0
  • sphinx-autodoc-typehints *
  • sphinx_rtd_theme ==1.0.0
  • tables ==3.6.1
  • tqdm ==4.62.3
  • wheel ==0.37.0
requirements.txt pypi
  • EXTRAS_REQUIRE *
  • PyYAML *
  • ase *
  • elastic *
  • matplotlib *
  • ndsplines *
  • numba *
  • numpy *
  • pandas *
  • phonopy >=2.6.0
  • plotly *
  • scipy *
  • seekpath *
  • sklearn *
  • spglib *
  • tables *
  • tqdm *