This is an old revision of the document!
Vibration correlation programs
The VCI program (VCI)
VCI
,options
VCI
calculations account for vibration correlation effects and use potential energy surfaces as generated from the SURF
or XSURF
programs and a basis of VSCF
modals or harmonic oscillator functions. For each vibrational state an individual VCI
calculation will be performed. As VCI
calculations may require substantial computer resources, these calculations can be rather expensive. Currently, two different VCI
programs (configuration selective and conventional) are available (see below). Moreover, VCI calculations can be performed using the grid-based version of the program or within an analytical representation. The latter is significantly faster and is thus recommended. The different versions of the configuration selection VCI
program and the underlying configuration selection scheme are described in detail in:
T. Mathea, G. Rauhut, Assignment of vibrational states within configuration interaction calculations, J. Chem. Phys. 152, 194112 (2020).
T. Petrenko, G. Rauhut, A new efficient method for the calculation of interior eigenpairs and its application to vibrational structure problems, J. Chem. Phys. 146, 124101 (2017).
M. Neff, G. Rauhut, Toward large scale vibrational configuration interaction calculations, J. Chem. Phys. 131, 124129 (2009).
M. Neff, T. Hrenar, D. Oschetzki, G. Rauhut, Convergence of vibrational angular momentum terms within the Watson Hamiltonian, J. Chem. Phys. 134, 064105 (2011).
Options
The following options are available:
ANALYZE
=value In case of resonances or strongly mixed states in general (i.e. low VCI coefficients) a multi-state analysis can be performed, which prints major contributions of the VCI-vectors for all states in a certain window around the state of interest. Typically a window between 10 and 20% (i.e.ANALYZE
=0.1 orANALYZE
=0.2) provides all the information needed.CIMAX
=valueCIMAX
is the maximum excitation level corresponding toCITYPE
andLEVEX
. In principle, a triple configuration $(1^42^43^4)$ would contribute to the VCI space. However,CIMAX=7
restricts this to $(1^42^3)$, $(1^32^33^1)$, $(1^32^23^2), \ldots$. The default isCIMAX=12
for 3D potentials andCIMAX=15
for 4D potentials.CITYPE
=nCITYPE
defines the maximum number of simultaneous excitations, i.e. Singles, Doubles, Triples, … and thus determines the kind of calculations, i.e. VCISD, VCISDT, … The default isCITYPE=4
(VCISDTQ) for 3D potentials andCITYPE=5
for 4D potentials, which appears to be a fair compromise between accuracy and computational speed. The maximum excitation level is currently limited toCITYPE=9
.CLASSES
=n CLASSES=1 allows for the rigorous use of the Slater-Condon rules by employing configuration classes in configuration selection and VCI matrix set-up.CLCTYPE
=n (=2 Default) All VCI programs are based on a real configuration basis. If the state of interest is specified by the $l$ quantum number (symmetric top or linear molecules) an appropriate start vector for the iterative eigenvalue solver will be generated automatically. The optionCLCTYPE
allows to use different start vectors.COMBI
=n By default theVSCF
program calculates the fundamental modes of the molecule only. However, choosingCOMBI=
$n$ allows for the calculation of the vibrational overtones and combination bands. The value of $n$ controls the excitation level, i.e. the number of states to be computed increases very rapidly for large values of $n$. Therefore, by default the upper limit is set to 5000 cm$^{-1}$, but this cutoff can be changed by the optionUBOUND
.CONT
=n Within the evaluation of the VCI integrals contraction schemes are used to reduce the computational effort. In the analytical VCI program values 0, 1 and 2 are supported, while in the grid based version only the options 0 and 1 exist. Memory demands and CPU speed-ups increase with increasing values. The default is set to 1. On machines with limited memory a value of 0 is recommended for this keyword.DIAG
=n In the analytical configuration selective VCI program different diagonalization schemes can be used.DIAG
=TRS
uses our residual-based algorithm for the calculation of eigenpairs (RACE), which is the default.DIAG
=CON
specifies a conventional non-iterative diagonalization as used in the grid-based versions, which will be used once theANALYZE
keyword has been provided.DIAG
=JAC
uses a Jacobi-Davidson scheme.DIAG
=HJD
denotes a disk-based Jacobi-Davidson algorithm.DIPOLE
=nDIPOLE=1
(default) allows for the calculation of infrared intensities. Calculation of infrared intensities requires the calculation of dipole surfaces within theSURF
program. By default the intensities will be computed on the basis of Hartree-Fock dipole surfaces.EXPORT
=variable If variable is set toFCON
, important VCI information will be passed to the Franck-Condon calculation. Within Franck-Condon calculations this option has to be used.GSMODALS
=n By default all VCI calculations will employ ground-state based VSCF modals,GSMODALS=0
.GSMODALS=0
uses the state-specific VSCF modals the subsequent VCI calculations. In any case, individual VCI calculations will be performed for each vibrational state (in contrast to just one VCI calculations from which all solutions will be retrieved) and thus the final VCI wave functions may not be strictly orthogonal to each other once the VCI space is incomplete.INFO
=nINFO=1
provides a list of the values of all relevant program parameters (options).JMAX
=n By default VCI calculations will be performed for non-rotating molecules, i.e. J=0. Rovibrational levels can be computed for arbitrary numbers of J$=n$. This will perform a purely rotational calculation (RCI). To obtain approximate rovibrational energies, vibrational energies have to be added.LEVEX
=nLEVEX
determines the level of excitation within one mode, i.e. $0\rightarrow 1$, $0\rightarrow 2$, $0\rightarrow 3$, … The default isLEVEX=5
, which was found to be sufficient for many applications.POT
=variable VCI solutions can be obtained using a potential in grid representation, i.e.POT=GRID
(default), or in an analytical representation,POT=POLY
,POT=GAUSS
orPOT=BSPLINE
. In the latter cases thePOLY
program needs to be called prior to theVSCF
andVCI
programs in order to transform the potential.MPG
=n By default the symmetry of the molecule will be recognized automatically within theVCI
calculations.MPG=1
switches symmetry off.MULTIVCI
=n (=0 Default)MULTIVCI=1
calls a multi-state VCI, which allows for the simultaneous calculation of several vibrational states, which is particularly useful in case of resonances. See also the optionNSTSEL
. Besides this the multi-state VCI program in connected with advanced features for the state assignment.NDIM
=n The expansion of the potential in theVCI
calculation can differ from the expansion in theSURF
calculation. However, only values less or equal to the one used in the surface calculation can be used. Default:NDIM=3
.NDIMDIP
=n Term after which the $n$-body expansions of the dipole surfaces are truncated. The default is set to 3. Note thatNDIMDIP
has to be lower or equal toNDIM
.NDIMPOL
=n Term after which the $n$-body expansions of the polarizability tensor surfaces are truncated. The default is set to 0. Note thatNDIMPOL
has to be lower or equal toNDIM
and must be smaller than 4.NSTSEL
=n (=0 (off) Default) Once switched on (NSTSEL=1
) the configuration selection procedure acts on several states simultaneously. The number and identity of these states will be automatically determined. Be aware, that this option leads to a significant increase of CPU time due to enlarged correlation spaces.NVARC
=n By default the expansion of the $\mu$-tensor for calculating the vibrationally averaged rotational constants is truncated after the 2nd order terms, i.e.NVARC=2
. This may be altered by theNVARC
keyword.POLAR
=nPOLAR=1
allows to compute Raman intensities in addition to infrared intensities, but of course requires polarizability tensor surfaces from theSURF
program. By default Raman intensities are switched off.PRINT
=n This option provides an extended output.PRINT=1
prints the vibrationally averaged rotational constants for all computed states and the associated vibration-rotation constants $\alpha$.PRINT=2
prints the effective 1D polynomials in case that the potential is represented in terms of polynomials, see the optionPOT=POLY
and thePOLY
program. In addition the generalized VSCF property integrals, i.e. $\left < VSCF \left | q_i^r \right | VSCF \right >$ are printed. These integrals allow for the calculation of arbitrary vibrationally averaged properties once the property surfaces are available. Default:PRINT=0
.REFERENCE
=n This keyword specifies the reference for the definition of the configurations. By default,REFERENCE=0
the reference for all state-specific calculations is the vibrational ground-state configuration. This leads to a violation of the Brillouin condition, but often to also to faster convergence.REFERENCE=1
uses the VSCF configuration as reference for generating all excited configurations. This is the proper way of doing it, but usually requests higher excitation levels.SADDLE
=n By default, i.e.SADDLE=0
, theVCI
program assumes, that the reference point of the potential belongs to a local minimum. Once the PES calculation has been started from a transition state, this information must be provided to theVCI
program by usingSADDLE=1
. Currently, theVCI
program can only handle symmetrical double-minimum potentials.SELSCHEME
=n By defaultSELSCHEME
=1, configurationis will be selected by a perturbative criterion. Alternative one may use a criterion based on 2$\times$2 VCI matrices (SELSCHEME
=2). Usually the differences are extremely small and the matrix based criterion is slightly more time-consuming.SKIPDIAG
=n If SKIPDIAG=ITER with ITER>1 is set, the configuration selection based on a VMP2-like wavefunction is used after the ITERth iteration step, as long as the energy difference between the energy eigenvalues of the last two iteration steps is less than THRDIAG (see below). SKIPDIAG=2 usually leads to appropriate results.SKIPSAVE
=n In cases of small deviations with respect to the norm of the VMP2-like wavefunction, SKIPSAVE=1 may be used to further reduce the computational cost for configuration selection. Note, that renormalization is not possible anymore in this case. The default is SKIPSAVE=0 (disabled).SUBSPACE
=n SUBSPACE=1 enables the use of prediagonalization of physically meaningful subspaces.SYMBASIS
=n The assignment of symmetry labels is realized by a projection operator. By default, the basis functions used are automatically determined.SYMBASIS=1
switches to alternative basis functions.THERMO
=nTHERMO=1
allows for the improved calculation of thermodynamical quantities (compare theTHERMO
keyword in combination with a harmonic frequency calculation). However, the approach used here is an approximation: While the harmonic approximation is still retained in the equation for the partition functions, the actual values of the frequencies entering into these functions are the anharmonic values derived from theVCI
calculation. Default:THERMO=0
.THRCF
=valueTHRCF
is the threshold for selecting individual configurations. The default is given byTHRCF
=$5\cdot 10^{-10}$.THRDIAG
=value The default is THRDIAG=1.0d0 (wavenumbers). THRDIAG gives the energy difference of the energy eigenvalues between two consecutive iterations. The VMP2-like wavefunction is employed for configuration selection if the respective energy difference is smaller than THRDIAG, i.e. VCI matrix diagonalizations/eigenvector determinations are omitted.THRECORR
=value Convergence criterion in the case the VMP2-like wavefunction is used for configuration selection. If the sum of energy corrections given by the configurations selected in a specific iteration step is smaller than THRECORR, the final VCI matrix is set-up and the eigenvector is determined. The default is THRECORR=1.0d0 (wavenumbers).THREX
=value This thresholds controls the exclusion of selected configurations within the perturbative configuration selection criterion. The default isTHREX=5.d-4
.THRSEL
=valueTHRSEL
controls the determination of the iterative configuration selection scheme. By default the wavefunction is considered to be converged once energy changes drop belowTHRSEL
=0.02 cm$^{-1}$.THRUP
=value Within the perturbative selection criterion, unselected configurations are excluded from the procedure based on a criterion, which checks on the selection of configuration, which are excited in the same modes. The default isTHRUP
=$10^{-9}$.UBOUND
=n Once overtones and combination bands shall be computed, the upper energy limit is controlled by the keywordUBOUND
, i.e. states, for which the harmonic estimate is larger than $n$, will not be computed. the default is set to $n$=5000 cm$^{-1}$.USERMODE
=n Once vibrational states have been defined with theVIBSTATE
program (section the DAT2GR program (DAT2GR)), the VCI program can be forced to compute just these states by the optionUSERMODE=1
. Note that the vibrational ground state will always be computed and needs not to be specified explicitly.VAM
=nVAM=0
: switches off all vibrational angular momentum terms and the Watson correction term.
VAM=1
: adds the Watson correction term (see eq. [eq:1]) as a pseudo-potential like contribution to the fine grid of the potential. In the analytical representation of the potential this will already be done in the POLY
program.
VAM=2
: (default) the 0D terms of the vibrational angular momentum terms, i.e. $\frac{1}{2} \sum_{\alpha\beta} \hat{\pi}_\alpha\mu_{\alpha\beta} \hat{\pi}_\beta$, and the Watson correction term are included. The VAM-terms will be added to the diagonal elements of the VCI-matrix only. This approximations works rather well for many applications.
VAM=3
: again, the $\mu$ tensor is given as the inverse of the moment of inertia tensor at equilibrium geometry, but is added to all elements of the VCI matrix.
VAM=4
: extends the constant $\mu$-tensor (0D) by 1D terms and is added to all elements of the VCI matrix. A prescreening technique is used for the 1D terms, in which the convergence of the VAM operator will be checked for each VCI matrix element.
VAM=5
: includes 0D, 1D and 2D terms of the $\mu$-tensor, which are added to all elements of the VCI matrix. Prescreening is used for the 1D and 2D terms.
VAM=6
: includes 0D and 1D terms of the $\mu$-tensor without prescreening.
VAM=7
: includes 0D, 1D and 2D terms of the $\mu$-tensor, which are added to all elements of the VCI matrix. Prescreening is used for the 2D terms only.
VAM=8
: includes 0D, 1D and 2D terms of the $\mu$-tensor without any prescreening.
Note that the 1D and 2D corrections increase the computational cost considerably and are only available for non-linear molecules.
VERSION
=n Both, the grid-based and the analytical versions of theVCI
programs offer 2 different kinds ofVCI
implementations:
VERSION=3
(which is the default) is a configuration selective and most efficient VCI
program. VERSION=4
is a conventional VCI
program without configuration selection. It is thus computationally extremely demanding.
Rovibrational calculations
ROVIB
,options
By default, the VCI
program calculates purely vibrational states only. However, the ROVIB
directive allows for the calculation of rovibrational transitions for molecules with Abelian point groups. This includes also the IR intensities once dipole moment surfaces have been computed and Raman intensities if they are available and requested in the vibrational calculation. For details see:
S. Erfort, M. Tschoepe, G. Rauhut, Towards a fully automated calculation of rovibrational infrared intensities for semi-rigid polyatomic molecules, J. Chem. Phys. 153, xxxxxx (2020).
The following options are available:
JMAX
=n By default VCI calculations will be performed for non-rotating molecules, i.e. J=0. Rovibrational levels can be computed for arbitrary numbers of J$=n$. This will perform a purely rotational calculation (RCI). To obtain approximate rovibrational energies, vibrational energies have to be added.JMAX_PRINT
=n (=min(Jmax,3) Default) This option controls the printout in rovibrational calculations, i.e. the maximum J value, up to which information shall be printed.RVINFO
=n (=1 Default) Additional rovibrational output. By default this will print the nuclear spin statistical weights.RVINFO=2
provides additional details on the calculation and assignment of nuclear spin statstical weights.RVINFO=3
enables further integrals, etc.RVMU
=n This keyword controls the order of integrals arising from the inverse moment of inertia tensor $\mu_{\alpha\beta}$ within the calculation of the partition functions as needed in rovibrational calculations. By default a constant $\mu$-tensor is assumed.ENDAT
=string File name for dumping the rovibrational energies.PARTF_R_THR
=value (=$10^{-4}$ Default) Threshold for the relative deviation within the iterative determination of the rotational partition function.PARTF_V_THR
=value (=$10^{-2}$ Default) Threshold for the relative deviation within the iterative determination of the vibrational partition function.TINC
=value (= 100 Default, in K) Temperature increment.TLIST
=string (off Default, in K) List of specific temperature values, e.g. ’300-350-400’. Combinable with other temperature-keywords.TMAX
=value (=0 (off) Default, in K) Maximum temperature. Setting onlyTMIN
will setTMAX
to the same value.TMIN
=value (=0 (off) Default, in K) Minimum temperature. Setting onlyTMAX
will setTMIN
to the same value.RBAS
=n (=1 Default) Definition of the rotational basis in rovibrational calculations.RBAS=1
refers to primitive rigid rotor states $|Jk>$.RBAS=2
a symmetrized rotational basis by employing Wang combination is used, i.e. $|J K \tau> = i^\sigma/\sqrt{2} (|JK> + (-1)^{J+K+\tau}|J-K>)$.
NSSW
=string Sequence of nuclear spin statistical weights in the order of irreps commonly used in the character table for the current molecular point group, e.g. ’1-1-3-3’ for irreps A$_1$, A$_2$, B$_1$, B$_2$ in the case of H$_2$CO.RVINT_THR
=value (=10$^{-2}$ Default) Threshold for printing rovibrational intensities.RVPRINT
=n This keyword controls the rovibrational line list printout.RVPRINT=1
prints the transition moments,RVPRINT=2
the oscillator strengths,RVPRINT=3
the Einstein A coefficients,RVPRINT=4
symmetry information, andRVPRINT=5
vibrational hot bands. Any of these numbers can be combined, e.g.RVPRINT=123
prints the transition moments, the oscillator strengths and the Einstein A coefficients. This keyword or theIRDAT
and/orRAMANDAT
keyword have to be set in order for rovibrational intensitites to be computed.DIP
=n (=3 Default) Order of the $n$-mode expansion in the dipole surfaces used for vibrational transition moments in rovibrational intensities.POL
=n (=3 Default) Order of the $n$-mode expansion in the polarizability surfaces used for vibrational transition moments in rovibrational intensities.HOTB
=n (=0 (off) Default) The calculation of vibrational hot bands can be switched on withHOTB=1
.RAMAN_UBOUND_L
=value Sets the upper energy bound for the lower state in rovibrational transitions.RAMAN_UBOUND_U
=value Sets the upper energy bound for the upper state in rovibrational transitions.IRDAT
=string File name for dumping the rovibrational infrared line list. Activates calculation of rovibrational intensities.IRUNIT
=string The default unit for the IR intensities is km/mol.IRUNIT
=’HITRAN’ provides the results in HITRAN units, i.e. cm$^{-1}$/(molecule cm$^{-2}$). This key is only active in rovibrational calculations.RAMANDAT
=string File name for dumping the rovibrational Raman line list. Activates calculation of rovibrational intensities.RAMAN_POLANG
=value (=90 Default) Raman polarisation angle defining the prefactors mixing the isotropic and anisotropic Raman transition moments for the calculation of Raman intensities.RAMAN_FAC(n)
=value Set the prefactors for the isotropic and anisotropic Raman transition moments for the calculation of Raman intensities manually. $n=0$ will set the value for $R_0$, $n=2$ the one for $R_2$.RAMAN_LFREQ
=value (=680 Default, in nm) Raman exciting radiation (laser) frequency.
Explicit definition of the correlation space
LEVEX
,options
Within the VCI program the correlation space can be specified in a general manner (keyword LEVEX
), which means that the same number of modals for each mode will be used. Alternatively, one may use the LEVEX
directive. This allows to specify the correlation spaces for the individual modes.
MODE(n)
=m The number of correlating modals for mode n is set to m.
Examples
The following input example for a grid based calculation of anharmonic frequencies and intensities (1) optimizes the geometry of water, (2) computes the harmonic frequencies, (3) generates a potential energy surface around the equilibrium structure, (4) computes the vibrational wave function and the infrared intensities at the VSCF
level, and finally (5) a VCI
calculation will be performed. Vibrational angular momentum terms (VAM
) are included even for the non-diagonal elements of the VCI matrix.
memory,20,m basis=vdz orient,mass geometry={ 3 Water O 0.0675762564 0.0000000000 -1.3259214590 H -0.4362118830 -0.7612267436 -1.7014971211 H -0.4362118830 0.7612267436 -1.7014971211 } mass,iso hf mp2 optg !(1) optimizes the geometry frequencies,symm=auto !(2) compute harmonic frequencies label1 int {hf start,atden} {mp2 cphf,1} {xsurf,sym=auto !(3) generate potential energy surface intensity,dipole=2} poly vscf,pot=poly !(4) do a VSCF calculation vci,pot=poly,vam=3 !(5) do a VCI calculation put,irspec,irspec.gnu !writes a gnuplot file to plot an IR !spectrum of the last VCI calculation
The following input example for an analytical calculation of anharmonic frequencies and intensities (1) optimizes the geometry of water, (2) computes the harmonic frequencies,(3) generates a potential energy surface around the equilibrium structure, (4) converts the potential energy surface into an analytical representation (5) computes the nuclear wave function and the infrared intensities at the VSCF
level, and finally (6) performs a VCI
calculation. Vibrational angular momentum terms (VAM
) are included even for the non-diagonal elements of the VCI matrix.
memory,20,m basis=vdz orient,mass geometry={ 3 Water O 0.0675762564 0.0000000000 -1.3259214590 H -0.4362118830 -0.7612267436 -1.7014971211 H -0.4362118830 0.7612267436 -1.7014971211 } mass,iso hf mp2 optg !(1) optimizes the geometry frequencies,symm=auto !(2) compute harmonic frequencies label1 int {hf start,atden} {mp2 cphf,1} {xsurf,sym=auto !(3) generate potential energy surface intensity,dipole=2} poly,dipole=1 !(4) converts potential energy surface ! to a polynomial representation vscf,pot=poly !(5) do a VSCF calculation vci,pot=poly,vam=3 !(6) do a VCI calculation put,irspec,irspec.gnu !writes a gnuplot file to plot an IR !spectrum of the last VCI calculation
Record handling
DISK
,options
The DISK
directive allows to specify explicitly, from where the potential information shall be taken and where it shall be stored to disk. This can also be accomplished in an automated manner. These features are only relevant for the simulation of vibronic spectra as one has to deal with several PESs in the same input. For simple VCI calculations, no information is needed here.
The following options are available:
AUTO
=n Rather than using the optionsSTART
andSAVE
one may simply assign a label n to a a certain PES and all the records will be set automatically.SAVE
=record This keyword specifies the record where to dump the VCI information.START
=record This card specifies the record from where to read the VSCF information. As the VSCF information usually is stored in the same record as the polynomials, it is usually defined in thePOLY
program.
The vibrational MP2 program(VMP2)
VMP2
,options [vmp2]
The VMP2
program allows to perform 2nd order vibrational Møller-Plesset calculations. The program has been implemented in a grid-based and an analytical version. Most of the keywords as described for the VCI
program are also valid for the VMP2
program, i.e. TYPE, CITYPE, LEVEX, CIMAX, NGRID, NDIM, NBAS, VAM, COMBI, THERMO, DIPOLE, MPG
and INFO
.
- examples/vmp2.inp
basis=vdz orient,mass geomtyp=xyz geometry={ 3 Water O 0.0675762564 0.0000000000 -1.3259214590 H -0.4362118830 -0.7612267436 -1.7014971211 H -0.4362118830 0.7612267436 -1.7014971211 } hf mp2 optg {frequencies,symm=auto print,low=50} label1 {hf start,atden} {mp2 cphf,1} {surf,start1D=label1,sym=auto intensity,dipole=2} poly,pmp=1,dipole=1,show=1 vscf,type=poly,pmp=2,dipole=1 vmp2,type=poly,pmp=3,dipole=1
The vibrational multi-reference CI program (VMRCI)
VMRCI
,options [vmrci]
The vibrational multi-reference CI program requests a preceding VMCSCF calculation and accounts for correlation effects on top of those considered in the VMCSCF run. Note, in all VMRCI calculations, configurations being considered within the active space of the underlying VMCSCF calculation, will be relaxed. Configurations to be generated for the VMRCI correlation space refer to all reference configurations and thus the VMRCI correlation space increases significantly faster than the VCI space. Once parameters have been altered with respect to the defaults in the VMCSCF program, e.g. NGRID
, the same settings must be used within the VMRCI program
. Further details are described in:
F. Pfeiffer, G. Rauhut, Multi-reference vibration correlation methods, J. Chem. Phys. 140, 064110 (2014).
Options
The following options are available:
VSCFMODALS
=n Instead of using VMCSCF modals (default), VSCF modals will be used (once a VSCF calculation has been performed prior to the VMCSCF calculation), i.e.VSCFMODALS=1
.
Most of the keywords as described for the VCI
program are also valid for the VMRCI
program, i.e. TYPE, CITYPE, LEVEX, CIMAX, NDIM, NBAS, DIAG, VAM, COMBI, DIPOLE, CONT, ANALYZE, MPG
and INFO
.
Explicit definition of the correlation space
LEVEX
,options
Within the VMRCI program the correlation space can be specified in a general manner (keword LEVEX
), which means that the same number of modals for each mode will be used. Alternatively, one may use the LEVEX
directive. This allows to specify the correlation spaces for the individual modes.
MODE(n)
=m The number of correlating modals for mode n is set to m.