Skip to main content

MatGL (Materials Graph Library) is a framework for graph deep learning for materials science.

Project description

[GitHub license](https://github. com/materialsvirtuallab/matgl/blob/main/LICENSE) Linting Testing Downloads

Introduction

MatGL (Materials Graph Library) is a graph deep learning library for materials. Mathematical graphs are a natural representation for a collection of atoms (e.g., molecules or crystals). Graph deep learning models have been shown to consistently deliver exceptional performance as surrogate models for the prediction of materials properties.

In this repository, we have reimplemented the MatErials 3-body Graph Network (m3gnet) and its predecessor, MEGNet using the Deep Graph Library (DGL). The goal is to improve the usability, extensibility and scalability of these models. The original M3GNet and MEGNet were implemented in TensorFlow.

This effort is a collaboration between the Materials Virtual Lab and Intel Labs (Santiago Miret, Marcel Nassar, Carmelo Gonzales).

Status

Feb 16 2023: Both initial implementations of M3GNet and MEGNet architectures have been completed. Expect bugs!

M3GNet

M3GNet is a new materials graph neural network architecture that incorporates 3-body interactions. A key difference with prior materials graph implementations such as MEGNet is the addition of the coordinates for atoms and the 3×3 lattice matrix in crystals, which are necessary for obtaining tensorial quantities such as forces and stresses via auto-differentiation.

As a framework, M3GNet has diverse applications, including:

  • Interatomic potential development. With the same training data, M3GNet performs similarly to state-of-the-art machine learning interatomic potentials (ML-IAPs). However, a key feature of a graph representation is its flexibility to scale to diverse chemical spaces. One of the key accomplishments of M3GNet is the development of a universal IAP that can work across the entire periodic table of the elements by training on relaxations performed in the Materials Project.
  • Surrogate models for property predictions. Like the previous MEGNet architecture, M3GNet can be used to develop surrogate models for property predictions, achieving in many cases accuracies that better or similar to other state-of-the-art ML models.

For detailed performance benchmarks, please refer to the publication in the References section. The API documentation is available via the Github Page.

References

Please cite the following works:

  • M3GNet
    Chen, C., Ong, S.P. A universal graph deep learning interatomic potential for the periodic table. Nat Comput Sci,
    2, 718–728 (2022). https://doi.org/10.1038/s43588-022-00349-3.
    
  • MEGNET
    Chen, C.; Ye, W.; Zuo, Y.; Zheng, C.; Ong, S. P. Graph Networks as a Universal Machine Learning Framework for
    Molecules and Crystals. Chem. Mater. 2019, 31 (9), 3564–3572. https://doi.org/10.1021/acs.chemmater.9b01294.
    

Acknowledgements

This work was primarily supported by the Materials Project, funded by the U.S. Department of Energy, Office of Science, Office of Basic Energy Sciences, Materials Sciences and Engineering Division under contract no. DE-AC02-05-CH11231: Materials Project program KC23MP. This work used the Expanse supercomputing cluster at the Extreme Science and Engineering Discovery Environment (XSEDE), which is supported by National Science Foundation grant number ACI-1548562.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

matgl-0.1.0.tar.gz (160.3 kB view details)

Uploaded Source

Built Distribution

matgl-0.1.0-py3-none-any.whl (162.0 kB view details)

Uploaded Python 3

File details

Details for the file matgl-0.1.0.tar.gz.

File metadata

  • Download URL: matgl-0.1.0.tar.gz
  • Upload date:
  • Size: 160.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for matgl-0.1.0.tar.gz
Algorithm Hash digest
SHA256 89ac9f87059c9bfe3848d3db837922be4f76eba74cd0a4e3af3636e829ec1ba6
MD5 74b7358e6470834edf1f11c10809b5d2
BLAKE2b-256 de860a6c4fe231b11e2e45fbee55f18608c5492147ff8193acb8fd7fd314e7e7

See more details on using hashes here.

File details

Details for the file matgl-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: matgl-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 162.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for matgl-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 82aea07a37a049dbb18f992d2e58e54d83a5ff04d070218d0755f0fdbee32ed5
MD5 649aba9e87093a714ebce1629669c038
BLAKE2b-256 e1f900022df7b01ac46c63a7c728e41d1459d89b4842ef7e5734b132163590c7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page