Mixing Basis Sets
In some cases, it is desirable to use different basis sets for different parts of a molecule. For example, one might want to use a dense basis set for atoms involved in a reaction and a smaller basis set for the rest of the molecule. This could be thought of as a QM/QM method in analogy to QM/MM, i.e. multiple regions of the molecule being treated at a different level of detail. In the QM/MM case, part of the system is treated with QM and part with an MM force field. In the mixed basis QM/QM case, part is treated with a small basis set and part with a large basis set. There are two ways to do this in TeraChem.
Custom Basis File Method
In this method for mixed basis computations, one creates a custom basis file which will contain all required basis functions. Here is an example calculation of a hydrogen molecule with STO-3G and 3-21G basis set used for the first and the second hydrogen atom, respectively:
ATOM Hx
S 3
3.4252509 0.154328967295
0.6239137 0.535328142282
0.1688554 0.444634542185
ATOM Hy
S 2
5.4471780 0.156284978695
0.8245472 0.904690876670
S 1
0.1831916 1.000000000000
and likewise a concatenated .ao file must be created. In this case:
Hx 0 1
1 1
1.000000e+00
Hy 0 1
2 2
-3.734069e-01
-7.173244e-01
1.255539e+00
-1.096019e+00
Note that the atomic number and mass is inferred from the first letter(s) of the element (H in this case). With the following files, we will get a mixed basis set calculation for \(H_2\):
File locations
There are two ways to ensure that TeraChem can find the needed files.
-
Use a local copy of the basis directory by setting the TeraChem environment variable appropriately. In that case, one should also ensure that a copy of the
license.datorlicense.keyfile exists in$TeraChem. -
Specify the basis with an explicit path (in this example, the mixedbasis file is located in the same directory as the input file):
Multibasis Method
A second way to use multiple basis sets is possible when one desires
to use the same basis set for all atoms corresponding to the same
element. For example, if one wishes to use the LANL2DZ basis set for
Fe and to use the 3-21G basis set for C and O in \(FE(CO)_5\). In this case,
one can use the $multibasis input as exemplified below:
basis 6-31g
$multibasis
Fe lanl2dz_ecp
C 3-21g
O 3-21g
$end
method b3lyp
coordinates feco5.xyz
run energy
end
In this case, any atoms other than Fe, C, O will be treated with a 6-31G
basis set, as specified on line 1. The $multibasis keyword signals the
beginning of the list of atoms and basis sets that will override the
default 6-31g basis specified in line 1. The $multibasis section must
be terminated with $end (line 6 above). Within the $multibasis section,
simply list the elements and the basis to be used for that element, as is
done in lines 3-5 above. When the Multibasis method is used, TeraChem will
create two files in the scratch directory: JobName.multibasis and
JobName.multibasis.ao. These are concatenated basis set and guess files,
respectively (similar to what one would create using the Custom Basis File Method
described above). Note that JobName is replaced by the jobname of the current job.