Semilocal Features (SL)

Every packaged CIDER model begins with a semilocal block built from the density \(n(\mathbf r)=\sum_i f_i|\phi_i(\mathbf r)|^2\), its gradient, and for meta-GGA models the kinetic-energy density

\[\tau(\mathbf{r}) = \frac{1}{2} \sum_i f_i |\nabla\phi_i(\mathbf{r})|^2\]

Regularized combinations of these ingredients can encode physical constraints such as uniform scaling. They include the reduced gradient[1]

\[p = s^2 = \frac{|\nabla n|^2}{4(3\pi^2)^{2/3}n^{8/3}}\]

and the iso-orbital indicator[2]

\[\alpha = \frac{\tau - \tau_W}{\tau_0}\]

where \(\tau_W=|\nabla n|^2/8n\) is the single-electron kinetic energy density, and \(\tau_0=\frac{3}{10}(3\pi^2)^{2/3}n^{5/3}\) is the kinetic energy density of the uniform electron gas.

These equations use the spin-unpolarized convention, with orbital occupations \(f_i\in [0,2]\).

In CiderPress, SemilocalSettings specifies the semilocal block. Its mode selects one of four raw feature layouts:

  • ns: \(\mathbf{x}_\text{sl} = [n, |\nabla n|^2]\)

  • np: \(\mathbf{x}_\text{sl} = [n, p]\)

  • nst: \(\mathbf{x}_\text{sl} = [n, |\nabla n|^2, \tau]\)

  • npa: \(\mathbf{x}_\text{sl} = [n, p, \alpha]\)

The ns and np layouts omit the kinetic-energy density \(\tau\). An associated NLDF block therefore uses sl_level="GGA". Orbital-dependent features such as SDMX may still be present. Modes nst and npa include \(\tau\) and are meta-GGA level.

The regularized features \(p\) and \(\alpha\) are scale-invariant, meaning that an exchange functional trained with these features and a proper exchange functional baseline will obey the uniform scaling rule (see Uniform Scaling Constraints).

The raw features \(n\), \(|\nabla n|^2\), and \(\tau\) carry nonzero scaling powers. During model construction, normalizers and feature maps supply the behavior required by the chosen functional form. Those transformations are serialized with a trained model and are applied automatically when a packaged functional is evaluated.

See SemilocalSettings in the Feature Settings documentation for more details on the API for setting up these features.