This is the official repository to the paper "Inverse design of two-dimensional materials with invertible neural networks" by Victor Fung, Jiaxin Zhang, Guoxiang Hu, P. Ganesh, Bobby G. Sumpter.
The ability to readily design novel materials with chosen functional properties on-demand represents a next frontier in materials discovery. However, thoroughly and efficiently sampling the entire design space in a computationally tractable manner remains a highly challenging task. To tackle this problem, we propose an inverse design framework (MatDesINNe) utilizing invertible neural networks which can map both forward and reverse processes between the design space and target property.
This approach can be used to generate materials candidates for a designated property, thereby satisfying the highly sought-after goal of inverse design. We then apply this framework to the task of band gap engineering in two-dimensional materials, starting with MoS2. Within the design space encompassing six degrees of freedom in applied tensile, compressive and shear strain plus an external electric field, we show the framework can generate novel, high fidelity, and diverse candidates with near-chemical accuracy.
You will need Python 3.6 and the packages specified in requirements.txt. We recommend setting up a virtual environment with pip and installing the packages there.
Install packages with:
$ pip install -r requirement.txt
The key packages and their versions used in our algorithm implementation are listed as follows
- python==3.6+
- FrEIA==0.2
- torch==1.7+
- scikit-learn==0.24.1
To train the MDN, cVAE, INN and cINN models, please go to their folders and simply run
python main.py
The trained model will be saved into the local folder. New samples can be quickly generated by running
python generator.py
We provided the pretained models for MatDesINNe_cINN and MatDesINNe_INN. Generation step can be done via
python generator.py
The generated samples are refined by a localization step with gradient descent, by
python localization.py
The datasets used in MatDesINNe are also released here. Please find the DFT dataset of MoS2 in
Simulated_DataSets/MoS2
@article{fung2021inverse,
title={Inverse design of two-dimensional materials with invertible neural networks},
author={Fung, Victor and Zhang, Jiaxin and Hu, Guoxiang and Ganesh, P and Sumpter, Bobby G},
journal={arXiv preprint arXiv:2106.03013},
year={2021}
}
This project is licensed under the MIT License.