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

single_plot

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 --use_joblib --rss_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 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.14.tar.gz (47.0 kB view details)

Uploaded Source

File details

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

File metadata

  • Download URL: rsspolymlp-0.0.14.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

Hashes for rsspolymlp-0.0.14.tar.gz
Algorithm Hash digest
SHA256 e3720359874c806288f6261ce8811f895fbd0c43e7d5fcb53a69c38c2e34d062
MD5 8c7deb4c04d0026924afdfca634d1e55
BLAKE2b-256 43d1c41fdd8cc368e9eedc605d0da43501584b817f373692cc5671d24bca88a3

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