logo

Atomic Neighborhood 📂Materials AI

Atomic Neighborhood

Definition1

Consider a system consisting of $N$ atoms, and let the position of the $k$-th atom be $\mathbf{x}_{k} \in \mathbb{R}^{3}$. Suppose a cutoff radius $r_{c} \gt 0$ is given. The other atoms located within distance $r_{c}$ of atom $k$ are called the neighbor atoms of atom $k$.

The set of relative position vectors pointing from atom $k$ to the neighbor atoms of $k$ is called the atomic neighborhood of atom $k$.

$$ \mathcal{N}_{k} = \left\{ \mathbf{u}_{i} \right\}_{i \in \mathcal{I}_{k}}, \qquad \mathbf{u}_{i} = \mathbf{x}_{i} - \mathbf{x}_{k} $$

$$ \mathcal{I}_{k} = \left\{ i : 0 \lt \left| \mathbf{x}_{i} - \mathbf{x}_{k} \right| \le r_{c} \right\} $$

Explanation

An atomic neighborhood is also called a (local) atomic environment. The definition above is a nominal one; depending on the need, one may define the index set $\mathcal{I}_{k}$ to be the atomic neighborhood, or bundle in the atomic number $Z_{i}$ of each neighbor atom and take $\left\{ \left( \mathbf{u}_{i}, Z_{i} \right) \right\}_{i \in \mathcal{I}_{k}}$ as the atomic neighborhood.

The reason for defining atomic neighborhoods is the locality assumption of interatomic potentials. It is the assumption that the total energy of the system is approximated by a sum of per-atom energies, each determined only by looking at that atom’s neighborhood. Under this assumption, computing the energy of a single atom requires only its atomic neighborhood, so the computational cost scales linearly with the number of atoms $N$. This is in contrast to Kohn-Sham density functional theory calculations, whose cost scales as $N^{3}$. Accordingly, the atomic neighborhood becomes the basic unit of input shared by interatomic potentials, atomic descriptors, and atomic graph neural networks.

$$ E_{\text{tot}} = E_{1} + E_{2} + \cdots E_{N} $$

Graph Structure

Viewing each atom as a vertex and each pair of mutually neighboring atoms as an edge, the atomic system can be represented as a graph.

$$ V = \left\{ 1, \dots, N \right\}, \qquad E = \left\{ \left\{ i, k \right\} : 0 \lt \left| \mathbf{x}_{i} - \mathbf{x}_{k} \right| \le r_{c} \right\} $$

Since distance is symmetric, $i \in \mathcal{I}_{k}$ implies $k \in \mathcal{I}_{i}$, and this graph is an undirected graph. The number of neighbor atoms of atom $k$, $\left| \mathcal{I}_{k} \right|$, equals the degree of vertex $k$.

Equivalence Relation

Number the elements of an atomic neighborhood and list them as $\mathcal{N} = (\mathbf{u}_{1}, \dots, \mathbf{u}_{n})$. For two atomic neighborhoods $\mathcal{N}$, $\mathcal{N}^{\prime} = (\mathbf{u}_{1}^{\prime}, \dots, \mathbf{u}_{n}^{\prime})$ with the same number $n$ of neighbor atoms, if there exist some orthogonal matrix $Q \in \operatorname{O}(3)$ and permutation $\sigma \in S_{n}$ satisfying the following, we write $\mathcal{N} \sim \mathcal{N}^{\prime}$ and say they are equivalent.

$$ \mathbf{u}_{i}^{\prime} = Q\mathbf{u}_{\sigma(i)},\quad \forall i = 1, \dots, n $$

$\mathcal{N} \sim \mathcal{N}^{\prime}$ means that the two atomic neighborhoods differ only in the choice of coordinate system and the way the atoms are numbered, and are physically the same atomic environment. Therefore, a function that takes an atomic neighborhood as input, for example an 🔒(26/11/07)interatomic potential or an 🔒(26/11/19)atomic descriptor, must assign the same value to atomic neighborhoods belonging to the same equivalence class.

See Also


  1. Alexander V. Shapeev, "Moment Tensor Potentials: a class of systematically improvable interatomic potentials", Multiscale Modeling & Simulation 14(3), 1153-1173 (2016), arXiv:1512.06054v2 p3 ↩︎