isayev commited on
Commit
51f55c4
·
verified ·
1 Parent(s): 09020fa

Add aimnet2-2025 model weights and card

Browse files
README.md ADDED
@@ -0,0 +1,107 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ library_name: aimnet
3
+ license: mit
4
+ tags:
5
+ - chemistry
6
+ - computational-chemistry
7
+ - molecular-dynamics
8
+ - interatomic-potential
9
+ - neural-network-potential
10
+ - pytorch
11
+ - aimnet2
12
+ pipeline_tag: other
13
+ ---
14
+
15
+ # AIMNet2 2025 (B97-3c)
16
+
17
+ 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.
18
+
19
+ Recommended for systems where intermolecular interactions are important (clusters, solvation, crystal packing).
20
+
21
+ ## Highlights
22
+
23
+ - **Fast:** Orders of magnitude faster than DFT, with optional `torch.compile` for ~5x additional speedup on GPU
24
+ - **Accurate:** Near-DFT accuracy for energies, forces, and charges
25
+ - **Broad coverage:** Supports 14 elements: H, B, C, N, O, F, Si, P, S, Cl, As, Se, Br, I
26
+ - **Ensemble:** 4 ensemble members for uncertainty estimation
27
+ - **Features:** Energy, forces, charges, Hessian, stress tensor, periodic boundary conditions
28
+
29
+ ## Installation
30
+
31
+ ```bash
32
+ pip install "aimnet[hf]"
33
+ ```
34
+
35
+ ## Quick Start
36
+
37
+ ```python
38
+ from aimnet.calculators import AIMNet2Calculator
39
+
40
+ # Load from Hugging Face (downloads and caches automatically)
41
+ calc = AIMNet2Calculator("isayevlab/aimnet2-2025")
42
+
43
+ # Single-point calculation
44
+ results = calc(
45
+ {"coord": coords, "numbers": atomic_numbers, "charge": 0.0},
46
+ forces=True,
47
+ )
48
+ print(results["energy"]) # Energy in eV
49
+ print(results["forces"]) # Forces in eV/A
50
+ print(results["charges"]) # Partial charges in e
51
+ ```
52
+
53
+ ### With ASE
54
+
55
+ ```python
56
+ from aimnet.calculators.aimnet2ase import AIMNet2ASE
57
+ from ase.build import molecule
58
+
59
+ atoms = molecule("H2O")
60
+ atoms.calc = AIMNet2ASE("isayevlab/aimnet2-2025")
61
+
62
+ energy = atoms.get_potential_energy()
63
+ forces = atoms.get_forces()
64
+ ```
65
+
66
+ ## Ensemble Members
67
+
68
+ 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.
69
+
70
+ | File | Description |
71
+ |------|-------------|
72
+ | `ensemble_0.safetensors` | Ensemble member 0 (default) |
73
+ | `ensemble_1.safetensors` | Ensemble member 1 |
74
+ | `ensemble_2.safetensors` | Ensemble member 2 |
75
+ | `ensemble_3.safetensors` | Ensemble member 3 |
76
+ | `config.json` | Shared model configuration and metadata |
77
+
78
+ ## Model Details
79
+
80
+ - **Architecture:** AIMNet2 (Atomic Environment Vectors + message-passing MLPs)
81
+ - **Cutoff radius:** 5.0 A
82
+ - **DFT functional:** B97-3c
83
+ - **Dispersion:** D3BJ (externalized, handled by calculator)
84
+ - **Coulomb:** Short-range embedded + external long-range (DSF/Ewald)
85
+ - **Format:** safetensors (converted from PyTorch state dict)
86
+
87
+ ## Limitations
88
+
89
+ - **Periodic systems** are supported through the Python API / ASE interface, not through the Gradio demo
90
+ - Element coverage is limited to the 14 elements listed above; unsupported elements will raise an error
91
+
92
+ ## Citation
93
+
94
+ ```bibtex
95
+ @article{anstine2025aimnet2,
96
+ title={AIMNet2: A Neural Network Potential to Meet your Neutral, Charged, Organic, and Elemental-Organic Needs},
97
+ author={Anstine, Dylan and Zubatyuk, Roman and Isayev, Olexandr},
98
+ journal={Chemical Science},
99
+ year={2025},
100
+ publisher={Royal Society of Chemistry},
101
+ doi={10.1039/D4SC08572H}
102
+ }
103
+ ```
104
+
105
+ ## License
106
+
107
+ MIT License
config.json ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "config_schema_version": 1,
3
+ "family_name": "aimnet2-2025",
4
+ "ensemble_size": 4,
5
+ "member_names": [
6
+ "aimnet2_b973c_2025_d3_0",
7
+ "aimnet2_b973c_2025_d3_1",
8
+ "aimnet2_b973c_2025_d3_2",
9
+ "aimnet2_b973c_2025_d3_3"
10
+ ],
11
+ "cutoff": 5.0,
12
+ "needs_coulomb": true,
13
+ "needs_dispersion": true,
14
+ "coulomb_mode": "sr_embedded",
15
+ "implemented_species": [
16
+ 1,
17
+ 5,
18
+ 6,
19
+ 7,
20
+ 8,
21
+ 9,
22
+ 14,
23
+ 15,
24
+ 16,
25
+ 17,
26
+ 33,
27
+ 34,
28
+ 35,
29
+ 53
30
+ ],
31
+ "library_name": "aimnet",
32
+ "tags": [
33
+ "chemistry",
34
+ "molecular-dynamics",
35
+ "force-field",
36
+ "aimnet2"
37
+ ]
38
+ }
ensemble_0.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c667cfd7460c567ad41d262a3f87e6ad075fa17478735aba4355111a4e61c3a4
3
+ size 8826784
ensemble_1.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:fe61c6864f18a9e5f78de67aaa8351a41f0fe4e51d70d2013677d10e58fe8a9b
3
+ size 8826784
ensemble_2.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ea4e56bf4c93291fb2263a9e53bc8d78c4dbc24947d0c1f358b4883b27e7321b
3
+ size 8826784
ensemble_3.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:068b0ba4bfc80a92031eb6667af2ac4555774781c655ca9e11ed30815858ec14
3
+ size 8826784