A framework for random structure search using polynomial MLPs
Project description
A framework for random structure search (RSS) using polynomial MLPs
Citation of rsspolymlp
If you use rsspolymlp in your study, please cite the following articles.
“Efficient global crystal structure prediction using polynomial machine learning potential in the binary Al–Cu alloy system”, J. Ceram. Soc. Jpn. 131, 762 (2023)
@article{HayatoWakai202323053,
title="{Efficient global crystal structure prediction using polynomial machine learning potential in the binary Al–Cu alloy system}",
author={Hayato Wakai and Atsuto Seko and Isao Tanaka},
journal={J. Ceram. Soc. Jpn.},
volume={131},
number={10},
pages={762-766},
year={2023},
doi={10.2109/jcersj2.23053}
}
Installation
Required libraries and python modules
- python >= 3.9
- scikit-learn
- joblib
- pypolymlp
- spglib
- symfc
[Optional]
- matplotlib (if plotting RSS results)
- seaborn (if plotting RSS results)
How to install
- Install from conda-forge
| Name | Downloads | Version | Platforms |
|---|---|---|---|
conda create -n rsspolymlp
conda activate rsspolymlp
conda install -c conda-forge rsspolymlp
- Install from PyPI
conda create -n rsspolymlp
conda activate rsspolymlp
conda install -c conda-forge pypolymlp symfc spglib joblib
pip install rsspolymlp
Workflow
The command-line interface of rsspolymlp
First, RSS using the polynomial MLP is independently performed for each condition defined by pressure (p), composition (c), and number of atoms (n).
-
Generating initial random structures
rss-init-struct --elements Al Cu --atom_counts 4 4 --num_init_str 2000
-
Performing parallel geometry optimization using the polynomial MLP
rss-parallel --pot polymlp.yaml --pressure 0.0 --num_opt_str 1000
-
Eliminating duplicate structures
This step processes the optimized structures. It includes:
- Parsing optimization logs, filtering out failed or unconverged cases, and generating detailed computational summaries.
- Removing duplicate structures and extracting unique optimized structures.
rss-uniq-struct
Next, RSS results aggregated for each (p, c) condition are analyzed.
-
Identifying unique structures across atom numbers
nrss-summarize --elements Al Cu --use_joblib --rss_paths <rss_directory>/* # <rss_directory>: parent directory of RSS runs at the same pressure
-
Eliminating ghost minimum structures
Identifying and filtering out ghost minimum structures based on nearest-neighbor distance are performed.
rss-ghost-minima --result_paths <summary_dir>/json/* rss-ghost-minima --compare_dft --dft_dir <summary_dir>/ghost_minima_dft # <summary_dir>: output directory from rss-summarize, storing RSS results
-
Phase stability analysis
This step computes the relative or formation energies of structures obtained from the RSS and outputs the global minimum structures. It also identifies metastable structures near the convex hull based on a energy threshold (e.g., 30 meV/atom).
rss-phase-analysis --elements Al Cu --result_paths <summary_dir>/json/* --thresholds 10 30 50 --ghost_minima_file <summary_dir>/ghost_minima/ghost_minima_detection.yaml
-
(Optional) Plotting RSS results (e.g.,
plot-binary)The energy distribution of structures obtained through this RSS workflow is visualized.
plot-binary --elements Al Cu --threshold 30
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file rsspolymlp-0.0.12.tar.gz.
File metadata
- Download URL: rsspolymlp-0.0.12.tar.gz
- Upload date:
- Size: 47.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
31497287ff4c06885f4cff7ef91a06e0b510c85a4471a0a077332592abbd5d62
|
|
| MD5 |
5bc150c845170763a0e6d6f548f923c7
|
|
| BLAKE2b-256 |
6816bffcd9913227b7ce33e128e7736d219bd983702d583a1fe4d6f9f8ef2457
|