Density fitting can be used to approximate the integrals in spin restricted Hartree-Fock (HF), density functional theory (KS), second-order Møller-Plesset perturbation theory (MP2 and RMP2), explicitly correlated MP2 (MP2-F12), all levels of closed-shell local correlation methods (LCC2, LMP2-LMP4, LQCISD(T), LCCSD(T)), as well as for CASSCF and CASPT2 methods. Density fitting is invoked by adding the prefix DF- to the command name, e.g. DF-HF, DF-KS, DF-MP2 and so on. Gradients are available for DF-HF, DF-KS, DF-MP2, DF-LMP2, DF-CASSCF, and DF-CASPT2. Symmetry is not implemented for density fitting programs. Therefore, symmetry is turned off automatically if DF- is found in the input.
By default, a fitting basis set will be chosen automatically that corresponds to the current orbital basis set and is appropriate for the method. For instance, if the orbital basis set is VTZ, the default fitting basis is VTZ/JKFIT for DF-HF or DF-KS, and VTZ/MP2FIT for DF-MP2. Other fitting basis sets from the library can be chosen using the DF_BASIS option, e.g.
BASIS=VTZ !use VTZ orbital basis DF-HF,DF_BASIS=VQZ !use VQZ/JKFIT fitting basis DF-MP2,DF_BASIS=VQZ !use VQZ/MP2FIT fitting basis
The program then chooses automatically the set which is appropriate for the method. Optionally, the basis type can appended to the basis name and then this supercedes the default, e.g.
DF-HF,DF_BASIS=VQZ/JKFIT !use VQZ/JKFIT fitting basisOrbital basis sets can be chosen using type ORBITAL (but this is not recommended normally!). Contraction/uncontraction can be forced appending (CONTRACT) or (UNCONTRACT) to the basis name, e.g.
Alternatively, fitting basis sets can be defined in a preceding basis block (see 11), and then be refered to with their set names, e.g.,
where MYJKBASIS and MYMP2BASIS are sets defined in a basis block. In this case it is the responsibility of the user to ensure that the basis set is appropriate for the method.
Further options, as fully described in section 15.1, can be added on the command line. In this case they are valid only for the current command. Alternatively, the options can be specifed on a separate DFIT directive. If this is given within a command block, the options are used only for the current program; this is entirely equivalent to the case that the options are specified on the command line. However, if a DFIT (or GDFIT) directive is given outside of a command block, the specified options are used globally in all subsequent density fitting calculations in the same run.
The options specified on a global DFIT directive are also passed down to procedures. However, if a DFIT is given within a procedure, the corresponding options are used only in the same procedure and procedures called from it. When the procedure terminates, the options from the previous level are recovered.