Skip to main content

A machine learning potential energy project HIENet from AIRS

Project description

A Materials Foundation Model via Hybrid Invariant-Equivariant Architectures

[preprint]

The official implementation for the HIENet model from our preprint "A Materials Foundation Model via Hybrid Invariant-Equivariant Architectures"

cover

Installation

Requirements

  • Python >= 3.8
  • PyTorch >= 1.12.0

We have tested the model with the following configuration:

  • Python 3.9
  • PyTorch 2.1.2

After installing PyTorch, you can install HIENet from source:

git clone https://github.com/divelab/AIRS.git
cd AIRS/OpenMat/HIENet
pip install .

Usage

ASE Calculator

HIENet provides an interface with the Atomic Simulation Environment (ASE) through its calculator implementation. You can use the pretrained model as follows:

from hienet.hienet_calculator import HIENetCalculator
from ase.io import read

# Load a structure from a file
atoms = read('your_structure.cif')

# Initialize the calculator with default settings
# This will use the pretrained model on the available device (GPU if available)
calc = HIENetCalculator()

# Attach the calculator to the atoms object
atoms.calc = calc

# Calculate energy, forces, and stress
energy = atoms.get_potential_energy()
forces = atoms.get_forces()
stress = atoms.get_stress()

Using a specific checkpoint

You can also load a specific model checkpoint:

# Load from a specific checkpoint file
calc = HIENetCalculator(model='path/to/your/checkpoint.pth')

# Specify device
calc = HIENetCalculator(device='cuda:0')  # or 'cpu' for CPU only

We provide a pretrained HIENet checkpoint under the checkpoints/ folder.

Citation

Please cite our preprint if you use our model or benchmark results. Thank you!

@misc{yan2025materialsfoundationmodelhybrid,
      title={A Materials Foundation Model via Hybrid Invariant-Equivariant Architectures}, 
      author={Keqiang Yan and Montgomery Bohde and Andrii Kryvenko and Ziyu Xiang and Kaiji Zhao and Siya Zhu and Saagar Kolachina and Doğuhan Sarıtürk and Jianwen Xie and Raymundo Arroyave and Xiaoning Qian and Xiaofeng Qian and Shuiwang Ji},
      year={2025},
      eprint={2503.05771},
      archivePrefix={arXiv},
      primaryClass={cs.LG},
      url={https://arxiv.org/abs/2503.05771}, 
}

Acknowledgement

This project builds upon SevenNet as starter code, which is licensed under the GNU General Public License v3.0. In addition to adding our own files, we made significant changes to the following files to implement HIENet architecture within the SevenNet's training pipeline:

  • hienet/model_build.py
  • hienet/nn/linear.py
  • hienet/nn/edge_embedding.py
  • hienet/train/loss.py
  • hienet/train/optim.py

We have also adjusted function and file names and made other slight changes in other files for consistency

K.Y., M.B., A.K. and S.J. acknowledge partial support from National Science Foundation (NSF) under grant IIS-2243850, ARPA-H under grant 1AY1AX000053, and National Institutes of Health under grant U01AG070112. K.Z., S.K. and X.F.Q. acknowledge partial support from NSF under awards CMMI-2226908 and DMR-2103842 and the donors of ACS Petroleum Research Fund under Grant 65502-ND10. R.A. and D.S. acknowledge support from ARO through Grant No. W911NF-22-2-0117. R.A., X.N.Q. and S.Z. acknowledge NSF through Grant No. 2119103 (DMREF). Z. X. and X.N.Q. acknowledge support from NSF through grants SHF-2215573 and IIS-2212419. Some computations were carried out at the Texas A&M High-Performance Research Computing (HPRC) facility. We gratefully acknowledge the support of Lambda Inc. for providing computing resources.

Lambda-logo

Contact

If you have any question, please contact keqiangyan@tamu.edu.

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

hienet-1.0.1.tar.gz (83.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hienet-1.0.1-py3-none-any.whl (83.4 MB view details)

Uploaded Python 3

File details

Details for the file hienet-1.0.1.tar.gz.

File metadata

  • Download URL: hienet-1.0.1.tar.gz
  • Upload date:
  • Size: 83.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for hienet-1.0.1.tar.gz
Algorithm Hash digest
SHA256 c3c0cecb163b4d9772fa47003b5cd0ec733b41af75fd1b15142c9af1e65c2a8a
MD5 60ab80cda7948664c96230b7ccb4b252
BLAKE2b-256 7b95ab201455dada773d7a1ae4cf51a12e355a3940cdfcd496864e3f66fc279a

See more details on using hashes here.

File details

Details for the file hienet-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: hienet-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 83.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for hienet-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b434a407031710cdbe390e94796dbc20e5f23fa2f090ab042d62957aa50664a4
MD5 8c2a3c2c4b2d07ca21565321c8e170c0
BLAKE2b-256 6029862a328cbb97d60aaef6c2c60fe7022d3ab29e217a58a8919e6fa7df2700

See more details on using hashes here.

Supported by

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