Both sides previous revision Previous revision | |
basis_input [2024/07/12 08:37] – external edit 127.0.0.1 | basis_input [2024/10/25 16:12] (current) – remove links to basis.php may |
---|
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 ''ORBITAL'' and is the primary basis set for representing orbitals, and others can be defined as necessary as described below, or else are constructed automatically by the program when required. In the latter case, the density-fitting and other modules attempt to guess a reasonable library fitting basis that should be appropriate for the orbital basis set; it is advisable to check the choice when using anything other than a standard orbital basis set. | 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 ''ORBITAL'' and is the primary basis set for representing orbitals, and others can be defined as necessary as described below, or else are constructed automatically by the program when required. In the latter case, the density-fitting and other modules attempt to guess a reasonable library fitting basis that should be appropriate for the orbital basis set; it is advisable to check the choice when using anything other than a standard orbital basis set. |
| |
The basis sets may either be taken from the [[https://www.molpro.net/info/basis.php|library,]] or may be specified explicitly, or any combination. Optionally, the basis function type can be chosen using the ''CARTESIAN'' or ''SPHERICAL'' commands. | 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'' or ''SPHERICAL'' commands. |
| |
===== Cartesian and spherical harmonic basis functions ===== | ===== Cartesian and spherical harmonic basis functions ===== |
===== The basis set library ===== | ===== 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 ''%%lib/*.libmol%%'', but it is usually more convenient to query the database using the [[https://www.molpro.net/info/basis.php|web interface]]. | 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 ''%%lib/*.libmol%%''. |
| |
Many of the basis sets are taken directly from the Basis Set Exchange [[https://www.basissetexchange.org|database]], but there are others, notably the Stuttgart [[http://www.tc.uni-koeln.de/PP/index.en.html|effective core potentials and bases]] and Grant Hill's database for correlation consistent basis sets, [[http://www.grant-hill.group.shef.ac.uk/ccrepo|ccRepo]]. | Many of the basis sets are taken directly from the Basis Set Exchange [[https://www.basissetexchange.org|database]], but there are others, notably the Stuttgart [[http://www.tc.uni-koeln.de/PP/index.en.html|effective core potentials and bases]] and Grant Hill's database for correlation consistent basis sets, [[http://www.grant-hill.group.shef.ac.uk/ccrepo|ccRepo]]. |
''BASIS=''//basis// | ''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 [[https://www.molpro.net/info/basis.php|library]]. This mapping includes the following commonly-used basis sets: | //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: |
| |
* All of the Dunning correlation consistent basis sets, through the use of either the standard name of the basis set (''cc-pVXZ'', ''aug-cc-pVXZ'') or an abbreviation (''VXZ'', ''AVXZ''). For Al-Ar the tight-d augmented sets are obtained through the standard name ''%%cc-pV(X+d)Z%%'', ''%%aug-cc-pV(X+d)Z%%'' or ''%%VXZ+d%%'', ''%%AVXZ+d%%''. Sets X=D,T,Q,5 are available for H-Kr with X=6 available for B-Ne and Al-Ar. | * All of the Dunning correlation consistent basis sets, through the use of either the standard name of the basis set (''cc-pVXZ'', ''aug-cc-pVXZ'') or an abbreviation (''VXZ'', ''AVXZ''). For Al-Ar the tight-d augmented sets are obtained through the standard name ''%%cc-pV(X+d)Z%%'', ''%%aug-cc-pV(X+d)Z%%'' or ''%%VXZ+d%%'', ''%%AVXZ+d%%''. Sets X=D,T,Q,5 are available for H-Kr with X=6 available for B-Ne and Al-Ar. |
//type,atom,name//,[''SCALE=''//scale//$|$''SCALE2=''//scale2//],[''NPRIM=''//nprim//$|$''DELETE=''//ndel//]; | //type,atom,name//,[''SCALE=''//scale//$|$''SCALE2=''//scale2//],[''NPRIM=''//nprim//$|$''DELETE=''//ndel//]; |
| |
Load basis named //name// from the [[https://www.molpro.net/info/basis.php|library]] | Load basis named //name// from the library. |
| |
If //scale// or //scale2// is present, all exponents are scaled by //scale// or //scale%%**%%2//, respectively. If //nprim// is specified, the first //nprim// exponents only are taken from the [[https://www.molpro.net/info/basis.php|library]]. If //nprim// is negative or //ndel// is given, the last $|nprim|$ ($ndel$) basis functions from the [[https://www.molpro.net/info/basis.php|library]] set are deleted. Associated with the library basis may be a set of default contraction coefficients which may be accessed in subsequent contraction cards. //type// can include several types, e.g., ''SPD'' or ''DF''. This usually makes sense only with default contractions, i.e., such cards should be followed only by “''%% C%%''” without any other specifications for contractions. | If //scale// or //scale2// is present, all exponents are scaled by //scale// or //scale%%**%%2//, respectively. If //nprim// is specified, the first //nprim// exponents only are taken from the library. If //nprim// is negative or //ndel// is given, the last $|nprim|$ ($ndel$) basis functions from the library set are deleted. Associated with the library basis may be a set of default contraction coefficients which may be accessed in subsequent contraction cards. //type// can include several types, e.g., ''SPD'' or ''DF''. This usually makes sense only with default contractions, i.e., such cards should be followed only by “''%% C%%''” without any other specifications for contractions. |
| |
b) Explicit basis input: | b) Explicit basis input: |
b) ''C''; | b) ''C''; |
| |
Use default contractions from the [[https://www.molpro.net/info/basis.php|library]]. This applies to both the number of contracted primitives and also to the number of different contraction sets. | 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$''C'',//first.last//; | c) $n$''C'',//first.last//; |
| |
$n$ contracted functions taken from [[https://www.molpro.net/info/basis.php|library]]. //first.last// defines the range of primitives to be contracted. If $n$ is omitted and //first.last// is specified, $n=1$. If //first.last// is omitted, the library default values are used. If both $n$ and //first.last// are omitted, default values for both are used. | $n$ contracted functions taken from library. //first.last// defines the range of primitives to be contracted. If $n$ is omitted and //first.last// is specified, $n=1$. If //first.last// is omitted, the library default values are used. If both $n$ and //first.last// are omitted, default values for both are used. |
| |
d) $n$''C'',//first.last,record.file,orb.sym//; | d) $n$''C'',//first.last,record.file,orb.sym//; |