Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
basis_input [2022/11/22 08:47] – [Default basis sets] werner | basis_input [2024/10/25 16:14] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Basis input ====== | ||
+ | |||
+ | ===== Overview: sets and the basis library ===== | ||
+ | |||
+ | Basis functions are used in Molpro not just for representing orbitals, but also for providing auxiliary sets for density fitting (see [[density fitting]]) and for simplifying integrals through approximate identity resolution in explicitly-correlated methods (see [[explicitly correlated methods]]). In order to accommodate this, the program maintains internally a number of different //sets//. The first of these always has the name '' | ||
+ | |||
+ | The basis sets may either be taken from the library, or may be specified explicitly, or any combination. Optionally, the basis function type can be chosen using the '' | ||
+ | |||
+ | ===== Cartesian and spherical harmonic basis functions ===== | ||
+ | |||
+ | [command: | ||
+ | |||
+ | '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | If this command is encountered, | ||
+ | |||
+ | '' | ||
+ | |||
+ | It should be noted that there are the following disadvantages and limitations when using cartesian basis functions: | ||
+ | |||
+ | - the basis sets are larger and more linearly dependent; | ||
+ | - density fitting routines are much slower with cartesian basis functions than with spherical harmonics; | ||
+ | - some programs cannot use cartesian basis functions at all, e.g. the PNO programs, gradients with density fitting, or F12 calculations. | ||
+ | |||
+ | Since Molpro 2022.2 all auxiliary basis sets (e.g. for density fitting or RI) use spherical functions by default, independent of the '' | ||
+ | |||
+ | '' | ||
+ | .... | ||
+ | |||
+ | but this is not recommended since such sets become often linearly dependent. | ||
+ | ===== The basis set library ===== | ||
+ | |||
+ | The basis set library consists of a set of plain text files that constitute a database of commonly-used basis sets (primitive gaussians and associated contractions) and effective core potentials. These files can be found in the source tree as '' | ||
+ | |||
+ | Many of the basis sets are taken directly from the Basis Set Exchange | ||
+ | |||
+ | |||
+ | ===== Default basis sets ===== | ||
+ | |||
+ | If a basis is not specified at all for any unique atom group, then the program assumes a global default. Presently, this default is '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | or | ||
+ | |||
+ | '' | ||
+ | |||
+ | //basis// is looked up in the file '' | ||
+ | |||
+ | * All of the Dunning correlation consistent basis sets, through the use of either the standard name of the basis set ('' | ||
+ | * The correlation consistent basis sets for core correlation, | ||
+ | * Douglas-Kroll-Hess relativistic versions of the correlation consistent basis sets are available through use of the standard or abbreviated names with extension -DK, e.g., '' | ||
+ | * The F12 basis sets of Peterson and co-workers for explicitly correlated calculations, | ||
+ | * The Turbomole def2 family of basis sets, '' | ||
+ | * The older segmented Dunning/Hay double-zeta sets for the first row ('' | ||
+ | * The Roos ANO basis sets for H-Ar ('' | ||
+ | * The Stuttgart ECPs and associated basis sets (e.g., '' | ||
+ | * The Hay ECPs and corresponding basis sets ('' | ||
+ | * Other members of the Karlsruhe basis sets ('' | ||
+ | * The Binning/ | ||
+ | * Most of the Pople basis sets, using their standard names (e.g., '' | ||
+ | |||
+ | Short names for the available correlation-consistent default basis sets with '' | ||
+ | Augmented sets are as non-augmented and therefore not listed. | ||
+ | The short names of augmented sets have prefix '' | ||
+ | Note that not all cardinal numbers may be available for each Z. | ||
+ | |||
+ | Valence basis sets: | ||
+ | |||
+ | ^short name ^full name ^range Z ^ | ||
+ | |vxz |cc-pVXZ | ||
+ | |vxz-f12 | ||
+ | |||
+ | Core-valence basis sets: | ||
+ | |||
+ | ^short name ^full name ^range Z ^ | ||
+ | |cvxz | ||
+ | |wcvxz | ||
+ | |cvxz-f12 | ||
+ | |||
+ | Basis sets for relativistic calculations: | ||
+ | |||
+ | ^short name ^full name ^range Z ^ | ||
+ | |vxz-x2c | ||
+ | |cvxz-x2c | ||
+ | |||
+ | |vxz-dk | ||
+ | |wcvxz-dk | ||
+ | |wcvxz-dk3 | ||
+ | |wcvxz-x2c | ||
+ | |||
+ | Pseudo-potential basis sets. The number of core electrons contained in the pseudo-potential corresponds to the number in its name: | ||
+ | |||
+ | ^short name ^full name ^pseudo-pot. | ||
+ | |vxz-pp | ||
+ | |vxz-pp | ||
+ | |vxz-pp | ||
+ | |vxz-pp | ||
+ | |vxz-pp | ||
+ | |vxz-pp | ||
+ | |||
+ | |wcvxz-pp | ||
+ | |wcvxz-pp | ||
+ | |wcvxz-pp | ||
+ | |wcvxz-pp | ||
+ | |wcvxz-pp | ||
+ | |wcvxz-pp | ||
+ | |||
+ | |vxz-pp-f12 | ||
+ | |vxz-pp-f12 | ||
+ | |vxz-pp-f12 | ||
+ | |||
+ | |||
+ | Karlsruhe (Turbomole) basis sets (def2 and dhf). These are also available as augmented and doubly augmented basis sets: | ||
+ | |||
+ | ^short name ^full name ^pseudo-pot. ^range Z ^ | ||
+ | |TZVPP |def2-TZVPP | ||
+ | |TZVPP |dhf-TZVPP | ||
+ | |TZVPP |def2-TZVPP | ||
+ | |TZVPP |dhf-TZVPP | ||
+ | |TZVPP |def2-TZVPP | ||
+ | |TZVPP |dhf-TZVPP | ||
+ | |TZVPP |def2-TZVPP | ||
+ | |TZVPP |def2-TZVPP | ||
+ | |TZVPP |dhf-TZVPP | ||
+ | |TZVPP |def2-TZVPP | ||
+ | |TZVPP |def2-TZVPP | ||
+ | |||
+ | Karlsruhe (Turbomole) basis sets with diffuse functions: | ||
+ | |||
+ | ^short name ^full name ^pseudo-pot. ^range Z ^ | ||
+ | |TZVPPD |def2-TZVPPD |all-electron | 1 - 36 | | ||
+ | | | ||
+ | | | ||
+ | |TZVPPD |def2-TZVPPD |ECP28MDF | ||
+ | | | ||
+ | |TZVPPD |def2-TZVPPD |ECP28MDF | ||
+ | | | ||
+ | |TZVPPD |def2-TZVPPD |ECP46MWB | ||
+ | | | ||
+ | |TZVPPD |def2-TZVPPD |ECP60MWB | ||
+ | |TZVPPD |def2-TZVPPD |ECP60MDF | ||
+ | |||
+ | |||
+ | In addition, many density fitting and resolution of the identity (RI) basis sets are available. For the correlation consistent basis sets of Dunning, the appropriate VXZ/JKFIT, VXZ/MP2FIT, AVXZ/MP2FIT sets of Weigend are chosen automatically in density fitted calculations (augmented versions AVXZ/JKFIT for Fock-matrix fitting are also available). For the def2 family of orbital basis sets, the appropriate auxiliary sets (e.g., TZVPP/JFIT, TZVPP/ | ||
+ | |||
+ | For explicitly correlated F12 calculations that use the cc-pVXZ-F12 or cc-pVXZ-PP-F12 orbital basis sets, the corresponding VXZ-F12/ | ||
+ | |||
+ | Example: | ||
+ | |||
+ | '' | ||
+ | |||
+ | generates valence triple zeta basis set for all atoms. Thus, the input | ||
+ | |||
+ | <code - examples/ | ||
+ | ***,h2o cc-pVTZ basis !A title | ||
+ | r=1.85, | ||
+ | geometry={O; | ||
+ | H1,O,r; | ||
+ | H2, | ||
+ | basis=VTZ | ||
+ | hf !closed-shell scf | ||
+ | </ | ||
+ | |||
+ | performs a Hartree-Fock calculation for H$_2$O using the cc-pVTZ basis set. | ||
+ | |||
+ | Default basis sets can be defined anywhere in the input before the energy calculation to which it should apply using a single '' | ||
+ | |||
+ | The maximum angular momentum in the basis set can be reduced using syntax such as | ||
+ | |||
+ | '' | ||
+ | |||
+ | which would omit the $f$ and $g$ functions that would normally be present in the VQZ basis set. | ||
+ | |||
+ | '' | ||
+ | |||
+ | would specify additionally a maximum angular momentum of $1$ on hydrogen, i.e. would omit $d$ 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, | ||
+ | |||
+ | '' | ||
+ | |||
+ | generates a '' | ||
+ | |||
+ | Notes: //basis// must not be variable called BASIS. Furthermore, | ||
+ | |||
+ | '' | ||
+ | |||
+ | is not allowed, i.e. the keyword '' | ||
+ | |||
+ | < | ||
+ | |||
+ | $aobases=[AVDZ, | ||
+ | do ibas=1,# | ||
+ | basis=aobases(ibas) | ||
+ | ... | ||
+ | enddo | ||
+ | </ | ||
+ | ===== Default basis sets for individual atoms ===== | ||
+ | |||
+ | Different default basis sets for individual atoms can be specified with one-line '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | uses cc-pVTZ as a general default, but for hydrogen atoms cc-pVDZ is used. | ||
+ | |||
+ | '' | ||
+ | |||
+ | or | ||
+ | |||
+ | '' | ||
+ | |||
+ | are equivalent to the above. Note that the default basis has to be specified before any atom specific sets. | ||
+ | |||
+ | Since Molpro2024.2 one can also define basis sets for ranges of atoms. The range is given as atom1-atom2, | ||
+ | |||
+ | '' | ||
+ | |||
+ | |||
+ | ===== Basis blocks ===== | ||
+ | |||
+ | More specific basis set definitions for individual atoms can be given in '' | ||
+ | |||
+ | < | ||
+ | BASIS | ||
+ | SET, | ||
+ | DEFAULT=name | ||
+ | atom1=name1 | ||
+ | atom2=name2 | ||
+ | primitive basis set specifications | ||
+ | SET, | ||
+ | ... | ||
+ | END | ||
+ | </ | ||
+ | Instead of the '' | ||
+ | |||
+ | Any number of basis sets can be be given in a basis block. The definition of each basis set is started by a '' | ||
+ | |||
+ | By default, the first set in a basis block is the orbital basis, and in this case the directive '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | Here the basis sets '' | ||
+ | |||
+ | The specifications '' | ||
+ | |||
+ | Several '' | ||
+ | |||
+ | If a basis is not specified at all for any unique atom group, then the program assumes VDZ. | ||
+ | |||
+ | If the setname is '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | in order to use the auxiliary basis in DF-HF. | ||
+ | |||
+ | ===== Auxiliary basis sets for density fitting or resolution of the identity ===== | ||
+ | |||
+ | As described in the previous section, several basis sets can be defined in a basis block. The definition of each basis starts with a line | ||
+ | |||
+ | '' | ||
+ | |||
+ | < | ||
+ | basis={ | ||
+ | default=avtz | ||
+ | set, | ||
+ | default, | ||
+ | set, | ||
+ | default, | ||
+ | } | ||
+ | </ | ||
+ | is equivalent to | ||
+ | |||
+ | < | ||
+ | basis={ | ||
+ | default=avtz | ||
+ | set,df | ||
+ | [attributes, | ||
+ | default, | ||
+ | set,jk | ||
+ | default, | ||
+ | } | ||
+ | </ | ||
+ | If the setname begins with '' | ||
+ | |||
+ | Optionally, the basis function type '' | ||
+ | |||
+ | Specific basis sets for individual atoms or explicit input of exponents and contraction coefficients can be given exactly in the same way as for orbital basis sets. | ||
+ | |||
+ | ===== Primitive set definition ===== | ||
+ | |||
+ | Default basis sets given using one-line '' | ||
+ | |||
+ | A group of basis functions is defined by a data card specifying a set of primitive gaussians, optionally followed by one or more cards specifying particular contractions of primitives to be included in the final basis (see section [[basis input# | ||
+ | |||
+ | If an individual basis function type ($s$, $p$, $d$, etc.) is specified for an atom, it is required that all other types are also defined, i.e., as soon as an explicit definition of a basis function for an atom is given, all defaults are erased for this atom. | ||
+ | |||
+ | There are four different input forms for basis functions, as explained below under a) to d). In case that options (e.g. '' | ||
+ | |||
+ | In all four cases //type// defines the angular symmetry ('' | ||
+ | |||
+ | a) Library basis sets: | ||
+ | |||
+ | // | ||
+ | |||
+ | or | ||
+ | |||
+ | // | ||
+ | |||
+ | Load basis named //name// from the library. | ||
+ | |||
+ | If //scale// or //scale2// is present, all exponents are scaled by //scale// or // | ||
+ | |||
+ | b) Explicit basis input: | ||
+ | |||
+ | // | ||
+ | |||
+ | General specification of exponents; continuation onto subsequent cards (separated by semicolon) is permitted as shown (the first card can hold up to 19 exponents, each following card 20 exponents). | ||
+ | |||
+ | The exponents (and other numerical parameters described below such as numbers of functions, and contraction coefficients) can be given as general input expressions, | ||
+ | |||
+ | c) Even tempered basis sets: | ||
+ | |||
+ | // | ||
+ | |||
+ | or | ||
+ | |||
+ | // | ||
+ | |||
+ | Generates a generalized even tempered set of functions. The number of functions $n$ is specified by , their geometric mean $c$ by , the mean ratio of successive exponents $r$ by , and the variation of this ratio, $d$, by . If //centre// is not given, the previous basis of the same type is extended by diffuse functions. If in this case //ratio// is not given, $r$ is determined from the exponents of the last two function of the previous basis. If this is not possible, the default $r=2.5$ is adopted. $d=1$ (the default) specifies a true even-tempered set, but otherwise the ratio between successive exponents changes linearly; the exponents are given explicitly by $$\log e_i = | ||
+ | \log c | ||
+ | + ((n+1)/2-i) \,\log r | ||
+ | + \frac12 ((n+1)/ | ||
+ | \quad | ||
+ | i=1, | ||
+ | |||
+ | * **Example 1** '' | ||
+ | generates the generally contracted $s$ and $p$ triple-zeta basis sets for atom 1 and extends these by one diffuse function. | ||
+ | * **Example 2** '' | ||
+ | generates the generally contracted $s$, $p$ triple-zeta basis sets for atom 1. Two energy optimized $d$-functions of Dunning are included. The last $s$ and $p$ functions are deleted and replaced by two even tempered functions with ratio 2.5. | ||
+ | |||
+ | d) 3-term tempered basis sets: | ||
+ | |||
+ | // | ||
+ | |||
+ | Generates a 3-parameter set of //nprim// functions with exponents given by $$e_0 = \alpha ; \qquad e_i=e_{i-1} \,\beta \left(1+\frac{\gamma \cdot i^2}{( { {nprim}}+1)^2}\right) | ||
+ | , \quad i=1, | ||
+ | |||
+ | e) Regular even tempered basis sets: | ||
+ | |||
+ | // | ||
+ | |||
+ | Generates an even tempered set of //nprim// functions according to the “regular” prescription described in M W Schmidt and K Ruedenberg, [[https:// | ||
+ | |||
+ | f) Even tempered basis set with confined progression: | ||
+ | |||
+ | // | ||
+ | |||
+ | Generates an even tempered basis set with //nprim// functions and a maximal exponent given by // | ||
+ | |||
+ | // | ||
+ | \frac{5}{\pi}(\arctan(\beta-2.5)+\frac{\pi}{2})+\sqrt{2}$// | ||
+ | |||
+ | so that for $\beta \ll 0: p \rightarrow \sqrt{2}$ and for $\beta \gg 0: p \rightarrow 5+\sqrt{2}$ which limits the progression factors in between these two values and enables unconstrained basis set optimisations. For $\beta \approx 0$ the progression has a factor of about 2. | ||
+ | |||
+ | // | ||
+ | |||
+ | Generalises confined progression tempered basis sets by a third parameter (now $\gamma$) which defines the progression as above in the centre. The ratio factors are then determined by interpolating between $p(\beta)\rightarrow p(\gamma)$ and $p(\gamma)\rightarrow p(\delta)$. | ||
+ | |||
+ | ===== Contracted set definitions ===== | ||
+ | |||
+ | a) '' | ||
+ | |||
+ | General specification of a contracted function. // | ||
+ | |||
+ | b) '' | ||
+ | |||
+ | Use default contractions from the library. This applies to both the number of contracted primitives and also to the number of different contraction sets. | ||
+ | |||
+ | c) $n$'' | ||
+ | |||
+ | $n$ contracted functions taken from library. // | ||
+ | |||
+ | d) $n$'' | ||
+ | |||
+ | $n$ contracted functions taken from orbitals //orb//, $orb+1$, | ||
+ | |||
+ | '' | ||
+ | generates two contractions, | ||
+ | |||
+ | ===== Examples ===== | ||
+ | |||
+ | This shows the use of default basis sets for H$_2$O: | ||
+ | |||
+ | <code - examples/ | ||
+ | ***,H2O | ||
+ | basis=VQZ(f/ | ||
+ | R=0.95 ANG, | ||
+ | geometry={O; | ||
+ | hf !do closed-shell SCF | ||
+ | </ | ||
+ | |||
+ | This is equivalent to the explicit input form | ||
+ | |||
+ | <code - examples/ | ||
+ | ***,H2O | ||
+ | R=0.95 ANG, | ||
+ | geometry={O; | ||
+ | basis={spdf, | ||
+ | hf !do closed-shell SCF | ||
+ | </ | ||
+ | |||
+ | The following example shows how to use two different basis sets for the same element: | ||
+ | |||
+ | <code - examples/ | ||
+ | gprint, | ||
+ | nosym | ||
+ | |||
+ | geometry={Angstrom, | ||
+ | O | ||
+ | H2 1 1.0 | ||
+ | H3 1 1.0 2 109 | ||
+ | } | ||
+ | |||
+ | basis={ | ||
+ | default=cc-pVDZ; | ||
+ | sp, | ||
+ | spd, | ||
+ | } | ||
+ | hf | ||
+ | </ | ||
+ | |||
+ | The following example shows how to code the vtz basis set explicitly (exponents + contraction): | ||
+ | |||
+ | <code - examples/ | ||
+ | gprint, | ||
+ | r=1.85, | ||
+ | geometry={O; | ||
+ | H1,O,r; | ||
+ | H2, | ||
+ | !use VTZ basis, explicitly give exponents and contraction coefficients | ||
+ | basis={ | ||
+ | s, | ||
+ | c, | ||
+ | c, | ||
+ | c,8.8,1.0 | ||
+ | c,10.10,1.0 | ||
+ | p, | ||
+ | c, | ||
+ | c,4.4,1.0 | ||
+ | c,5.5,1.0 | ||
+ | d, | ||
+ | f, | ||
+ | |||
+ | s, | ||
+ | c, | ||
+ | c,4.4,1.0 | ||
+ | c,5.5,1.0 | ||
+ | p, | ||
+ | d, | ||
+ | |||
+ | s, | ||
+ | c, | ||
+ | c,4.4,1.0 | ||
+ | c,5.5,1.0 | ||
+ | p, | ||
+ | d, | ||
+ | } | ||
+ | hf !closed-shell scf | ||
+ | </ | ||
+ | |||
+ | See [[explicitly_correlated_methods# | ||