--- library_name: aimnet license: mit tags: - chemistry - computational-chemistry - molecular-dynamics - interatomic-potential - neural-network-potential - pytorch - aimnet2 pipeline_tag: other --- # AIMNet2 2025 (B97-3c) AIMNet2 is a neural network interatomic potential for fast and accurate molecular simulations. This model is trained at the **B97-3c** level of theory with improved intermolecular interactions. Supersedes the original aimnet2-b973c model. Recommended for systems where intermolecular interactions are important (clusters, solvation, crystal packing). ## Highlights - **Fast:** Orders of magnitude faster than DFT, with optional `torch.compile` for ~5x additional speedup on GPU - **Accurate:** Near-DFT accuracy for energies, forces, and charges - **Broad coverage:** Supports 14 elements: H, B, C, N, O, F, Si, P, S, Cl, As, Se, Br, I - **Ensemble:** 4 ensemble members for uncertainty estimation - **Features:** Energy, forces, charges, Hessian, stress tensor, periodic boundary conditions ## Installation ```bash pip install "aimnet[hf]" ``` ## Quick Start ```python from aimnet.calculators import AIMNet2Calculator # Load from Hugging Face (downloads and caches automatically) calc = AIMNet2Calculator("isayevlab/aimnet2-2025") # Single-point calculation results = calc( {"coord": coords, "numbers": atomic_numbers, "charge": 0.0}, forces=True, ) print(results["energy"]) # Energy in eV print(results["forces"]) # Forces in eV/A print(results["charges"]) # Partial charges in e ``` ### With ASE ```python from aimnet.calculators.aimnet2ase import AIMNet2ASE from ase.build import molecule atoms = molecule("H2O") atoms.calc = AIMNet2ASE("isayevlab/aimnet2-2025") energy = atoms.get_potential_energy() forces = atoms.get_forces() ``` ## Ensemble Members This repo contains 4 ensemble members (`ensemble_0.safetensors` through `ensemble_3.safetensors`). The default loads member 0. For uncertainty estimation, load all 4 and average predictions. | File | Description | |------|-------------| | `ensemble_0.safetensors` | Ensemble member 0 (default) | | `ensemble_1.safetensors` | Ensemble member 1 | | `ensemble_2.safetensors` | Ensemble member 2 | | `ensemble_3.safetensors` | Ensemble member 3 | | `config.json` | Shared model configuration and metadata | ## Model Details - **Architecture:** AIMNet2 (Atomic Environment Vectors + message-passing MLPs) - **Cutoff radius:** 5.0 A - **DFT functional:** B97-3c - **Dispersion:** D3BJ (externalized, handled by calculator) - **Coulomb:** Short-range embedded + external long-range (DSF/Ewald) - **Format:** safetensors (converted from PyTorch state dict) ## Limitations - **Periodic systems** are supported through the Python API / ASE interface, not through the Gradio demo - Element coverage is limited to the 14 elements listed above; unsupported elements will raise an error ## Citation ```bibtex @article{anstine2025aimnet2, title={AIMNet2: A Neural Network Potential to Meet your Neutral, Charged, Organic, and Elemental-Organic Needs}, author={Anstine, Dylan and Zubatyuk, Roman and Isayev, Olexandr}, journal={Chemical Science}, year={2025}, publisher={Royal Society of Chemistry}, doi={10.1039/D4SC08572H} } ``` ## License MIT License