CCML: basis sets

  • Huub van Dam
    Huub van Dam

    Dear all,

    First of all I would to thank Peter for spending a whole day with e-Science people last week advocating CML. At this meeting I got a strong feeling that input from the community was desired in particular to further developing CCML. Specifically information about basis sets, pseudopotentials and wavefunctions was asked for. Personally I think basis sets are the simplest subject so this seems an appropriate place to start.

    In quantum chemistry basis sets are used to provide functions to represent the electronic wavefunction in. There are 3 different types of basis sets in common use:

    1) Plane waves, the general expression for these is exp(i k.r) where r is the position vector, k is a vector as well, i is the imaginary number. The use of these basis functions introduces a periodicity in the wavefunction. As a result they are popular with calculations on crystals. The set of k vectors included in the calculation is determined by the unit cell of the system under study and a maximum energy. So very little information is needed to describe these basis sets.

    2) Slater Type Orbitals (STO), the general expression for these is x^k y^l z^m r^n exp(-a r), where x,y,z are the usual Cartesian coordinates and r=sqrt(x^2+y^2+z^2). There are only a few programs that use these functions because of difficulties in evaluating the 2-electron integrals. However, ADF is one of them and is popular enough to make it desirable to be able to describe them. In practice one would specify a "shell" by listing the exponent a, the integer n and the angular momentum k+l+m. The shell will then contain all functions for which k+l+m matches an integer constant. Typically the angular momentum is specified by a single character: s (k+l+m=0), p (k+l+m=1), d (k+l+m=2), f (k+l+m=3), g (k+l+m=4), and so on according to the alphabet. For every atom a number of these shells need to be specified.

    3) Gaussian Type Orbitals (GTO),  the general expression for these is sum_i x^k y^l z^m c_i b_i exp(-a_i r^2), where b_i is a normalisation constant defined such that the integral of (b_i exp(-a_i r^2))^2 over all space is 1, the a_i are called the exponents, the c_i are the contraction coefficients. The specification of a shell requires at least the set of contraction coefficients, the exponents and the angular momentum (analogous to above). There 2 special cases though:
    3.1) sp-shells, here the same set of exponents is used for an s and a p shell but the s and p functions have different contraction coefficients. sp-shells are used because intermediate quantities can be used for both the s and p functions thereby saving operations in integral evaluations.
    3.2) general contracted basis sets (see Richard C. Raffenetti, J.Chem.Phys. vol. 58 (1973) p. 4452 for a definition), where every exponent is allowed to contribute to a number of functions. I.e. the contraction coefficients defined above are replaced by a matrix c_ji.
    As with STO's a number of GTO's need be defined for every atom. A large library of GTO's is available online from or

    I hope this information is useful, if you have any questions I will be happy to answer them.

    Huub van Dam