isayev commited on
Commit
9f22ce0
·
verified ·
1 Parent(s): 98b252b

Add aimnet2-nse model weights and card

Browse files
README.md ADDED
@@ -0,0 +1,111 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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 NSE (Open-Shell)
16
+
17
+ AIMNet2 is a neural network interatomic potential for fast and accurate molecular simulations. This is a spin-polarized model for **open-shell chemistry** (radicals, triplet states, excited states). Accepts spin multiplicity as additional input.
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-nse")
40
+
41
+ # Single-point calculation (closed-shell)
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
+ # For open-shell species (e.g., methyl radical, doublet)
51
+ results = calc(
52
+ {"coord": coords, "numbers": atomic_numbers, "charge": 0.0, "mult": 2.0},
53
+ forces=True,
54
+ )
55
+ ```
56
+
57
+ ### With ASE
58
+
59
+ ```python
60
+ from aimnet.calculators.aimnet2ase import AIMNet2ASE
61
+ from ase.build import molecule
62
+
63
+ atoms = molecule("H2O")
64
+ atoms.calc = AIMNet2ASE("isayevlab/aimnet2-nse", mult=2)
65
+
66
+ energy = atoms.get_potential_energy()
67
+ forces = atoms.get_forces()
68
+ ```
69
+
70
+ ## Ensemble Members
71
+
72
+ 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.
73
+
74
+ | File | Description |
75
+ |------|-------------|
76
+ | `ensemble_0.safetensors` | Ensemble member 0 (default) |
77
+ | `ensemble_1.safetensors` | Ensemble member 1 |
78
+ | `ensemble_2.safetensors` | Ensemble member 2 |
79
+ | `ensemble_3.safetensors` | Ensemble member 3 |
80
+ | `config.json` | Shared model configuration and metadata |
81
+
82
+ ## Model Details
83
+
84
+ - **Architecture:** AIMNet2 (Atomic Environment Vectors + message-passing MLPs)
85
+ - **Cutoff radius:** 5.0 A
86
+ - **DFT functional:** wB97M
87
+ - **Dispersion:** D3BJ (externalized, handled by calculator)
88
+ - **Coulomb:** Short-range embedded + external long-range (DSF/Ewald)
89
+ - **Format:** safetensors (converted from PyTorch state dict)
90
+
91
+ ## Limitations
92
+
93
+ - **Periodic systems** are supported through the Python API / ASE interface, not through the Gradio demo
94
+ - Element coverage is limited to the 14 elements listed above; unsupported elements will raise an error
95
+
96
+ ## Citation
97
+
98
+ ```bibtex
99
+ @article{anstine2025aimnet2,
100
+ title={AIMNet2: A Neural Network Potential to Meet your Neutral, Charged, Organic, and Elemental-Organic Needs},
101
+ author={Anstine, Dylan and Zubatyuk, Roman and Isayev, Olexandr},
102
+ journal={Chemical Science},
103
+ year={2025},
104
+ publisher={Royal Society of Chemistry},
105
+ doi={10.1039/D4SC08572H}
106
+ }
107
+ ```
108
+
109
+ ## License
110
+
111
+ MIT License
config.json ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "config_schema_version": 1,
3
+ "family_name": "aimnet2-nse",
4
+ "ensemble_size": 4,
5
+ "member_names": [
6
+ "aimnet2nse_0",
7
+ "aimnet2nse_1",
8
+ "aimnet2nse_2",
9
+ "aimnet2nse_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:c65c7e1c3dc15b97f473f544d0c6835bd8d0c3e6b294523a9311b83eb0d723b6
3
+ size 8951304
ensemble_1.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:417b84066883373bde6c2f2a11a6b953e1b73bbe12eb56881c6990cb0a919751
3
+ size 8951304
ensemble_2.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:54f84585c26ae547cf0b7f7c4cac8b33d01b9e62347227f03ab7ced44e51b3f8
3
+ size 8951304
ensemble_3.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:af67e97f9eb88aafabd3ced57950692f192b2c726d2c45baf146b64e9fd4f4cb
3
+ size 8951304