- Github repository: https://github.com/isayevlab/aimnetcentral/
- Documentation https://isayevlab.github.io/aimnetcentral/
- Accurate and Versatile: AIMNet2 excels at modeling neutral, charged, organic, and elemental-organic systems.
- Flexible Interfaces: Use AIMNet2 through convenient calculators for popular simulation packages like ASE and PySisyphus.
- Flexible Long-Range Interactions: Optionally employ the Dumped-Shifted Force (DSF) or Ewald summation Coulomb models for accurate calculations in large or periodic systems.
Install from GitHub:
pip install git+https://github.com/isayevlab/aimnetcentral.gitFor non-default pytorch installation (e.g. CUDA on Windows), install pytorch first, see pytorch.org.
AIMNet2 provides optional extras for different use cases:
ASE Calculator (for atomistic simulations with ASE):
pip install "aimnet[ase] @ git+https://github.com/isayevlab/aimnetcentral.git"PySisyphus Calculator (for reaction path calculations):
pip install "aimnet[pysis] @ git+https://github.com/isayevlab/aimnetcentral.git"Training (for model training and development):
pip install "aimnet[train] @ git+https://github.com/isayevlab/aimnetcentral.git"All Features:
pip install "aimnet[ase,pysis,train] @ git+https://github.com/isayevlab/aimnetcentral.git"For contributors, use uv for fast dependency management:
git clone https://github.com/isayevlab/aimnetcentral.git
cd aimnetcentral
make install
source .venv/bin/activatefrom aimnet.calculators import AIMNet2Calculator
# Load a pre-trained model
calc = AIMNet2Calculator("aimnet2")
# Prepare input
data = {
"coord": coordinates, # Nx3 array
"numbers": atomic_numbers, # N array
"charge": 0.0,
}
# Run inference
results = calc(data, forces=True)
print(results["energy"], results["forces"])With aimnet[ase] installed:
from ase.io import read
from aimnet.calculators import AIMNet2ASE
atoms = read("molecule.xyz")
atoms.calc = AIMNet2ASE("aimnet2")
energy = atoms.get_potential_energy()
forces = atoms.get_forces()With aimnet[train] installed:
aimnet train --config my_config.yaml --model aimnet2.yamlCommon development tasks using make:
make check # Run linters and code quality checks
make test # Run tests with coverage
make docs # Build and serve documentation
make build # Build distribution packagesIf you use AIMNet2 in your research, please cite:
@article{aimnet2,
title={AIMNet2: A Neural Network Potential to Meet Your Neutral, Charged, Organic, and Elemental-Organic Needs},
author={Zubatyuk, Roman and Smith, Justin S and Nebgen, Benjamin and Tretiak, Sergei and Isayev, Olexandr},
journal={},
year={2024}
}See LICENSE file for details.