Skip to content

Basis set file format

TeraChem supports standard atom-centered Gaussian type basis sets such as those available at the EMSL website. The basis set information used by TeraChem is provided by a set of files in the basis directory. This directory should be located at $TeraChem/basis, where the environment variable TeraChem is set to the TeraChem installation directory by default. All basis sets are listed in individual files and corresponding information for constructing inital guesses is in a separate file, e.g. 6-31g and 6-31g.ao.

For every atom in a basis set, the first line specifies the atom type and the following lines specify the basis functions and contractions. Consider a hydrogen atom in the 6-31G basis set (see the file basis/6-31g):

ATOM H
S 3
     18.7311370              0.03349460
      2.8253937              0.23472695
      0.6401217              0.81375733
S 1
      0.1612778              1.0000000

Line 1 specifies that the element symbol is H. Line 2 specifies the angular momentum of the first contraction (which can be S, P, or D) and the number of primitives in this contraction, \(N_{prim}\). The next \(N_{prim}\) lines (Lines 3-5) specify the exponent and contraction coefficient for one of the primitives. This is repeated until all contracted basis functions and their primitives have been listed. Note that TeraChem normalizes the contracted functions. A blank line signifies the end of the basis set for this atom. If the atom also has an effective core potential, this is specified immediately after the basis set information. For an example here, we turn to the Na atom in the LANL2DZ basis set (see the file basis/lanl2dz_ecp):

ATOM Na
S 2
      0.4972000             -0.2753574
      0.0560000              1.0989969
S 1
      0.0221000              1.0000000
P 2
      0.6697000             -0.0683845
      0.0636000              1.0140550
P 1
      0.0204000              1.0000000

ECP  NCORE= 10 MAXL= 2
D-UL  5
    1      175.5502590    -10.0000000
    2       35.0516791    -47.4902024
    2        7.9060270    -17.2283007
    2        2.3365719     -6.0637782
    2        0.7799867     -0.7299393
S-UL  5
    0      243.3605846      3.0000000
    1       41.5764759     36.2847626
    2       13.2649167     72.9304880
    2        3.6797165     23.8401151
    2        0.9764209      6.0123861
P-UL  6
    0     1257.2650682      5.0000000
    1      189.6248810    117.4495683
    2       54.5247759    423.3986704
    2       13.7449955    109.3247297
    2        3.6813579     31.3701656
    2        0.9461106      7.1241813

The first line specifies this entry is for the Na atom. Lines 2-11 specify the contracted basis functions, as in the previous example. A blank line (Line 12) signals the end of the contracted basis functions. Line 13 specifies that this atom has an effective core potential which removes 10 electrons (NCORE=10) and includes projection terms with angular momentum up to d (MAXL=2). Note that MAXL is normally one greater than the angular momentum of the electrons occupied in the core. The next line (Line 14) begins specification of the Gaussian fits to the local potentials. The first set should correspond to the “local” potential, i.e. \(U(L_{Max}+1)\). The number \(N_{Gauss}\) (5 on this line) specifies the number of Gaussians in the fit for this potential. The next \(N_{Gauss}\) lines contain the information for each of these Gaussians. The first column is the power of r for this term (should be in the range 0-2). Note that, following usual practice, this includes the powers of r coming from the radial volume element. The second column is the exponent for the Gaussian in this term and the third column is the coefficient of this Gaussian. The next blocks should correspond to difference potentials, i.e. \(U(L)-U(L_{Max})\), starting from the lowest angular momentum.

The initial guess information is provided in the basis.ao files. These are normally machine generated, but we explain the format here. An example for hydrogen atom in the 6-31G** basis set is:

H 0 1
5 5
4.274303e-01
6.654494e-01
0.000000e+00
2.465190e-32
-1.387779e-17
1.257798e+00
-1.149752e+00
0.000000e+00
-7.888609e-31
6.661338e-16
8.307465e-16
-7.808226e-16
0.000000e+00
5.257311e-01
-8.506508e-01
-4.183196e-16
3.874649e-16
0.000000e+00
8.506508e-01
5.257311e-01
0.000000e+00
0.000000e+00
1.000000e+00
0.000000e+00
0.000000e+00

The first line specifies the element symbol, the number of core orbitals (0 in this example) and the number of valence orbitals (1 in this example). The second line specifies the number of MOs and AOs which will be constructed from this guess. Normally, both of these numbers will be identical (and equal to the number of contracted basis functions on this atom in this basis set). Subsequent lines (Lines 3-27 above) give the AO coefficients of the guess MOs. These are ordered so the most negative orbital energy is first, i.e. the lowest energy guess MO corresponds to lines 3-7 above. The second lowest energy guess MO corresponds to lines 8-12 above. The order of the AOs follows that specified in the basis set file. Finally, a blank line (Line 28) signifies the end of the guess information for this element.

The information in the basis.ao file is used to construct an initial guess as described in

  • J.-M. Langlois, T. Yamasaki, R.P. Muller, and W.A. Goddard III, “Rule-Based Wave Function for Generalized Valence Bond Theory”, J. Phys. Chem., 98, 13498 (1994).

It should be noted that the ordering of basis functions in the AO expansion used to construct the initial guess must be the same as in the GTO block above. Within P-type shells, the basis functions are ordered as X, Y, Z, and within D-type shells as XY, XZ, YZ, XX, YY, ZZ.