Metadata-Version: 2.4
Name: erbs
Version: 0.2.0
Summary: Enhanced sampling in the representation space of atomistic neural networks.
Project-URL: Repository, https://github.com/apax-hub/erbs
Project-URL: Releases, https://github.com/apax-hub/erbs/releases
Project-URL: Discord, https://discord.gg/7ncfwhsnm4
Project-URL: Documentation, https://erbs.readthedocs.io/
Author-email: Moritz René Schäfer <schaefer@theochem.uni-stuttgart.de>
License-Expression: MIT
Keywords: enhanced sampling,interatomic potentials,machine-learning,molecular-dynamics
Requires-Python: >=3.10
Requires-Dist: apax>=0.12.0
Requires-Dist: ase>=3.24.0
Requires-Dist: jax==0.6.2
Requires-Dist: numpy>=1.23
Requires-Dist: scikit-learn>=1.6.1
Provides-Extra: cuda
Requires-Dist: jax[cuda]; extra == 'cuda'
Provides-Extra: docs
Requires-Dist: furo>=2023.9.10; extra == 'docs'
Requires-Dist: ipykernel>=6.29.3; extra == 'docs'
Requires-Dist: myst-parser>=2.0.0; extra == 'docs'
Requires-Dist: nbsphinx-link>=1.3.0; extra == 'docs'
Requires-Dist: nbsphinx>=0.9.3; extra == 'docs'
Requires-Dist: pandoc>=2.3; extra == 'docs'
Requires-Dist: sphinx-copybutton>=0.5.2; extra == 'docs'
Requires-Dist: sphinx-rtd-theme>=1.3.0; extra == 'docs'
Requires-Dist: sphinx>=7.2.6; extra == 'docs'
Provides-Extra: zntrack
Requires-Dist: zntrack>=0.8.9; extra == 'zntrack'
Description-Content-Type: text/markdown

# ERBS - Enhanced Representation Based Sampling

**ERBS** is a JAX-based library for the efficient generation of training data for Machine-Learned Interatomic Potentials (MLIPs).

It implements the Enhanced Representation Based Sampling strategy, which identifies slow, physically relevant collective variables directly from the variance of atomic descriptors and accelerates sampling along these modes using bias potentials.
The library itself ships with a simplified version of the Gaussian Moment descriptor, but is descriptor agostic and can be easily interfaced with others.



## Features

- Automated CV Selection: Automatically identifies slow degrees of freedom via PCA on the descriptor space.
- OPES-Explore: Uses the OPES-Explore formalism to rapidly explore the free energy surface with bounded bias potentials.
- Model Agnostic: Can be used with any atomistic descriptor that matches the required function signature (see Documentation).


## Installation

ERBS is available on PyPI:

```bash
pip install erbs
```

To install the latest development version from GitHub:

```bash
pip install git+https://github.com/your_username/erbs.git
```


## Usage

ERBS integrates with ASE to run enhanced sampling simulations.
A typical workflow involves the typical ASE setup, selecting a descriptor and wrapping the plain energy/forces calculator with ERBS.

```python


dim_reduction = GlobalPCA(pca_components)

dE = units.kB * temperature * barrier_factor
energy_fn_factory = OPESExploreFactory(
    T=temperature, dE=dE, a=band_width
)

base_calc = ...
calc = ERBS(
    base_calc,
    dim_reduction,
    energy_fn_factory,
    n_basis=4, # Uses built-in GM descriptor
    r_min=1.1,
    r_max=6.0,
    dr_threshold=0.5,
    interval=2000,
)
```

Authors

    Moritz René Schäfer

Under the supervision of Johannes Kästner.


## Contributing

We are happy to receive your issues and pull requests!
If you want to add a new dimensionality reduction, energy function or descriptor, please open an issue to discuss the implementation details.



## Acknowledgements

The creation of ERBS was supported by the DFG under Germany's Excellence Strategy - EXC 2075 - 390740016 and the Stuttgart Center for Simulation Science (SimTech).


References

If you use ERBS in your research, please cite the following paper:

TBD