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
- pypolymlp
- symfc
- spglib
- joblib
[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
Usage
Example Commands
Step 1–3: Execute for each combination of pressure (p), composition (c), and number of atoms (n).
rss-init-struct --elements Al Cu --atom_counts 4 4 --num_init_str 2000
rss-parallel --pot polymlp.yaml --num_opt_str 1000
rss-uniq-struct
Steps 4–6: Execute after the above steps and analyze the results aggregated by (p, c) conditions.
rss-summarize --elements Al Cu --use_joblib --rss_paths <rss_directory>/*
rss-outlier --result_paths <summary_dir>/json/*
plot-binary --elements Al Cu --result_paths <summary_dir>/json/*
# <rss_directory>: parent directory of RSS runs at the same pressure
# <summary_dir>: output directory from rss-summarize, storing RSS results
Workflow
The command-line interface of rsspolymlp is organized into 6 steps.
Steps 1–3 perform RSS using the polynomial MLP independently for each (p, c, n) conditions.
-
Generating initial structures (
rss-init-struct)Random structures are generated under the specified conditions.
-
Performing parallel geometry optimization (
rss-parallel)Each generated structure is optimized in parallel using polynomial MLPs.
-
Elimination of duplicate structures (
rss-uniq-struct)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.
Steps 4–6 analyze the results aggregated over each (p, c) condition.
-
Identifying unique structures across atom numbers (
rss-summarize)This step removes duplicate structures from the set of unique structures obtained at different atom counts
nunder the same pressure and composition conditions. -
Outlier detection (
rss-outlier)Provides utilities for identifying and filtering out anomalous structures based on energy values.
-
Binary phase diagram plotting (
plot-binary)Visualizes the convex hull and stability of binary systems based on the summarized results.
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.8.tar.gz.
File metadata
- Download URL: rsspolymlp-0.0.8.tar.gz
- Upload date:
- Size: 44.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9176c9469b7c77eaad25a09f662d6b21659c595f151682f0364878ac697ef32a
|
|
| MD5 |
eccc830b6125fa833451598a968178f2
|
|
| BLAKE2b-256 |
895de64057b6a35609307cfd357db2f97982cd357310380a1082f79346dab741
|