This repository contains the AI assited version of the code implementation of the CSP method, as discussed in the paper PNcsp+: A Periodic Number-Based Crystal Structure Prediction Method Enhanced by Machine Learning, developed by the TCCDEM team. Currently MACE, M3GNet and ALIGNN-FF are suported.
This work introduces a novel strategy for crystal structure prediction founded upon the principle of chemical similarity. Our method uses Mendeleev's Periodic Number (PN) as a quantitative measure of substitutability to identify potential crystal structures for unexplored chemical systems. Representation of the workflow for predicting stable materials based on PN similarity is shown below.
PNcsp+ with its default configuration scans a local instance of the OQMD for a desired chemical system for given order of neighbors and proposes crystal structures that are ready for further analysis. To set up OQMD locally, please refer to the qmpy documantation.
PLEASE NOTE: the PNcsp code is under active development. Bug reports are welcomed in the GitHub issues!
This program is based on Python 3 under Anaconda.
- Clone the repository.
- Open terminal and locate the directory.
- Install reuqirements (check also all_requirements.txt):
pip install -r requirements.txt- Help page:
python PNcsp.py -h- Run the Python code (minimal):
python PNcsp.py <formula> -n <neighbor_order> -f <energy_filter> -c <calculator>-
-n,--neighbor
Order of neighbors to be considered in the similarity search. Default:1. -
-f,--filter
Selected neighbors are limited to those below the energy filter value.
Default:0(unit: eV/atom).
Use"none"to disable filtering.-db,--database
Sets the data source:OQMD,MP, orMPDS.
Default:OQMD.
-
-calc,--calculator
Selects calculator:
M3GNet,ALIGNN,MACE, orensemble.
Default:None. -
-out,--output_dir
Sets output directory. Provide the full path.
Default: current directory. -
-o,--online
Enables online (True) or offline (False) search in OQMD.
Default:False.For offline search, download and set up the offline OQMD database:
https://oqmd.org/download/ -
-t,--time_sleep
Sets sleep time between queries for online search in OQMD.
Excessive number of queries may cause the server to halt.
Default:"none". -
--BlockSearch
Blocks the search stage.
Use this flag if you want to run only the calculator without the search feature. -
--Relax
Performs structure relaxation before ML evaluation.
Created prototypes are shown in "output" folder in current directory.
python PNcsp.py Na2Cl1 -n 3 -f 0.1 -c MACE -out ./output_dir
