A given pseudopotential-generator code might offer several possible levels of theory, and output different sets of magnitudes accordingly.
set attribute in several API routines allows the handling of
various sets of semilocal pseudopotentials, projectors, and
pseudo-wave-functions. Its value is normalized as follows, depending
on the type of calculation generating the pseudopotential and the way
in which the code chooses to present the results. (First, the symbolic
name used in the API is given, followed by the value of the attribute in
the PSML file)
non_relativistic) for the non-relativistic, non-spin-DFT
scalar_relativistic) if the calculation is
scalar-relativistic, or if it is fully relativistic and an set of
potentials averaged over
j is provided.
spin_orbit) if a
fully relativistic code provides this combination of
lj) for a fully relativistic calculation with straight output
of the $lj$ channels.
up) and (
down), for a spin-DFT
calculation with straight output of the spin channels.
spin_average) for the spin-DFT case when the generation code
outputs a population-averaged pseudopotential.
spin_difference) for the spin-DFT case when the generation code
outputs this (rare) combination.
Note that a given code might choose to output its semilocal-potential
information in two different forms (say, as scalar-relativistic and
spin-orbit combinations plus the
lj form). The format allows this,
although in this particular case the information can easily be
converted from the
lj form to the other by client programs.
For extensibility, the format allows two more values for the
user_extension1) and (
user_extension2), which can in principle be used to store custom
information while maintaining structural and operative compatibility
with the format.
The wildcard specification
SET_ALL can be used to represent the
union of all possible sets.