If a basis is not specified at all for any unique atom group, then the program assumes a default. Presently, this default is VDZ, but may be overridden using
BASIS,basis
or
BASIS=basis
basis is looked up in the file lib/defbas, which generates an appropriate request for a complete contracted set, together in some cases with an ECP, from the library. This mapping includes the following commonly-used basis sets.
Example:
BASIS=VTZ
generates valence triple zeta basis set for all atoms. Thus, the input
Input: h2o_scf_vtz.com Output: h2o_scf_vtz.out
is entirely equivalent to
Input: h2o_scf_vtz_explicit.com Output: h2o_scf_vtz_explicit.out
Default basis sets can be defined before the integral input (e.g., in molproi.rc) using one or more BASIS cards. There are various different forms possible:
One line input for a global default basis set:
BASIS,basisname
Alternatively, a global default basis can be specified as
BASIS=basisname
In this case basisname is saved in variable BASIS.
Default basis sets for individual atoms can be specified as
BASIS,O=AVTZ,H=VDZ
This sets the default basis for oxygen to AVTZ, and the one for hydrogen to VDZ. The first two forms can be combined:
BASIS,VTZ,O=AVTZ,H=VDZ
This overwrites the global default VTZ by other basis sets for oxygen and hydrogen.
The maximum angular momentum in the basis set can be reduced using syntax such as
BASIS,VQZ(D)
which would omit the and
functions that would normally be
present in the VQZ basis set.
BASIS,VQZ(D/P)
would specify additionally a maximum angular momentum of on
hydrogen, i.e. would omit
orbitals on hydrogen.
For generally contracted basis sets, an extended syntax can be used to explicitly give the number of contracted functions of each angular momentum. For example,
BASIS,ROOS(3s2p1d/2s)
generates a 6-31G*-sized basis set from the Roos ANO compilation.
To go beyond the above simple one-line form, one can use more general BASIS input blocks, which have the follwing general form:
BASIS SET=type ! type can be ORBITAL DENSITY or DMAT; optional; default=ORBITAL DEFAULT=name ! sets the default basis to name atom1=name1 ! Use basis name1 for atom1 atom2=name2 ! Use basis name1 for atom2 primitive basis set specifications !addtional basis functions SET=type ! specify basis of another type in following lines ... END The default and atom specifications can also be merged to one line, separated by commas: {\tt DEFAULT}={\em name},{\em atom1}={\em name1},{\em atom2}={\em name2} This definition of the default and atom specific basis sets works exactly as described above for the one-line input forms, i.e, the basis sets specified for individual atoms substitute the general default. They apply to all angular momentum components with default contraction. The keyword {\tt DEFAULT} can be abbreviated by {\tt DEF}. The optional additional primitive basis set specifications (see next section) are appended to the given atom-specific basis sets, i.e., the union of atom-specific and primitive basis set definitions is used for the atom. Examples: \begin{verbatim} BASIS DEFAULT=VTZ ! use cc-pVTZ basis as default H=VDZ ! use cc-pVDZ for H-atoms END
This could also be written as
BASIS={DEF=VTZ,H=VDZ}
BASIS DEFAULT=VTZ ! use cc-pVTZ basis as default H=VDZ ! use cc-pVDZ for H-atoms D,H,VTZ ! add the VTZ d-function to the VDZ basis for H END
BASIS SPD,O,VTZ !use uncontracted s,p,d functions of basis VTZ for oxygen S,H,H07 !use Huzinaga 7s for Hydrogen C,1.4 !contract first four s-functions P,H,1.0,0.3 !add two p-functions for hydrogen END
Several BASIS cards and/or blocks can immediately follow each other. Always the last
specification for a given atom and type is valid. Defaults given using BASIS
commands can be overwritten by specifications in the integral input. If an individual
basis function type is specified for an atom, it is required that all other types
are also defined. For example, in the above example, no -functions
are included for O, even if the global default would include
-functions.
Also, defining the
functions for hydrogen switches off the default basis
set for hydrogen, and so the
functions must be defined. Instead of the
atomic symbol, also the atom group number can be used.
The same input forms are also possible as direct input to the integral program. In contrast to MOLPRO92, now the atomic symbol can be used in field 2 of a basis specification instead of the atom group number:
Instead of the BASIS ...END block one can also use the structure BASIS[=]{...}
If a basis is not specified at all for any unique atom group, then the program assumes a default. For further details, including respecifying the default to be used, see the specification of the BASIS subcommand below.
P.J. Knowles and H.-J. Werner