Metadata-Version: 2.4
Name: neppo
Version: 1.0
Summary: Neuroevolution potential models in PyTorch
Author: N. Österbacka, Paul Erhart
Maintainer: The neppo developer team
License-Expression: MPL-2.0
Project-URL: Documentation, https://neppo.materialsmodeling.org
Project-URL: Repository, https://gitlab.com/materials-modeling/neppo/
Keywords: chemistry,physics,scientific
Classifier: Development Status :: 5 - Production/Stable
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python
Classifier: Topic :: Scientific/Engineering :: Physics
Requires-Python: >=3.10
Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: ase
Requires-Dist: calorine>=4.1
Requires-Dist: numpy
Requires-Dist: pandas
Requires-Dist: torch
Provides-Extra: test
Requires-Dist: coverage[toml]; extra == "test"
Requires-Dist: flake8; extra == "test"
Requires-Dist: flake8-quotes; extra == "test"
Requires-Dist: matplotlib; extra == "test"
Requires-Dist: nbmake; extra == "test"
Requires-Dist: pytest; extra == "test"
Requires-Dist: xdoctest; extra == "test"
Provides-Extra: documentation
Requires-Dist: nbsphinx; extra == "documentation"
Requires-Dist: pydata-sphinx-theme; extra == "documentation"
Requires-Dist: sphinx; extra == "documentation"
Requires-Dist: sphinx-autodoc-typehints; extra == "documentation"
Requires-Dist: sphinx-design; extra == "documentation"
Requires-Dist: sphinx-sitemap; extra == "documentation"
Requires-Dist: sphinxcontrib-bibtex; extra == "documentation"
Dynamic: license-file

neppo
=====

**neppo** trains neuroevolution potential (NEP) models in `PyTorch <https://pytorch.org/>`_ and writes them in the ``nep.txt`` format that `GPUMD <https://gpumd.org/>`_ runs.
It implements the following models of GPUMD.

* NEP4 potentials, with type-dependent cutoffs, the three forms of ZBL repulsion and an optional dispersion term.
* Temperature-dependent NEP models, whose networks take the temperature as an input.
* qNEP charge models, with atomic charges that depend on the environment and their electrostatic energy.
* TNEP models of dipoles and polarizabilities.

Models are trained with AdamW on the GPU, with the whole training step replayed from a CUDA graph.
The loss is a weighted sum of terms for energies, forces, virials or stresses, charges, Born effective charges, dipoles or polarizabilities, and the regularization of the parameters, and its weights can change between stages of the training.
A run directory of the ``nep`` executable of GPUMD, with ``nep.in`` and ``train.xyz``, can be trained directly with ``neppo train``.
The `user guide <https://neppo.materialsmodeling.org/>`_ describes the functionality and holds tutorials on training NEP, qNEP and TNEP models, the parameters of a model, Pareto-optimal models, the learning rate and the batch size, training in stages, the construction of the loss and its weights, and intermolecular interactions.
**neppo** and its development are hosted on `GitLab <https://gitlab.com/materials-modeling/neppo>`_.


Installation
------------

**neppo** can be installed via `pip`::

    pip install neppo

**neppo** requires Python 3.10 or newer and builds on
`ASE <https://docs.ase-lib.org/>`_,
`calorine <https://calorine.materialsmodeling.org/>`_,
`NumPy <https://numpy.org/>`_,
`pandas <https://pandas.pydata.org/>`_, and
`PyTorch <https://pytorch.org/>`_.
Please consult the `installation section of the user guide <https://neppo.materialsmodeling.org/get_started/installation.html>`_ for more information.


Credits
-------

**neppo** is developed at the Department of Physics and Astronomy of `Chalmers University of Technology <https://www.chalmers.se/>`_.
The NEP potentials were introduced in `Physical Review B 104, 104309 (2021) <https://doi.org/10.1103/PhysRevB.104.104309>`_ and extended in `Journal of Chemical Physics 157, 114801 (2022) <https://doi.org/10.1063/5.0106617>`_ and `Nature Communications 15, 10208 (2024) <https://doi.org/10.1038/s41467-024-54554-x>`_.
The qNEP models were introduced in `Journal of Chemical Theory and Computation 22, 4787 (2026) <https://doi.org/10.1021/acs.jctc.6c00146>`_, and the TNEP models in `Journal of Chemical Theory and Computation 20, 3273 (2024) <https://doi.org/10.1021/acs.jctc.3c01343>`_.

Please consult the `Credits <https://neppo.materialsmodeling.org/credits.html>`_ page of the documentation for additional references.
