isayev commited on
Commit
0fd3f18
·
verified ·
1 Parent(s): afbaaa5

Add aimnet2-wb97m-d3 model weights and card

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