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

Uploaded Source

File details

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

File metadata

  • Download URL: rsspolymlp-0.1.6.tar.gz
  • Upload date:
  • Size: 63.1 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.6.tar.gz
Algorithm Hash digest
SHA256 d1262bf6cdef06e63fe339f0c36921b31c899d3fe46d1f5446ef5ae1c9e70010
MD5 3a7b83f950e0ec3f116b49d0916bb41a
BLAKE2b-256 dfce2714002d74586a9fa544c81f2010ac93ff0e91b81fd68773a29f3b051bd0

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