Semilocal Features (SL)
Semilocal features are the ingredient commonly used in semilocal DFT. They most basic ingredient is the electron density \(n(\mathbf{r})\), which is defined as
with \(\phi_i(\mathbf{r})\) being the Kohn-Sham orbitals. A functional constructed from \(n(\mathbf{r})\) only is called a local density approximation (LDA). The gradient of the density \(\nabla n(\mathbf{r})\) is also commonly used and results in a generalized-gradient approximation (GGA). Lastly, the kinetic energy density
can be used, resulting in a meta-generalized gradient approximation (meta-GGA or MGGA). To help enforce physical constraints such as uniform scaling, regularized features are often introduced, including the reduced gradient[1]
and the iso-orbital indicator[2]
where \(\tau_W=|\nabla n|^2/8n\) is the single-electron kinetic energy, and \(\tau_0=\frac{3}{10}(3\pi^2)^{2/3}n^{5/3}\) is the kinetic energy density of the uniform electron gas.
Note that for simplicity, all of these definitions are provided for the non-spin-polarized case, where the orbital occupations \(f_i\in [0,2]\)
In Cider, the choice of semilocal features is specified using the class:SemilocalSettings
class in ciderpress.dft.settings
. There is only one argument to this
class, mode
, which specifies which features to compute. There are four choices:
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]\)
IMPORTANT NOTE 1: If the mode is ns
or np
, the kinetic energy density \(\tau\)
is not computed, so it cannot be used at any point in the calculation. This means
that Nonlocal Density Features must be instantiated with
sl_level="GGA"
. If desired, orbital-dependent features can still be incorporated
via Smooth Density Matrix Exchange. If the mode is nst
or npa
,
\(\tau\) is always computed.
IMPORTANT NOTE 2: 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\) are not
scale-invariant, and CiderPress does not automatically regularize these features
as it does with nonlocal features. Therefore, these features must be regularized in
the ciderpress.dft.transform_data
module to enforce the uniform scaling
constraint in trained models. (TODO need to elaborate on this).
See the SemilocalSettings
class in the Feature Settings
documentation for more details on the API for setting up these features.