Metadata-Version: 2.4
Name: runnerase-core
Version: 0.11.2
Summary: Shared core library for the Python interface to the Ruhr university Neural Network energy representation (RuNNer).
Author: Alexander L. M. Knoll, Redouan El Haouari, Dr. Gunnar Schmitz
Author-email: Alexander L. M. Knoll <alexander.knoll@rub.de>, Redouan El Haouari <redouan.elhaouari@rub.de>, Dr. Gunnar Schmitz <gunnar.schmitz@rub.de>
License-Expression: GPL-3.0-or-later
License-File: LICENSE
Classifier: Topic :: Scientific/Engineering :: Chemistry
Classifier: Intended Audience :: Science/Research
Classifier: Development Status :: 4 - Beta
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Requires-Dist: ase
Requires-Dist: numpy>=2.0.0
Requires-Dist: scipy>=1.12.0
Requires-Python: >=3.10
Description-Content-Type: text/markdown

# runnerase-core

Shared core library for the Python interface to RuNNer, the Ruhr university
Neural Network energy representation. Every other `runnerase` package
(`runnerase-prediction`, `runnerase-training`, `runnerase-workflows`,
`runnerase-feature-calculation`) builds on top of `runnerase-core`.

## Provides

- `SymmetryFunction`, `SymmetryFunctionSet`, `CutoffFunction`: symmetry
  function definitions used to describe atomic environments to RuNNer.
- `read_inputnn` / `write_inputnn`: read and write RuNNer's `input.nn`
  configuration file.
- `generate_default_symmetry_functions`, `generate_symmetryfunctions_sftype2`,
  `generate_symmetryfunctions_sftype3`, `prune_feature_maps`: routines for
  generating and reducing symmetry function sets.
- Utilities for working with ASE `Atoms` objects (`enforce_total_charge`,
  `get_minimum_distances`, `get_triplets`, `extract_environment`, ...) and
  evaluating fit quality (`calc_mae`, `calc_rmse`).

## Usage

```python
from runnerase_core import read_inputnn, generate_default_symmetry_functions

parameters = read_inputnn("input.nn")
sfs = generate_default_symmetry_functions(elements=["H", "O"])
```

## Documentation

Full documentation, including tutorials on configuring symmetry functions and
reading/writing `input.nn`: https://runner.theochem2.rub.de/runnerase-docs/latest/

## License

GPL-3.0-or-later. Part of the [runnerase](https://gitlab.com/runner-suite/runnerase-2.0) project.
