{ "cells": [ { "cell_type": "markdown", "id": "2469f604", "metadata": {}, "source": [ "# DFT-D4 in xnn vs the reference `dftd4`: accuracy, speed, and deployment with an MLIP\n", "\n", "A benchmark of xnn's `D4Dispersion` (Caldeweyher *et al.*, *JCP* **150**, 154122, 2019)\n", "against the reference Fortran implementation [`dftd4`](https://github.com/dftd4/dftd4)\n", "4.2.0 (used through its Python package purely as an external reference):\n", "\n", "1. **accuracy** on the S22 complexes and on molecular crystals -- dispersion energies,\n", " interaction-energy contributions, gradients and virials;\n", "2. **speed** vs system size on CPU and GPU, with the upstream real-space cutoffs (60 /\n", " 40 / 30 bohr) and with the shorter cutoffs an MLIP would use in MD -- the three-body\n", " term is the part to watch: it is enumerated from the neighbor list within\n", " `cutoff_triple`, so its cost grows with $N \\cdot n_{\\rm nb}^2$ rather than $N^3$, but at\n", " 40 bohr $n_{\\rm nb}$ is in the thousands for a liquid;\n", "3. **deployment** of a D4-corrected MACE through every xnn channel (eager, ASE,\n", " TorchScript whole-system and pair-style ABIs), including forces and stress.\n", "\n", "`dftd4` must be imported before `torch` (its bundled OpenMP runtime otherwise clashes\n", "with torch's and returns wrong EEQ charges).\n" ] }, { "cell_type": "code", "execution_count": 1, "id": "8fb161bf", "metadata": { "execution": { "iopub.execute_input": "2026-09-23T19:25:25.277227Z", "iopub.status.busy": "2026-09-23T19:25:25.277008Z", "iopub.status.idle": "2026-09-23T19:25:27.694894Z", "shell.execute_reply": "2026-09-23T19:25:27.694185Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "xnn 0.2.1 | dftd4 4.2.0 | torch 2.5.1+cu121 | device for the GPU timings: cuda\n" ] } ], "source": [ "import numpy as np\n", "from dftd4.interface import DampingParam, DispersionModel # before torch, see above\n", "\n", "import logging, warnings, time\n", "logging.disable(logging.WARNING)\n", "warnings.filterwarnings(\"ignore\")\n", "\n", "import torch\n", "import matplotlib.pyplot as plt\n", "from ase import Atoms\n", "from ase.build import molecule\n", "from ase.data.s22 import create_s22_system, get_number_of_dimer_atoms, get_interaction_energy_cc, s22\n", "\n", "torch.set_default_dtype(torch.float64)\n", "\n", "import xnn\n", "from xnn.common.config import from_dict\n", "from xnn.common.data import structure_to_graph, build_neighbor_list\n", "from xnn.common.deploy import TorchScriptPotential, XNNCalculator\n", "from xnn.common.models import D4Dispersion, ForceStressOutput, build_model, c6_matrix\n", "from xnn.common.models.d4 import BOHR, HARTREE, PBE0_D4\n", "\n", "probe = DispersionModel(np.array([8, 1, 1]), molecule(\"H2O\").positions / BOHR).get_properties()\n", "assert abs(probe[\"partial charges\"][0] + 0.58639069) < 1e-6, \"dftd4/torch OpenMP clash: restart the kernel\"\n", "device = \"cuda\" if torch.cuda.is_available() else \"cpu\"\n", "print(\"xnn\", xnn.__version__, \"| dftd4 4.2.0 | torch\", torch.__version__, \"| device for the GPU timings:\", device)\n", "\n", "def reference(atoms, charge=0.0, cutoffs=None, grad=True):\n", " periodic = bool(atoms.pbc.any())\n", " m = DispersionModel(atoms.numbers, atoms.positions / BOHR, charge=charge,\n", " lattice=atoms.cell[:] / BOHR if periodic else None,\n", " periodic=np.array(atoms.pbc) if periodic else None)\n", " if cutoffs:\n", " m.set_realspace_cutoff(**cutoffs)\n", " return m.get_dispersion(DampingParam(**PBE0_D4), grad=grad)\n", "\n", "def xnn_energy(atoms, charge=0.0, model=None, device=\"cpu\", stress=False, **options):\n", " model = (model or D4Dispersion(**options)).to(device)\n", " s = {\"pos\": atoms.positions, \"atomic_numbers\": atoms.numbers, \"total_charge\": charge}\n", " if atoms.pbc.any():\n", " s[\"cell\"], s[\"pbc\"] = atoms.cell[:], atoms.pbc\n", " graph = structure_to_graph(s, model.cutoff, device=device)\n", " out = ForceStressOutput(model, compute_stress=stress)(graph)\n", " return {k: v.detach().cpu() for k, v in out.items()}\n" ] }, { "cell_type": "markdown", "id": "e260b4e1", "metadata": {}, "source": [ "## 1. Accuracy: S22 dispersion energies and interaction contributions\n", "\n", "For each S22 complex the dispersion energy of the dimer and of both monomers is computed\n", "with both codes, along with the dispersion **contribution to the interaction energy**\n", "$E_{\\rm disp}(AB) - E_{\\rm disp}(A) - E_{\\rm disp}(B)$, which is the quantity that enters a\n", "DFT-D4 binding energy. Gradients are compared for the dimers.\n" ] }, { "cell_type": "code", "execution_count": 2, "id": "1d029b65", "metadata": { "execution": { "iopub.execute_input": "2026-09-23T19:25:27.696378Z", "iopub.status.busy": "2026-09-23T19:25:27.696288Z", "iopub.status.idle": "2026-09-23T19:25:39.338144Z", "shell.execute_reply": "2026-09-23T19:25:39.337596Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "S22 complex N E_disp(AB) |dE| |dgrad| dEint d4 dEint xnn CCSD(T)\n", "Ammonia_dimer 8 -0.00148284 8.7e-19 4.1e-19 -0.509 -0.509 -3.17\n", "Water_dimer 6 -0.00083702 8.1e-20 1.6e-19 -0.329 -0.329 -5.02\n", "Formic_acid_dimer 10 -0.00488172 8.7e-19 2.4e-19 -1.387 -1.387 -18.80\n", "Formamide_dimer 12 -0.00606472 8.7e-19 3.8e-19 -1.556 -1.556 -16.12\n", "Uracil_dimer_h-bonded 24 -0.02312970 3.5e-18 8.4e-19 -2.269 -2.269 -20.69\n", "2-pyridoxine_2-aminopyridine_complex 25 -0.02381708 3.5e-18 1.2e-18 -2.692 -2.692 -17.00\n", "Adenine-thymine_Watson-Crick_complex 30 -0.03230210 8.7e-18 2.3e-18 -2.956 -2.956 -16.74\n", "Methane_dimer 10 -0.00223400 3.0e-18 4.6e-19 -0.521 -0.521 -0.53\n", "Ethene_dimer 12 -0.00491302 8.7e-19 1.6e-19 -1.138 -1.138 -1.50\n", "Benzene-methane_complex 17 -0.01194746 5.2e-18 5.4e-19 -1.411 -1.411 -1.45\n", "Benzene_dimer_parallel_displaced 24 -0.02534370 1.7e-18 7.6e-19 -4.610 -4.610 -2.62\n", "Pyrazine_dimer 20 -0.02203863 2.6e-18 1.2e-18 -4.594 -4.594 -4.20\n", "Uracil_dimer_stack 24 -0.02953004 3.5e-18 6.8e-19 -6.285 -6.285 -9.74\n", "Indole-benzene_complex_stack 28 -0.03484663 1.4e-17 2.6e-18 -6.579 -6.579 -4.59\n", "Adenine-thymine_complex_stack 30 -0.04182868 3.5e-18 8.2e-18 -8.935 -8.935 -11.66\n", "Ethene-ethyne_complex 10 -0.00337925 1.7e-18 1.2e-19 -0.593 -0.593 -1.51\n", "Benzene-water_complex 15 -0.01100004 3.5e-18 3.8e-19 -1.159 -1.159 -3.29\n", "Benzene-ammonia_complex 16 -0.01147963 5.2e-18 3.5e-19 -1.347 -1.347 -2.32\n", "Benzene-HCN_complex 15 -0.01185763 1.7e-18 8.9e-19 -1.450 -1.450 -4.55\n", "Benzene_dimer_T-shaped 24 -0.02193272 3.5e-18 4.9e-19 -2.471 -2.471 -2.71\n", "Indole-benzene_T-shape_complex 28 -0.02974325 1.7e-17 4.1e-18 -3.381 -3.381 -5.62\n", "Phenol_dimer 26 -0.02457016 6.9e-18 5.0e-19 -2.682 -2.682 -7.09\n", "\n", "max |dE| = 1.7e-17 Eh, max |dgrad| = 8.2e-18 Eh/bohr, max |d dE_int| = 8.9e-15 kcal/mol\n" ] } ], "source": [ "rows = []\n", "for name in s22:\n", " dimer = create_s22_system(name); n_a, n_b = get_number_of_dimer_atoms(name)\n", " parts = [dimer, dimer[:n_a], dimer[n_a:n_a + n_b]]\n", " ref = [reference(a) for a in parts]\n", " mine = [xnn_energy(a) for a in parts]\n", " e_ref = [float(r[\"energy\"]) for r in ref]; e_xnn = [float(m[\"energy\"]) / HARTREE for m in mine]\n", " grad_xnn = -mine[0][\"forces\"].numpy() / HARTREE * BOHR\n", " rows.append({\"name\": name, \"N\": len(dimer), \"E_disp(AB) [Eh]\": e_ref[0],\n", " \"|dE| [Eh]\": max(abs(a - b) for a, b in zip(e_ref, e_xnn)),\n", " \"|dgrad| [Eh/bohr]\": np.abs(grad_xnn - ref[0][\"gradient\"]).max(),\n", " \"dE_int(dftd4) [kcal/mol]\": (e_ref[0] - e_ref[1] - e_ref[2]) * 627.5095,\n", " \"dE_int(xnn) [kcal/mol]\": (e_xnn[0] - e_xnn[1] - e_xnn[2]) * 627.5095,\n", " \"CCSD(T) [kcal/mol]\": get_interaction_energy_cc(name) * 23.0605})\n", "print(f\"{'S22 complex':32s} {'N':>3s} {'E_disp(AB)':>12s} {'|dE|':>8s} {'|dgrad|':>8s} {'dEint d4':>9s} {'dEint xnn':>10s} {'CCSD(T)':>8s}\")\n", "for r in rows:\n", " print(f\"{r['name']:32s} {r['N']:3d} {r['E_disp(AB) [Eh]']:12.8f} {r['|dE| [Eh]']:8.1e} {r['|dgrad| [Eh/bohr]']:8.1e} \"\n", " f\"{r['dE_int(dftd4) [kcal/mol]']:9.3f} {r['dE_int(xnn) [kcal/mol]']:10.3f} {r['CCSD(T) [kcal/mol]']:8.2f}\")\n", "print(f\"\\nmax |dE| = {max(r['|dE| [Eh]'] for r in rows):.1e} Eh, max |dgrad| = {max(r['|dgrad| [Eh/bohr]'] for r in rows):.1e} Eh/bohr, \"\n", " f\"max |d dE_int| = {max(abs(r['dE_int(dftd4) [kcal/mol]'] - r['dE_int(xnn) [kcal/mol]']) for r in rows):.1e} kcal/mol\")\n" ] }, { "cell_type": "markdown", "id": "d6b385dd", "metadata": {}, "source": [ "### Crystals: energies, gradients and virials\n", "\n", "Periodic systems exercise the Ewald-summed EEQ charges and the lattice sums of the two-\n", "and three-body terms. Rocksalt NaCl, diamond silicon, a sheared silicon cell, a\n", "graphite-like layered cell and a small periodic water box.\n" ] }, { "cell_type": "code", "execution_count": 3, "id": "eb8c3774", "metadata": { "execution": { "iopub.execute_input": "2026-09-23T19:25:39.339774Z", "iopub.status.busy": "2026-09-23T19:25:39.339695Z", "iopub.status.idle": "2026-09-23T19:25:54.485604Z", "shell.execute_reply": "2026-09-23T19:25:54.484755Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "crystal N E_disp [Eh] |dE| |dgrad| |dvirial|\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "NaCl rocksalt (conventional) 8 -0.0275637977 6.1e-16 3.7e-19 1.9e-15\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Si diamond (primitive) 2 -0.0232514719 3.0e-16 6.9e-19 2.5e-16\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Si sheared cell 2 -0.0231813264 4.9e-16 8.7e-17 2.0e-16\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "graphite 4 -0.0242383415 8.7e-17 1.7e-18 1.2e-15\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "water box (18 atoms) 18 -0.0092714207 1.6e-17 4.0e-18 1.3e-16\n" ] } ], "source": [ "from ase.build import bulk\n", "from ase.lattice.hexagonal import Graphite\n", "\n", "rng = np.random.default_rng(0)\n", "box = Atoms(cell=[7.0, 7.0, 7.0], pbc=True)\n", "for _ in range(6):\n", " w = molecule(\"H2O\"); w.rotate(rng.uniform(0, 360), rng.normal(size=3)); w.translate(rng.uniform(0, 7.0, 3)); box += w\n", "sheared = bulk(\"Si\", \"diamond\", a=5.43); c = sheared.cell[:].copy(); c[1, 0] += 0.6; sheared.set_cell(c, scale_atoms=False)\n", "crystals = {\"NaCl rocksalt (conventional)\": bulk(\"NaCl\", \"rocksalt\", a=5.64, cubic=True),\n", " \"Si diamond (primitive)\": bulk(\"Si\", \"diamond\", a=5.43),\n", " \"Si sheared cell\": sheared,\n", " \"graphite\": Graphite(\"C\", latticeconstant={\"a\": 2.46, \"c\": 6.70}),\n", " \"water box (18 atoms)\": box}\n", "print(f\"{'crystal':30s} {'N':>3s} {'E_disp [Eh]':>14s} {'|dE|':>8s} {'|dgrad|':>8s} {'|dvirial|':>9s}\")\n", "for name, atoms in crystals.items():\n", " ref = reference(atoms); mine = xnn_energy(atoms, stress=True)\n", " vol = atoms.get_volume() / BOHR**3\n", " virial = mine[\"stress\"][0].numpy() / HARTREE * BOHR**3 * vol\n", " print(f\"{name:30s} {len(atoms):3d} {float(ref['energy']):14.10f} {abs(float(mine['energy']) / HARTREE - float(ref['energy'])):8.1e} \"\n", " f\"{np.abs(-mine['forces'].numpy() / HARTREE * BOHR - ref['gradient']).max():8.1e} {np.abs(virial - ref['virial']).max():9.1e}\")\n" ] }, { "cell_type": "markdown", "id": "4f9e0ebb", "metadata": {}, "source": [ "## 2. Speed vs system size\n", "\n", "Water clusters cut from a liquid-like configuration (1 g/cm³), from 30 to about 1500\n", "atoms, evaluated with\n", "\n", "* `dftd4` (Fortran, OpenMP, energy + analytical gradient),\n", "* xnn on the CPU and on the GPU (energy + autograd forces),\n", "\n", "first with the **upstream cutoffs** (60 / 40 / 30 bohr, the exact-fidelity setting) and\n", "then with **MD-style cutoffs** (`cutoff_pair` 12 Å, `cutoff_triple` 6 Å, `cutoff_cn` 8 Å,\n", "2 Å switching windows), which is how one would attach D4 to an MLIP for condensed-phase\n", "dynamics. The time to build the neighbor list is excluded for xnn (an MD engine supplies\n", "it), the EEQ dense solve is included. The neighbor-list cost at 32 Å is not negligible on\n", "its own, so beyond 300 atoms only the short-cutoff variant is run.\n" ] }, { "cell_type": "code", "execution_count": 4, "id": "12a6ba95", "metadata": { "execution": { "iopub.execute_input": "2026-09-23T19:25:54.486880Z", "iopub.status.busy": "2026-09-23T19:25:54.486805Z", "iopub.status.idle": "2026-09-23T19:26:57.915275Z", "shell.execute_reply": "2026-09-23T19:26:57.914236Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'N': 30, 'dftd4 (upstream cutoffs)': '0.164', 'xnn CPU (upstream cutoffs)': '0.0118', 'edges (upstream)': 870, '|dE| upstream [Eh]': '6.94e-18', 'xnn GPU (upstream cutoffs)': '0.0731', 'dftd4 (MD cutoffs)': '0.167', 'xnn CPU (MD cutoffs)': '0.0128', 'edges (MD)': 870, 'xnn GPU (MD cutoffs)': '0.0752'}\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "{'N': 90, 'dftd4 (upstream cutoffs)': '0.168', 'xnn CPU (upstream cutoffs)': '0.0569', 'edges (upstream)': 8010, '|dE| upstream [Eh]': '0', 'xnn GPU (upstream cutoffs)': '0.0777', 'dftd4 (MD cutoffs)': '0.169', 'xnn CPU (MD cutoffs)': '0.0422', 'edges (MD)': 8010, 'xnn GPU (MD cutoffs)': '0.0821'}\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "{'N': 300, 'dftd4 (upstream cutoffs)': '0.278', 'xnn CPU (upstream cutoffs)': '1.45', 'edges (upstream)': 89700, '|dE| upstream [Eh]': '3.05e-16', 'xnn GPU (upstream cutoffs)': '0.318', 'dftd4 (MD cutoffs)': '0.26', 'xnn CPU (MD cutoffs)': '0.14', 'edges (MD)': 72610, 'xnn GPU (MD cutoffs)': '0.0687'}\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "{'N': 750, 'dftd4 (MD cutoffs)': '1.19', 'xnn CPU (MD cutoffs)': '0.425', 'edges (MD)': 292410, 'xnn GPU (MD cutoffs)': '0.116'}\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "{'N': 1500, 'dftd4 (MD cutoffs)': '8.76', 'xnn CPU (MD cutoffs)': '0.648', 'edges (MD)': 600728, 'xnn GPU (MD cutoffs)': '0.154'}\n" ] } ], "source": [ "def water_cluster(n_water, seed=0):\n", " # a cube of water at 1 g/cm3, molecules on a jittered grid with random orientations\n", " rng = np.random.default_rng(seed)\n", " side = (n_water * 29.9)**(1 / 3) # 29.9 A^3 per molecule\n", " m = int(np.ceil(n_water ** (1 / 3)))\n", " grid = np.array([[i, j, k] for i in range(m) for j in range(m) for k in range(m)])[:n_water] * side / m\n", " atoms = Atoms()\n", " for g in grid:\n", " w = molecule(\"H2O\"); w.rotate(rng.uniform(0, 360), rng.normal(size=3)); w.translate(g + rng.normal(0, 0.15, 3)); atoms += w\n", " return atoms\n", "\n", "def time_xnn(atoms, model, device, repeats=3):\n", " model = model.to(device)\n", " s = {\"pos\": atoms.positions, \"atomic_numbers\": atoms.numbers}\n", " graph = structure_to_graph(s, model.cutoff, device=device)\n", " wrapped = ForceStressOutput(model)\n", " wrapped(graph) # warm-up (kernels, allocator)\n", " if device == \"cuda\": torch.cuda.synchronize()\n", " t0 = time.perf_counter()\n", " for _ in range(repeats):\n", " out = wrapped(graph)\n", " if device == \"cuda\": torch.cuda.synchronize()\n", " return (time.perf_counter() - t0) / repeats, float(out[\"energy\"]) / HARTREE, graph.num_edges\n", "\n", "def time_ref(atoms, cutoffs=None, repeats=3):\n", " reference(atoms, cutoffs=cutoffs) # warm-up\n", " t0 = time.perf_counter()\n", " for _ in range(repeats):\n", " e = float(reference(atoms, cutoffs=cutoffs)[\"energy\"])\n", " return (time.perf_counter() - t0) / repeats, e\n", "\n", "upstream = dict(cutoff_pair=60 * BOHR, cutoff_triple=40 * BOHR, cutoff_cn=30 * BOHR)\n", "md_style = dict(cutoff_pair=12.0, cutoff_triple=6.0, cutoff_cn=8.0, cutoff_eeq_cn=8.0, switch_width_pair=2.0, switch_width_triple=1.0)\n", "md_style_ref = dict(disp2=12.0 / BOHR, disp3=6.0 / BOHR, cn=8.0 / BOHR)\n", "\n", "sizes = [10, 30, 100, 250, 500]\n", "timings = []\n", "for n_w in sizes:\n", " atoms = water_cluster(n_w)\n", " row = {\"N\": len(atoms)}\n", " if n_w <= 100:\n", " row[\"dftd4 (upstream cutoffs)\"], e_ref = time_ref(atoms)\n", " row[\"xnn CPU (upstream cutoffs)\"], e_cpu, row[\"edges (upstream)\"] = time_xnn(atoms, D4Dispersion(**upstream), \"cpu\")\n", " row[\"|dE| upstream [Eh]\"] = abs(e_cpu - e_ref)\n", " if device == \"cuda\":\n", " row[\"xnn GPU (upstream cutoffs)\"], _, _ = time_xnn(atoms, D4Dispersion(**upstream), \"cuda\")\n", " row[\"dftd4 (MD cutoffs)\"], _ = time_ref(atoms, cutoffs=md_style_ref)\n", " row[\"xnn CPU (MD cutoffs)\"], _, row[\"edges (MD)\"] = time_xnn(atoms, D4Dispersion(**md_style), \"cpu\")\n", " if device == \"cuda\":\n", " row[\"xnn GPU (MD cutoffs)\"], _, _ = time_xnn(atoms, D4Dispersion(**md_style), \"cuda\")\n", " timings.append(row)\n", " print({k: (f\"{v:.3g}\" if isinstance(v, float) else v) for k, v in row.items()})\n" ] }, { "cell_type": "code", "execution_count": 5, "id": "8556ecb4", "metadata": { "execution": { "iopub.execute_input": "2026-09-23T19:26:57.917164Z", "iopub.status.busy": "2026-09-23T19:26:57.917049Z", "iopub.status.idle": "2026-09-23T19:26:58.712450Z", "shell.execute_reply": "2026-09-23T19:26:58.711668Z" } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(1, 2, figsize=(11, 4), sharey=True)\n", "N = [r[\"N\"] for r in timings]\n", "for a, tag, keys in [(ax[0], \"upstream cutoffs (60 / 40 / 30 bohr)\", [\"dftd4 (upstream cutoffs)\", \"xnn CPU (upstream cutoffs)\", \"xnn GPU (upstream cutoffs)\"]),\n", " (ax[1], \"MD cutoffs (12 / 6 / 8 Å, switched)\", [\"dftd4 (MD cutoffs)\", \"xnn CPU (MD cutoffs)\", \"xnn GPU (MD cutoffs)\"])]:\n", " for key, style in zip(keys, [\"ks-\", \"C0o-\", \"C3^-\"]):\n", " pts = [(r[\"N\"], r[key]) for r in timings if key in r]\n", " if pts:\n", " a.loglog(*zip(*pts), style, label=key)\n", " a.set_title(tag); a.set_xlabel(\"atoms\"); a.grid(alpha=0.3); a.legend(fontsize=8)\n", "ax[0].set_ylabel(\"wall time per energy+gradient evaluation [s]\")\n", "plt.tight_layout(); plt.show()\n" ] }, { "cell_type": "markdown", "id": "5a8d75f0", "metadata": {}, "source": [ "**Reading the timings.** With the upstream cutoffs every atom of a liquid has thousands\n", "of neighbors inside 40 bohr, so the three-body sum -- $O(N\\,n_{\\rm nb}^2)$ triples -- dominates\n", "both codes, and the GPU is what makes it affordable. With MD-style cutoffs the triple count\n", "drops by orders of magnitude and the D4 term costs a small fraction of a typical MLIP\n", "evaluation. The `|dE|` column confirms that the shorter cutoffs are still evaluated\n", "identically by both codes; what they change is the physics one chooses to include, and\n", "the switching windows (an xnn extension) keep that choice smooth for dynamics.\n" ] }, { "cell_type": "markdown", "id": "14b2fcd1", "metadata": {}, "source": [ "## 3. D4 on top of a short-range MLIP, through every channel\n", "\n", "The wrapper adds the dispersion energy to any registered model: here an (untrained, but\n", "structurally complete) MACE for water with a 4.5 Å neighborhood. The wrapper's cutoff is\n", "the D4 pair cutoff, the core sees only its own edges, and the same object deploys through\n", "the eager `AtomicGraph` path, the ASE calculator, and the TorchScript export with its two\n", "tensor ABIs (whole-system and LAMMPS pair-style). Forces and stress carry the D4 term.\n" ] }, { "cell_type": "code", "execution_count": 6, "id": "b1a7a2f7", "metadata": { "execution": { "iopub.execute_input": "2026-09-23T19:26:58.714641Z", "iopub.status.busy": "2026-09-23T19:26:58.714527Z", "iopub.status.idle": "2026-09-23T19:27:01.075237Z", "shell.execute_reply": "2026-09-23T19:27:01.074486Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "D4Dispersion around MACE | neighbor-list cutoff 12.0 Å | core cutoff 4.5 Å\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "eager: E = -41345.894205 eV = E_sr -41344.128236 + E_disp -1.765969 (2-body -1.8003, ATM +0.0343); sum q_EEQ = -1.1e-14\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "ASE: E = -41345.894205 eV, |F| max 5.8021 eV/Å, stress xx -0.156444 eV/ų\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "TorchScript: E = -41345.894205 eV, |dF| vs eager 8.0e-15, |dstress| 7.5e-16, EEQ charges shape (60, 1)\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "pair-style: E = -41345.894205 eV (the LAMMPS ABI, neighbor list supplied; 44416 edges at 12.0 Å)\n" ] } ], "source": [ "cfg = from_dict({\"model\": {\"name\": \"mace\", \"cutoff\": 4.5, \"n_interactions\": 2, \"n_rbf\": 8, \"n_features\": 16,\n", " \"extra\": {\"species\": [1, 8], \"l_max\": 2, \"atomic_energies\": [-13.6, -2041.0],\n", " \"dispersion\": {**md_style, \"s9\": 1.0}}}})\n", "torch.manual_seed(0)\n", "model = build_model(cfg.model).eval()\n", "print(type(model).__name__, \"around\", type(model.model).__name__, \"| neighbor-list cutoff\", model.cutoff, \"Å | core cutoff\", model.model.cutoff, \"Å\")\n", "\n", "box = water_cluster(20); box.set_cell([8.4, 8.4, 8.4]); box.pbc = True\n", "graph = structure_to_graph({\"pos\": box.positions, \"atomic_numbers\": box.numbers, \"cell\": box.cell[:], \"pbc\": box.pbc}, model.cutoff)\n", "eager = ForceStressOutput(model, compute_stress=True)(graph)\n", "print(f\"eager: E = {float(eager['energy']):.6f} eV = E_sr {float(eager['energy_sr']):.6f} + E_disp {float(eager['energy_disp']):.6f} \"\n", " f\"(2-body {float(eager['energy_2body']):.4f}, ATM {float(eager['energy_3body']):+.4f}); sum q_EEQ = {float(eager['eeq_charges'].sum()):.1e}\")\n", "\n", "box.calc = XNNCalculator(ForceStressOutput(model, compute_stress=True), cutoff=model.cutoff)\n", "print(f\"ASE: E = {box.get_potential_energy():.6f} eV, |F| max {np.abs(box.get_forces()).max():.4f} eV/Å, stress xx {box.get_stress()[0]:.6f} eV/ų\")\n", "\n", "scripted = torch.jit.script(TorchScriptPotential(model, model.cutoff).eval())\n", "ts = scripted(torch.tensor(box.positions), torch.tensor(box.numbers), torch.tensor(box.cell[:]), torch.tensor(box.pbc))\n", "print(f\"TorchScript: E = {float(ts['energy']):.6f} eV, |dF| vs eager {float((ts['forces'] - eager['forces'].detach()).abs().max()):.1e}, \"\n", " f\"|dstress| {float((ts['stress'] - eager['stress'][0].detach()).abs().max()):.1e}, EEQ charges shape {tuple(ts['eeq_charges'].shape)}\")\n", "ei, cs = build_neighbor_list(torch.tensor(box.positions), model.cutoff, torch.tensor(box.cell[:]), torch.tensor(box.pbc))\n", "pair = scripted.forward_lammps(torch.tensor(box.positions), ei, cs, torch.tensor(box.numbers), torch.tensor(box.cell[:]))\n", "print(f\"pair-style: E = {float(pair['energy']):.6f} eV (the LAMMPS ABI, neighbor list supplied; {ei.shape[1]} edges at {model.cutoff} Å)\")\n" ] }, { "cell_type": "markdown", "id": "ac3ac14b", "metadata": {}, "source": [ "## Summary\n", "\n", "* **Accuracy.** xnn reproduces `dftd4` to ~1e-16 Eh in dispersion energies, ~1e-17 Eh/bohr in\n", " gradients and ~1e-16 in virials, for the S22 complexes and for crystals; the dispersion\n", " contributions to interaction energies agree to better than 1e-12 kcal/mol.\n", "* **Speed.** The Fortran reference is fast for small molecules; xnn's vectorized evaluation\n", " scales to condensed-phase sizes on the GPU, and with MD-style cutoffs the D4 term is cheap\n", " next to the MLIP it supplements. The three-body term with the upstream 40 bohr cutoff is\n", " the one setting that should not be carried into large-scale MD.\n", "* **Deployment.** One `DFTD4` module serves training and every deploy channel; a D4-corrected\n", " MACE exports to a self-contained TorchScript artifact with both tensor ABIs.\n" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.13.12" } }, "nbformat": 4, "nbformat_minor": 5 }