Skip to content

Slab graph convolutional neural networks for predicting surface-related material properties

Notifications You must be signed in to change notification settings

myungjoon/SGCNN

Repository files navigation

SGCNN

This repository contains an implementation of the SGCNN (Slab Graph Convolutional Neural Network) that predicts surface-related properties of crystal structures.

It provides 1) training a SGCNN model 2) an easy use to prediction of an adsorption energy using pretrained model.


Installation

This project required TensorFlow > 1.7.0

Clone this repository:

git clone https://github.com/myungjoon/SGCNN.git

Usage

Training consists of two steps. First you need to prepare your dataset. After that, instill the dataset into SGCNN structure implemented by TensorFlow.

SGCNN takes input as bulk and surface crystal graphs. Currently, this software automatically converts POSCAR format file to the crystal graphs via running cgsurface.py and cgbulk.py.

To apply your dataset, you need to prepare two POSCAR files with same name in different directories, surface/ and bulk/.

  • Our model read POSCAR files. If you have CIF files, you should convert it to POSCAR file.

Features

You can add your own features to feature.csv file.

Data Format

You need to write data.txt file for the dataset. Our sgcnn.py file will read 'data.txt' file, and input graphs and output values (binding energies) are extracted.

'data.txt' file has following format.

#adsorbate  crystal  face  site  atom1  atom2  adsorption energy
1 1 111 11 Au Ti -0.87
4 1 111 21 Au Ti -3.931
  • Each row describes a structure, composition, and surface-related property (adsorption energy)

  • Each column represents specific characteristic.

  • Corresponding POSCAR files should be stored in bulk/ and surface/ directories.

Models

The trained model will be saved as 'models/best.ckpt'

You can use your own model by running test.py. This python file reads 'test.txt' and writes results on 'result.txt'.

Pretrained Model

To use pretrained model for predictions of adsorption energy, you can simply use pretrained.py. This python file reads 'test.txt' and writes results on 'result.txt'.

Citation

If you use SGCNN, please cite us using

  @article{Kim2020,
	author = {Kim, Myungjoon and Yeo, Byung Chul and Park, Youngtae and Lee, Hyuck Mo and Han, Sang Soo and Kim, Donghun},
	title = {Artificial Intelligence to Accelerate the Discovery of N2 Electroreduction Catalysts},
	journal = {Chemistry of Materials},
	volume = {32},
	number = {2},
	pages = {639-912},
	year = {2020},
	doi = {10.1021/acs.chemmater.9b03686}
	}

About

Slab graph convolutional neural networks for predicting surface-related material properties

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages