EXTRAPOLATE,BASIS=basislist,options
where basislist is a list of at least two basis sets separated by colons,
e.g. AVTZ:AVQZ:AV5Z. Some extrapolation types need three or more basis sets, others only
two. The default is to use
extrapolation of the correlation energies,
and in this case two subsequent basis sets and the corresponding energies are needed.
The default is not to extrapolate the reference (HF) energies; the value
obtained with the largest basis set is taken as reference energy for the CBS estimate.
However, extrapolation of the reference is also possible by specifying the METHOD_R option.
The simplest way to perform extraplations for standard methods like MP2 or CCSD(T) is to use, e.g.
***,H2O
memory,32,m
gthresh,energy=1.d-8
r = 0.9572 ang, theta = 104.52
geometry={O;
H1,O,r;
H2,O,r,H1,theta}
basis=avtz
hf
ccsd(t)
extrapolate,basis=avqz:av5z
table,basissets,energr,energy-energr,energy
head,basis,ehf,ecorr,etot
This will perform the first calculation with AVTZ basis, and then compute the estimated basis set limit using the AVQZ and AV5Z basis sets. The correlation energy obtained in the calculation that is performed immediately before the extrapolate command will be extrapolated (in this case the CCSD(T) energy), and the necessary sequence of calculations [here HF;CCSD(T)] will be automatically carried out.
The resulting energies are returned in variables ENERGR (reference energies), ENERGY (total energies), and ENERGD (Davdison corrected energy if available); the corresponding basis sets are returned in variable BASISSETS. The results can be printed, e.g., in a table as shown above, or used otherwise. The above input produces the table
BASIS EHF ECORR ETOT AVQZ -76.06600082 -0.29758099 -76.36358181 AV5Z -76.06732050 -0.30297495 -76.37029545 CBS -76.06732050 -0.30863418 -76.37595468
The extrapolated total energy is also returned in variable ECBS (ECBSD for Davdison corrected energy if available).
In order to extrapolate the HF energy as well (using exponential extrapolation), three energies are needed. One can modify the input as follows:
extrapolate,basis=avtz:avqz:av5z,method_r=ex1,npc=2
method_r determines the method for extrapolating the reference energy (in this case a single exponential); npc=2 means that only the last two energies should be used to extrapolate the correlation energy (by default, a least square fit to all given energies is used). This yields
BASIS EREF ECORR ETOT AVTZ -76.06061330 -0.28167606 -76.34228936 AVQZ -76.06600082 -0.29758099 -76.36358180 AV5Z -76.06732050 -0.30297495 -76.37029545 CBS -76.06774863 -0.30863419 -76.37638283
Rather than using the default procedure as above, one can also specify a procedure used to carry out the energy calculation, e.g.
extrapolate,basis=avtz:avqz:av5z,proc=runccsd, method_r=ex1,npc=2} procedure runccsd hf ccsd(t) endprocAlternatively, the energies can be provided via variables EREF, ECORR, ETOT etc. These must be vectors, holding as many values as basis sets are given.
molpro@molpro.net 2010-03-11