Skip to main content

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 Recipe Conda Downloads Conda Version Conda 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 (p, c, n) condition.

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

single_plot

The command-line interface of rsspolymlp is organized into 6 steps.

Steps 1–3 perform RSS using the polynomial MLP independently for each combination of pressure (p), composition (c), and number of atoms (n).

  1. Generating initial structures (rss-init-struct)

    Random structures are generated under the specified conditions.

  2. Performing parallel geometry optimization (rss-parallel)

    Each generated structure is optimized in parallel using polynomial MLPs.

  3. 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.

  1. Identifying unique structures across atom numbers (rss-summarize)

    This step removes duplicate structures from the set of unique structures obtained at different atom counts n under the same pressure and composition conditions.

  2. Outlier detection (rss-outlier)

    Provides utilities for identifying and filtering out anomalous structures based on energy values.

  3. Binary phase diagram plotting (plot-binary)

    Visualizes the convex hull and stability of binary systems based on the summarized results.

Additional information is here

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rsspolymlp-0.0.7.tar.gz (44.2 kB view details)

Uploaded Source

File details

Details for the file rsspolymlp-0.0.7.tar.gz.

File metadata

  • Download URL: rsspolymlp-0.0.7.tar.gz
  • Upload date:
  • Size: 44.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for rsspolymlp-0.0.7.tar.gz
Algorithm Hash digest
SHA256 1eae938929799ff3fa9e13f848814e979c98e2d992820dd249cb1feddff70934
MD5 21a86c3c3c38557de8b1e3aa1434d737
BLAKE2b-256 8a8f72be01ffebb2e02e26baa4b9aa44440e841636f82df5a5b9cb09b6d6b78f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page