4.4. Descriptor "se_e3" TensorFlow

Note

Supported backends: TensorFlow TensorFlow

The notation of se_e3 is short for the Deep Potential Smooth Edition (DeepPot-SE) constructed from all information (both angular and radial) of atomic configurations. The embedding takes bond angles between a central atom and its two neighboring atoms as input (denoted by e3).

4.4.1. Theory

The three-body embedding DeepPot-SE descriptor incorporates bond-angle information, making the model more accurate. The descriptor \(\mathcal{D}^i\) can be represented as

\[ \mathcal{D}^i = \frac{1}{N_c^2}(\mathcal{R}^i(\mathcal{R}^i)^T):\mathcal{G}^i,\]

where \(N_c\) is the expected maximum number of neighboring atoms, which is the same constant for all atoms over all frames. \(\mathcal{R}^i\) is constructed as

\[ (\mathcal{R}^i)_j = \{ \begin{array}{cccc} s(r_{ij}) & \frac{s(r_{ij})x_{ij}}{r_{ij}} & \frac{s(r_{ij})y_{ij}}{r_{ij}} & \frac{s(r_{ij})z_{ij}}{r_{ij}} \end{array} \},\]

Currently, only the full information case of \(\mathcal{R}^i\) is supported by the three-body embedding. Each element of \(\mathcal{G}^i \in \mathbb{R}^{N_c \times N_c \times M}\) comes from \(M\) nodes from the output layer of an NN \(\mathcal{N}_{e,3}\) function:

\[ (\mathcal{G}^i)_{jk}=\mathcal{N}_{e,3}((\theta_i)_{jk}),\]

where \((\theta_i)_ {jk} = (\mathcal{R}^i)_ {j,\\{2,3,4\\}}\cdot (\mathcal{R}^i)_ {k,\\{2,3,4\\}}\) considers the angle form of two neighbours (\(j\) and \(k\)). The notation \(:\) in the equation indicates the contraction between matrix \(\mathcal{R}^i(\mathcal{R}^i)^T\) and the first two dimensions of tensor \(\mathcal{G}^i\).[1]

4.4.2. Instructions

A complete training input script of this example can be found in the directory

$deepmd_source_dir/examples/water/se_e3/input.json

The training input script is very similar to that of se_e2_a. The only difference lies in the descriptor <model/descriptor> section

	"descriptor": {
	    "type":		"se_e3",
	    "sel":		[40, 80],
	    "rcut_smth":	0.50,
	    "rcut":		6.00,
	    "neuron":		[2, 4, 8],
	    "resnet_dt":	false,
	    "seed":		1,
	    "_comment":		" that's all"
	},

The type of the descriptor is set by the key type.