xnn.dnn.featurizers.aev#

Atomic Environment Vector (ANI) – radial + angular symmetry functions.

The AEV is the concatenation of radial and angular symmetry functions and is exactly the per-atom input ANI feeds to its element networks (Smith et al., Chem. Sci. 8, 3192, 2017). Usable on its own:

aev = AEV.ani1x(species=[1, 6, 7, 8])
x = aev(graph)          # (N, aev.output_dim)

Two ready-made parameterisations are provided as classmethods:

  • AEV.ani1x() – the exact constants shipped by torchani for the ANI-1x model (radial cutoff 5.2 A, angular cutoff 3.5 A; 384-length AEV for the four elements H, C, N, O). With the ANI/NeuroChem conventions baked in (0.25 radial prefactor, 0.95 cosine factor) this reproduces torchani.AEVComputer element-for-element – see the fidelity notebook.

  • AEV.ani1() – the parameterisation described for the original ANI-1 potential in the paper (radial cutoff 4.6 A, angular cutoff 3.1 A; 32 radial shifts, 8 x 8 angular shifts -> 768-length AEV for H, C, N, O), built with the paper’s evenly-spaced-shift recipe (Section 3.4).

Classes

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

Atomic Environment Vector: concatenated radial + angular descriptors.