General Basis Set Examples

In Spartan it is possible to use other basis sets, and even build your own basis set.
The steps are, in brief:
  1. create a basis file
  2. put this basis file in an appropriate location
  3. add a couple keywords to the option line of spartan
  4. run the job.
  5. Some other relevant points are raised in section 5.
  6. Finaly we have some links to sample files.
  7. It is also possible to add additional "standard" basis sets which are not shipped on the Spartan CD. Instructions on how to use these "extended standard basis" sets follow this general discusion.
  8. It is also possible to define your own functional as a combintion of previosly defined functionals.
Each of these are covered in a little more detail in the following discussion.
  1. Create a basis file.
    Examples of valid basis set files can be found in the .../spartan02.119_22/qchem/aux/basis directory and in the
    final section of this page. The first line should be either the last line should be iether "$end" or consist of a series of dashes. i.e. The remainder of the file should be familar to those who are familiar with the theory of gaussian basis sets. The best way to understand this is to examine a sample file.
    ----- Begin Sample Basis File -----
    $basis
      H 0
      S 2 1.0
         1.30976     0.430129
         0.233136    0.678914
    ****
      O 0
      S 2 1.0
         49.9810     0.430129
          8.89659    0.678914
      SP 2 1.0
         49.9810     0.0494720    0.511541
          8.89659    0.9637820    0.612820
    ****
    ----- End Sample Basis File -----
    Each atom section begins with a line containing the atomic symbol and is terminated by a line of 4 asterics (****). The atomic symbol is followed by a set of lines for each atomic shell. The first line of each shell consists of 3 parts;
    1. the shell type, one of S,SP,D,F, or G
    2. the number of gaussians
    3. and a scaling number (usually 1.0)
    Each gaussian followes with the exponents and then the coefficient. For SP shells the S coefficient comes first followed by the P coefficient.

  2. Copy the basis set file to the "correct location".
    this should either be your "$HOME" directory or the .../spartan06.129/auxdir/basis/ directory. On the Macintosh and Windows machines, this file name must be in all capital letters.

  3. You will then need to add some keywords to your molecule.
    The usefull keywords are:
    GBASIS=FILENAME.BASIS to give the basis set file name
    BIGMOLECULE to ensure the "large molecule" quantum mechanics routines will be run. These are usually slower for small molecules, but are usually more general.
    PURECART=gfdControls the use of either pure or Cartesian basis funciton for g, f and d shells, respectively. 1 indicates pure and 2 Cartesian. PURECART=112 is a common options to make the d orbitals cartesian, but g and f pure.
    GUESS=GWH
    or
    GUESS=CORE
    It is possible the default wavefunction guess does not work well with your basis set. One of these might work better.
    ECP=GEN Required if defining your own ECP.
    Note: You may also have to unclick symmetry. Symmetry often fails (with messages like "NOSasy bad") for many basis sets.

  4. Submit the job.
    Note that this is an advanced unsupported feature. You may get a number of errors, some due to simple mistakes in the options or basis set file. Some due to numerical problems due to our backends not being optimized for your basis set. When something bad happens make sure to examine the entire verbose output (as well as the standard terse output) for clues as to what went wrong. Typically the error message at the end of the file is misleading and you may have to page up to the begining of the file to see the first printed error.

  5. Other important caveats you will need to remember.
    • Symmetry is often a problem, you may want to turn it off.
    • While energies are possible with f (and g) orbitals, charges and graphical surfaces with these high basis sets are not yet supported (as well as many other electronic properteis).
    • Geometry optimization is not available for g orbitals.
    • It is very easy to type in wrong values, or enter incorrectly normalized coefficient values. This will lead to some very strange convergance problems, or other seemingly random error messages.
    • This feature is not fully supported by wavefunction. It is supplied to expert users who are willing to debug their own code.


  6. Sample Files Here are three examples of basis set files.
  7. More Standard Basis Sets A number of "standard" basis sets have been left of the shipping CD because of performance problems or limited applicablity. Even though we do not recomomend the use of the these basis sets you can install them on you system. Below are some tarballs which you can download and replace the auxdir in the Spartan directory. These extra basis sets include
    • SV, DZ, TZ,TZV, VDZ and VTZ
    • D95 anc cc-pV5Z
    • aug-cc-pVDZ, aug-cc-pVDTZ, aug-cc-pVDQZ,
    • aug-cc-pCVDZ, aug-cc-pCVDTZ, aug-cc-pCVQZ,
    • crenbl, crenbs, hwmb, hwvdz srlc, srsc, stevens and stuttgart effective core sets
    along with our standard
    • STO-3G, 3-21G, 6-31G, 6-311G
    • cc-pVDZ, cc-pVTZ and cc-pVQZ
    • LACVP, LANL2DZ and SBKJC effective core
    • and the G3 series of basis sets. (G3Large and G3MP2Large)
    Of course, remember to make a backup of Spartan in case a problem occurs while installing these new basis sets.

  8. Defining a new combination of functionals

    Spartan understands a large number of DFT functionals. Only the most popular and well tested are available from the "Density functional" pull-down menu of the setup panel. For example Truhlar group's M06-2x function while not available by default from the pull-down can be typed in the "Option" line as M062x. When the return key is struck the M062x will disapear from the option line and now show as selected in the "Density Functional" pull-down menu.

    It is possible to define your own functionals with the XFUNC= keyword. each functional must be followed a colon (':') and then it's weighting. Different functionals are then seperated by commas. For example a functional consisiting of 9 parts "Slater" exchange and 1 part "Becke" exchange would look like:

    XCFUNC=SLATER:0.9,BECKE:0.1

    If any correlation functionals are required they must be seperated by a 'C'. For example:

    XCFUNC=HF:0.5,SLATER:0.08,BECKE:0.42,C,VWN:0.19,LYP:0.81

    Simpler fuctionals (not requiring combinations) can also be specified without the weighting and withouth the 'C' as the weighting is assumed to be 1.0. For example the SVWN (local) functional could be specified as

    XCFUNC=SLATER,VWN1RPA
    The exchange functionals available are
    • HF Fock exchange
    • Slater Slater (dirac 1930)
    • Becke Becke (1988)
    • GILL96 Gill (1996)
    • GG99 Gilbert and Gill (1999)
    • B(EDF1) Becke (uses EDF1 parameters)
    • PW91 Perdew
    • PBE Perdew-Burke-Ernzerhof (1996)
    • B97 Becke97 XC hybrid (1997)
    • B97-1 Becke97 re-optimized by Hamprecht et. al. (1998)
    • B97-2 Becke97-1 optimzed by Wilson et. al. (2001)
    • B3PW91
    • B3LYP the popular hybrid of Vosko, Wilk and Nusair
    • B3LYP5 #5 hybrid of Vosko, Wilk, and Nusair (Gaussian's version of B3LYP)
    • EDF1 also EDF2
    • BMK BMK hybrid
    • M05 also M052X,
    • M06 also M06HF, M062X,
    The correlation functionals available are
    • VWN Vasko-Wilk-Nusair #5
    • LYP Lee-Yang-Parr
    • PW91 GGA91, Perdew
    • LYP(EDF1)
    • P86 Perdew (1986)
    • PZ81 Perdew-Zungner
    • PBE Perdew-Burke-Ernzerhof (1996)
    • WIGNER Wigner
    • HF HF exchange (K), (required for hybrid density functionals)

Support@wavefun.com
Last modified: Fri Aug 29 15:28:34 PDT 2008