/PolycrystalGraph

Code base for the graph neural network-based polygrain microstructure property prediction project

Primary LanguagePythonMIT LicenseMIT

Graph Neural Networks for an Accurate and Interpretable Prediction of the Properties of Polycrystalline Materials

This repo contains the code base for the paper "Graph Neural Networks for an Accurate and Interpretable Prediction of the Properties of Polycrystalline Materials" by Minyi Dai, Mehmet F. Demirel, Yingyu Liang, Jiamian Hu.

Microstructure-property dataset for polycrystalline materials

We use Dream.3D to generate 492 different 3D polycrystalline microstructures. The number of grains in each microstructure varies from 12 to 297 grains. Microstructures with and without strong textures are both generated (see examples below). For each microstructure, we performed phase-field modeling to obtain the 3D distributions of local magnetization and the associated local magnetostriction induced by a magnetic field applied along the x-axis. Four or five different magnetic fields are applied to each microstructure, amounting to 2287 data points. alt text

Run machine learning code

1. Set up Conda environment

conda env create -f env.yml
conda activate micstrenv

2. Download the data

bash download_data.sh

3. Run the code

3.1. Split data for cross validation

python split.py

3.2. Train the model

Run

bash run.sh
3.3. Get Interpretation results
python interpretation.py