Metadata-Version: 2.4
Name: rsspolymlp
Version: 0.4.4
Summary: A framework for random structure search using polynomial MLPs
Author-email: Hayato Wakai <wakai@cms.mtl.kyoto-u.ac.jp>
Maintainer-email: Hayato Wakai <wakai@cms.mtl.kyoto-u.ac.jp>
License-Expression: MIT
Project-URL: homepage, https://github.com/hytwakai/rsspolymlp
Project-URL: repository, https://github.com/hytwakai/rsspolymlp
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy
Requires-Dist: scipy
Requires-Dist: scikit-learn
Requires-Dist: joblib
Requires-Dist: pypolymlp
Requires-Dist: spglib
Requires-Dist: symfc
Provides-Extra: pymatgen
Requires-Dist: pymatgen; extra == "pymatgen"
Provides-Extra: matplotlib
Requires-Dist: matplotlib; extra == "matplotlib"
Provides-Extra: seaborn
Requires-Dist: seaborn; extra == "seaborn"
Provides-Extra: tools
Requires-Dist: pymatgen; extra == "tools"
Requires-Dist: matplotlib; extra == "tools"
Requires-Dist: seaborn; extra == "tools"
Dynamic: license-file

# Framework for random structure search using polynomial machine learning potentials

`rsspolymlp` is a Python code designed to conduct random structure searches (RSS) using polynomial machine learning potentials (MLPs). 
The code provides functionalities for generating initial random structures, performing geometry optimization using polynomial MLPs, and eliminating duplicate structures. 
The formulation and development of polynomial MLPs are detailed in [`pypolymlp`](https://github.com/sekocha/pypolymlp).

## Installation

### Required libraries and python modules

- python >= 3.10
- scikit-learn
- joblib
- pypolymlp
- spglib
- symfc

[Optional]
- matplotlib, seaborn
- pymatgen

### How to install
- Install from conda-forge

| Name | Downloads | Version | Platforms |
| --- | --- | --- | --- |
| [![Conda Recipe](https://img.shields.io/badge/recipe-rsspolymlp-green.svg)](https://anaconda.org/conda-forge/rsspolymlp) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/rsspolymlp.svg)](https://anaconda.org/conda-forge/rsspolymlp) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/rsspolymlp.svg)](https://anaconda.org/conda-forge/rsspolymlp) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/rsspolymlp.svg)](https://anaconda.org/conda-forge/rsspolymlp) |

```shell
conda create -n rsspolymlp
conda activate rsspolymlp
conda install -c conda-forge rsspolymlp
```

- Install from PyPI
```shell
conda create -n rsspolymlp
conda activate rsspolymlp
conda install -c conda-forge scikit-learn joblib pypolymlp spglib symfc
pip install rsspolymlp
```


## How to use rsspolymlp

 - [Workflow of RSS with polynomial MLPs](docs/rsspolymlp.md)
   - Initial structure generation
   - Global RSS with polynomial MLPs
   - Unique structure identification and RSS result summarization
   - Phase stability analysis
 - Python API
   - [RSS workflow](docs/api_rsspolymlp.md)
   - [VASP calculation utilities](src/rsspolymlp/utils/vasp_util/readme.md)
     - Single-point calculation
     - Local geometry optimization
   - [Matplotlib utilities](src/rsspolymlp/utils/matplot_util/readme.md)


## Citation of rsspolymlp

If you use `rsspolymlp` in your study, please cite the following articles.

“Systematic global structure search of bismuth-based binary systems under pressure using machine learning potentials”, [Phys. Rev. Materials 10, 093801 (2026)](https://doi.org/10.1103/k9sg-v7hl)
```
@article{Phys.Rev.Mater.10.093801,
  title = {Systematic global structure search of bismuth-based binary systems under pressure using machine learning potentials},
  author = {Wakai, Hayato and Ishiwata, Shintaro and Seko, Atsuto},
  journal = {Phys. Rev. Mater.},
  volume = {10},
  issue = {9},
  pages = {093801},
  numpages = {28},
  year = {2026},
  month = {Sep},
  publisher = {American Physical Society},
  doi = {10.1103/k9sg-v7hl},
  url = {https://link.aps.org/doi/10.1103/k9sg-v7hl}
}
```
