Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| basis_input [2024/07/03 09:21] – add an example how exponents+contraction are explicitly coded doll | basis_input [2025/09/12 09:08] (current) – missing words, compare with old pdf version of manual doll | ||
|---|---|---|---|
| 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 //nprim//, their geometric mean $c$ by //centre//, the mean ratio of successive exponents $r$ by //ratio//, and the variation of this ratio, $d$, by //dratio//. 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# | ||