adf uses the cartesian representation for the spherical harmonics part in functions:
f(x,y,z)=xaybzcrde-ar
The angular momentum quantum number l is then given by l=a+b+c, and the main quantum number n=l+d+1.
There are (l+1)(l+2)/2 different combinations of (a, b, c) for a given l-value, rather than (2l+1). The excess is caused by the presence of spurious non-l Functions in the set; a Cartesian d-set for instance consists of six functions, five of which are true d-functions while one linear combination is in fact an s-type function (x2+y2+z2). Only the five true d-combinations are actually used as degrees of freedom in the basis set, but lists of primitive basis functions (bas) for instance run over all Cartesian functions including the improper ones.
A function set in ADF is characterized by the quantum numbers l and n, and by the exponential decay factor a. A set thus represents (l+1)(l+2)/2 Cartesian functions and (2l+1) degrees of freedom.
The atomic frozen core orbitals are described as expansions in Slater-type functions; these are not the functions of the normal basis set but another set of functions, defined on the data files you use in Create mode.
Orthogonality of the valence space to the frozen core states is enforced as follows: for each frozen core shell (characterized by the quantum numbers l and n: all orbitals with m=-l...+l are identical apart from rotation in space) the set of valence basis functions is augmented with a so-called core orthogonalization function set. You may conceptually interpret the core orthogonalization functions as single zeta expansions of the true frozen core states. Each of the normal valence basis functions is now transformed into a linear combination of that valence function with all core orthogonalization functions, where the coefficients are uniquely defined by the requirement that the resulting function is orthogonal to all true core functions.
So the list of all Cartesian basis functions is much larger than the degree of freedom of the basis: it contains the spurious non-l combinations and it contains also the core orthogonalization functions.




