Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
basis_input [2024/04/26 07:24] – [Default basis sets for individual atoms] wernerbasis_input [2024/10/25 16:12] (current) – remove links to basis.php may
Line 5: Line 5:
 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 =====
Line 33: Line 33:
 ===== 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]].
Line 48: Line 48:
 ''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.
Line 312: Line 312:
 //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:
Line 380: Line 380:
 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//;
Line 433: Line 433:
 } }
 hf hf
 +</code>
 +
 +The following example shows how to code the vtz basis set explicitly (exponents + contraction):
 +
 +<code - examples/h2o_scf_vtz_explicitbasisinput.inp>
 +gprint,basis
 +r=1.85,theta=104          !set geometry parameters
 +geometry={O;              !z-matrix geometry input
 +          H1,O,r;
 +          H2,O,r,H1,theta}
 +!use VTZ basis, explicitly give exponents and contraction coefficients
 +basis={
 +s,1,15330.000000,2299.000000,522.400000,147.300000,47.550000,16.760000,6.207000,1.752000,0.688200,0.238400;
 +c,1.10,0.000508,0.003929,0.020243,0.079181,0.230687,0.433118,0.350260,0.042728,-0.008154,0.002381;
 +c,1.10,-0.000115,-0.000895,-0.004636,-0.018724,-0.058463,-0.136463,-0.175740, 0.160934, 0.603418, 0.378765;
 +c,8.8,1.0
 +c,10.10,1.0
 +p,1,34.460000,7.749000,2.280000,0.715600,0.214000
 +c,1.5,0.015928,0.099740,0.310492,0.491026,0.336337   
 +c,4.4,1.0
 +c,5.5,1.0
 +d,1,2.314000,0.645000
 +f,1,1.428000
 +
 +s,2,33.870000,5.095000,1.159000,0.325800,0.102700
 +c,1.5,0.006068,0.045308,0.202822,0.503903,0.383421
 +c,4.4,1.0
 +c,5.5,1.0
 +p,2,1.407000,0.388000
 +d,2,1.057000
 +
 +s,3,33.870000,5.095000,1.159000,0.325800,0.102700
 +c,1.5,0.006068,0.045308,0.202822,0.503903,0.383421
 +c,4.4,1.0
 +c,5.5,1.0
 +p,3,1.407000,0.388000
 +d,3,1.057000
 +}
 +hf                        !closed-shell scf
 </code> </code>
  
 See [[explicitly_correlated_methods#basis_sets|basis sets for explicitly correlated methods]] for examples when using explicitly correlated methods. See [[explicitly_correlated_methods#basis_sets|basis sets for explicitly correlated methods]] for examples when using explicitly correlated methods.