PolycrystalGraph
Code base for the graph neural network-based polygrain microstructure property prediction project
Install / Use
/learn @mehmetfdemirel/PolycrystalGraphREADME
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.
Code and paper correction
We are aware that the message passing between neighboring nodes was not implemented in the layer-wise update function due to an error in the original code of the graph neural network (GNN) model. Thus, we update the code model.py and the optimized hyperparameters in this GitHub page. The changes to the original paper can be found in the author correction.
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.

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
