OCP magmom model for modeling magnetic materials.
October 7, 2024 ยท View on GitHub
Overview
This repository houses all the code and data that should allow for the reproduction of the results in the paper: 'Spin-informed universal graph neural networks for simulating magnetic ordering'.
- Toy datasets are provided in the directories "test_set" and "demo2" for model testing.
- The main scripts to reproduce results are
schnet_all_16mix_even.py,gemnet_all_16mix_even.py, etc. - All models are available in the directory "ocpmodel."
- Tutorials for anomaly detection and spin optimization are provided in the directory "paper_tutorials."
- The DFT calculations are available at the following links: GitHub Repository and Zenodo Record
Installation
The Python environment used is the same as in the Open Catalyst Project. Please follow the instructions below.
Citation
If you use this codebase in your research, please cite the following:
@article{xu_ocpmag_2024,
title = {Spin-informed universal graph neural networks for simulating magnetic ordering},
author = {Wenbin Xu, Rohan Yuri Sanspeur, Adeesh Kolluru, Bowen Deng, Peter Harrington,
Steven Farrell, Karsten Reuter, and John Kitchin},
journal = {In preparation},
year = {2024},
}
ocp by Open Catalyst Project
ocp is the Open Catalyst Project's
library of state-of-the-art machine learning algorithms for catalysis.
It provides training and evaluation code for tasks and models that take arbitrary chemical structures as input to predict energies / forces / positions, and can be used as a base scaffold for research projects. For an overview of tasks, data, and metrics, please read our papers:
Projects developed on ocp:
- CGCNN [
arXiv] [code] - SchNet [
arXiv] [code] - DimeNet [
arXiv] [code] - ForceNet [
arXiv] [code] - DimeNet++ [
arXiv] [code] - SpinConv [
arXiv] [code] - GemNet-dT [
arXiv] [code] - PaiNN [
arXiv] [code] - Graph Parallelism [
arXiv] [code] - GemNet-OC [
arXiv] [code] - SCN [
arXiv] [code] - eSCN [
arXiv] [code] - EquiformerV2 [
arXiv] [code]
Installation
See installation instructions.
Download data
Dataset download links and instructions are in DATASET.md.
Train and evaluate models
A detailed description of how to train and evaluate models, run ML-based relaxations, and generate EvalAI submission files can be found in TRAIN.md.
Our evaluation server is hosted on EvalAI. Numbers (in papers, etc.) should be reported from the evaluation server.
Interactive tutorial notebooks can be found here to get familiar with various components of the codebase.
Pretrained model weights
We provide several pretrained model weights for download here.
Discussion
For all non-codebase related questions and to keep up-to-date with the latest OCP announcements, please join the discussion board.
All code-related questions and issues should be posted directly on our issues page. Make sure to first go through the FAQ to check if your question's answered already.
Acknowledgements
- This codebase was initially forked from CGCNN by Tian Xie, but has undergone significant changes since.
- A lot of engineering ideas have been borrowed from github.com/facebookresearch/mmf.
- The DimeNet++ implementation is based on the author's Tensorflow implementation and the DimeNet implementation in Pytorch Geometric.
License
ocp is released under the MIT license.
Citing ocp
If you use this codebase in your work, please consider citing:
@article{ocp_dataset,
author = {Chanussot*, Lowik and Das*, Abhishek and Goyal*, Siddharth and Lavril*, Thibaut and Shuaibi*, Muhammed and Riviere, Morgane and Tran, Kevin and Heras-Domingo, Javier and Ho, Caleb and Hu, Weihua and Palizhati, Aini and Sriram, Anuroop and Wood, Brandon and Yoon, Junwoong and Parikh, Devi and Zitnick, C. Lawrence and Ulissi, Zachary},
title = {Open Catalyst 2020 (OC20) Dataset and Community Challenges},
journal = {ACS Catalysis},
year = {2021},
doi = {10.1021/acscatal.0c04525},
}