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
  • 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 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 scikit-learn joblib pypolymlp spglib symfc
pip install rsspolymlp

Workflow

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

  1. Generating initial random structures

    rss-init-struct --elements Al Cu --atom_counts 4 4 --num_init_str 2000
    
  2. Performing parallel geometry optimization using the polynomial MLP

    rss-parallel --pot polymlp.yaml --pressure 0.0 --num_opt_str 1000
    
  3. 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.

  1. Identifying unique structures across atom numbers n

    rss-summarize --elements Al Cu --result_paths <rss_directory>/*
    # <rss_directory>: parent directory of RSS runs at the same pressure
    
  2. 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
    
  3. 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
    
  4. (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
    

Additional information

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.1.8.tar.gz (63.5 kB view details)

Uploaded Source

File details

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

File metadata

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

File hashes

Hashes for rsspolymlp-0.1.8.tar.gz
Algorithm Hash digest
SHA256 ad3aeb9e053ae00a426c2f215f8882d4738e52e64f42dfd1581ce6b858d0abcc
MD5 27a6413dafc66b05fcad3045e778c34f
BLAKE2b-256 d91209f2478ff32509c94eb7330f2c22ccdd7df1d30e0305e6f5967028a62304

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