xnn.dnn.models.ani#

The ANI potential: per-element networks on the Atomic Environment Vector.

ANI (Smith et al., Chem. Sci. 8, 3192, 2017) is an HDNNP whose descriptor is the AEV (radial and angular symmetry functions), feeding one neural network per element, whose scalar outputs are summed (plus a per-element self energy) into the total energy. The AEV lives in xnn.dnn.featurizers.AEV and reproduces torchani.AEVComputer element-for-element; the per-element-network body is the shared DescriptorPotential.

Four published parameterisations are exposed as classmethods:

  • ANI.ani1(): the original ANI-1 potential of the paper, radial cutoff 4.6 A, angular cutoff 3.1 A (768-length AEV for H, C, N, O), pyramidal 768:128:128:64:1 element networks with a Gaussian activation.

  • ANI.ani1x(): the ANI-1x architecture matching torchani, radial cutoff 5.2 A, angular cutoff 3.5 A (384-length AEV), per-element network widths (H 160:128:96, C 144:112:96, N/O 128:112:96) with the CELU activation. Building this and transplanting torchani’s pretrained weights reproduces its energies and forces (see the fidelity notebook).

  • ANI.ani1ccx(): the ANI-1ccx potential (Smith et al., Nat. Commun. 10, 2903, 2019), the same architecture as ANI-1x, retrained by transfer learning on CCSD(T)*/CBS coupled-cluster data. Only the self atomic energies (and the trained weights) differ, so the preset delegates to ANI.ani1x().

  • ANI.ani2x(): the ANI-2x potential (Devereux et al., J. Chem. Theory Comput. 16, 4192, 2020), which extends ANI to seven elements (adds S, F, Cl). A larger 1008-length AEV (radial cutoff 5.1 A, angular cutoff 3.5 A, shift grids starting at 0.8 A) feeds wider per-element networks. Transplanting torchani’s pretrained ANI-2x weights reproduces its energies and forces.

Classes

ANI([species, radial_cutoff, ...])

ANI (Smith et al. 2017): per-element networks on the AEV.