Vibrational SCF programs

VSCF,options [vscf]

The VSCF program is exclusively based on the Watson Hamiltonian \begin{align} \hat{H} = \frac{1}{2} \sum_{\alpha\beta} ( \hat{J}_\alpha - \hat{\pi}_\alpha) \mu_{\alpha\beta} (\hat{J}_\beta - \hat{\pi}_\beta) -\frac{1}{8}\sum_\alpha \mu_{\alpha\alpha} -\frac{1}{2}\sum_i \frac{\partial^2}{\partial q_i^2} + V(q_1,\dots,q_{3N-6}) \label{eq:1} \end{align} in which the potential energy surfaces, $V(q_1,\dots,q_{3N-6})$, are provided by the SURF module. The Watson correction term and the 0D term of the vibrational angular momentum terms are by default (VAM=2) included. Within the grid-based version of the program the one-dimensional Schrödinger equation is solved by the DVR procedure of Hamilton and Light. Note that, the number of basis functions (e.g. distributed Gaussians) is determined by the grid points of the potential and cannot be increased without changing the PES grid representation. In contrast to that, the number of basis functions can be modified without restrictions in the version based on an analytical representation of the potential (polynomials, B-splines, Gaussians). As VSCF calculations are extremely fast, these calculations cannot be restarted. For details see:
J. Meisner, P.P. Hallmen, J. Kästner, G. Rauhut, Vibrational analysis of methyl cation - rare gas atom complexes: CH$_3^+$-Rg (Rg=He, Ne, Ar, Kr), J. Chem. Phys. 150, 084306 (2019).
G. Rauhut, T. Hrenar, A Combined Variational and Perturbational Study on the Vibrational Spectrum of P$_2$F$_4$, Chem. Phys. 346, 160 (2008).
The following options are available:

  • AVERAGE=n By default state-specific VSCF calculations will be performed. AVERAGE=1 allows for configuration averaged VSCF calculations, i.e. CAVSCF. The averaging will be perfomed for those states being defined by the VIBSTATE program. The vibrational ground state will alway be excluded. An identical weight factor will be used for all states, i.e. the inverse of the number of states.
  • BASIS=variable BASIS=DGB (default) defines a mode-specific basis of distributed Gaussians and distributes the Gaussians in a way, that the overlap integral between two functions is always the same (controlled by THRBASOVLP). This guarantees that an increasing number of basis functions will always lead to an improvement. BASIS=HO defines a harmonic oscillator basis. Using this basis together with MAXITER=0 and VAM=0 provides a simple harmonic oscillator basis to be used in all subsequent programs, e.g. in the VCI program. BASIS=SIN uses a basis of sine functions. This is not a fully implemented feature, but primarily available for experimental purposes.
  • COMBI=n By default the VSCF program calculates the fundamental modes of the molecule only. However, choosing COMBI=$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 option UBOUND. See also the VIBSTATE program (section the DAT2GR program (DAT2GR)) for even more possibilities of defining vibrational states.
  • DIPOLE=n DIPOLE=1 allows for the calculation of infrared intensities. Calculation of infrared intensities requires the calculation of dipole surfaces within the SURF program. By default the intensities will be computed on the basis of Hartree-Fock dipole surfaces.
  • GUESS=n The initial guess for the VSCF programs is by default generated from the uncoupled one-dimensional potentials, i.e. GUESS=1. Alternatively, one may start within the calculation of excited vibrational states from the solution of the vibrational ground state, GUESS=2.
  • INFO=n INFO=1 provides a list of the values of all relevant program parameters (options).
  • JMAX=n By default VSCF 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.
  • MAXITER=n This key sets the maximum number of iterations to be performed in the VSCF program.
  • MUPLOT=n Plots all $\mu$-tensor surfaces up to nD and a corresponding Gnuplot script in a separate subdirectory (plots). This option works only in combination with POT=POLY. The VAM option has to be set accordingly.
  • NBAS=n The number of basis functions (distributed Gaussians) to be used for solving the VSCF equations can be controlled by NBAS=n. The default is NBAS=20. This option is only active once an analytical representation of the potential has been chosen, see the option POT and the POLY program.
  • NDIM=n The expansion of the potential in the VSCF calculation can differ from the expansion in the SURF calculation. However, only values less or equal to the one used in the surface calculation can be used.
  • NDIMDIP=n Term after which the $n$-body expansions of the dipole surfaces shall be truncated. The default is set to 3. Note that NDIMDIP has to be lower or equal to NDIM.
  • NDIMPOL=n Term after which the $n$-body expansions of the polarizability tensor surfaces are truncated. The default is set to 0. Note that NDIMPOL has to be lower or equal to NDIM.
  • 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 the NVARC keyword.
  • ORTHO=n Determines the type of orthogonalization within the VSCF program. ORTHO=1 invokes a symmetrical orthogonalization, ORTHO=2 a canonical one and ORTHO=3 uses a canonical one together with an elimination of linear dependencies (see also keyword THRLINDEP. The default is ORTHO=1.
  • POLAR=n POLAR=1 allows to compute Raman intensities in addition to infrared intensities, but of course requires polarizability tensor surfaces from the SURF program. By default Raman intensities are switched off.
  • POT=variable VSCF solutions can be obtained using a potential in grid representation, i.e. POT=GRID, or in an analytical representation, POT=POLY, POT=BSPLINE, POT=GAUSS. In the latter case the POLY program needs to be called prior to the VSCF program in order to transform the potential.
  • 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$. Moreover, the temperature dependence of bond lengths will also be printed, when the potential is represented by a linear combination of basis functions. PRINT=2 prints the effective 1D polynomials in case that the potential is represented in terms of polynomials, see the option POT=POLY and the POLY 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.
  • SADDLE=n By default, i.e. SADDLE=0, the VSCF 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 the VSCF program by using SADDLE=1. Currently, the VSCF program can only handle symmetrical double-minimum potentials.
  • SOLVER=n For solving the one-dimensional Schrödinger equation within a grid representation two different algorithms can be used. The default, i.e. SOLVER=1, calls the discrete variable representation (DVR) as proposed by Hamilton and Light. Alternatively, the collocation algorithm of Young and Peet can be used (SOLVER=2).
  • THERMO=n THERMO=1 allows for the improved calculation of thermodynamical quantities (compare the THERMO 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 the VSCF calculation. Default: THERMO=0.
  • THRBASOVLP=value Overlap between two Gaussian basis functions, once BASIS=DGB has been chosen. The default is 0.75.
  • THRLINDEP=value Threshold for eliminating linear dependencies in the VSCF procedure (see keyword BASIS=DGB). The default is THRLINDEP=1e-8.
  • UBOUND=n Once overtones and combination bands shall be computed, the upper energy limit is controlled by the keyword UBOUND, 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 the VIBSTATE program (section the DAT2GR program (DAT2GR)), the VSCF program can be forced to compute just these states by the option USERMODE=1. Note that the vibrational ground state will always be computed and needs not to be specified explicitly.
  • VAM=n 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 by default (VAM=2) included.

VAM=1 adds the Watson correction term (see Eq. \eqref{eq:1}) as a pseudo-potential like contribution to the fine grid of the potential.
VAM=2 allows for the calculation of the integrals of the VAM operator using the approximation that the $\mu$ tensor is given as the inverse of the moment of inertia tensor at equilibrium geometry.
When using VAM=4 the expansion of the effective moment of inertia tensor will be truncated after the 1D terms (rather than the 0D term in case of VAM=2). Note that values higher than 2 are only active for non-linear molecules. VAM=5 truncates the series after the 2D term. In almost all cases VAM=2 is fully sufficient. Vibrational angular momentum terms are accounted for in a perturbational manner and do not affect the wavefunction.

The following input example for a grid based calculation of anharmonic frequencies and intensities on the VSCF level (1) optimizes the geometry of water, (2) computes the harmonic frequencies,(3) generates a potential energy surface around the equilibrium structure, (4) transforms the grid points to polynomials and (5) computes the nuclear wave function and the infrared intensities at the VSCF level. Vibrational angular momentum terms (VAM) are included. Note, that it is recommended to perform a VCI calculation after a VSCF calculation. The details of the VCI input are described in the next chapter the VCI program (VCI).

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
{hf
start,atden}
{mp2
cphf,1}

{xsurf,sym=auto                          !(3) generate potential energy surface
 intensity,dipole=2}
poly                                     !(4) transform to polynomials
vscf,pot=poly                            !(5) do a VSCF calculation

ROVIB,options

By default, the VSCF 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. 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:

  • HOTB=n (=0 (off) Default) The calculation of vibrational hot bands can be switched on with HOTB=1.
  • 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.
  • JMAX=n By default VSCF 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.
  • 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. Overwrites automatically determined values.
  • 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.
  • 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>)$.

  • 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.
  • RVINT\_THR=value (=10$^{-2}$ Default) Threshold for printing rovibrational intensities.
  • 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.
  • 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, and RVPRINT=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 the IRDAT and/or RAMANDAT keyword have to be set in order for rovibrational intensitites to be computed.
  • 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 only TMIN will set TMAX to the same value.
  • TMIN=value (=0 (off) Default, in K) Minimum temperature. Setting only TMAX will set TMIN to the same value.

GRAPH,options

The GRAPH directive enables the visualization of VSCF and VCI results, mostly in the form of Gnuplot scripts with corresponding data files. Note, for the more demanding postprocessing of rovibrational line lists, the DAT2GR program should be used.
The following options are available:

  • IR=string (=0 (off) Default) Once dipole surfaces are provided and IR intensity calculations are performed, an GnuPlot file with filename string for an IR spectrum can be created with this option. The file name wlll be the same as for the input file, but with the extension .gnu.
  • PARTF=string (=0 (off) Default) Within rovibrational calculations, the convergence of the vibrational and rotational partition functions as a function of the vibrational state and rotational principal quantum number $J$ can be plotted. Creates a Gnuplot file with filename string.
  • PRINTWF=n This key allows for the printing of the effective potentials and of the n lowest modals.

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 options START and SAVE one may simply assign a label n to a certain PES and all the records will be set automatically.
  • SAVE=record This specifies the record, where to dump the VSCF information. Usually this is the same record as specified in the START option. Note that the VSCF information is currently stored in the same record as the polynomial information.
  • START=record Polynomial and other information shall be read from the specified record. This must be the same record, to which the polynomials have been dumped in the POLY program.
  • STARTSURF=record Surface information shall be read from the specified record. This must correspond to the record, to which the potential has been dumped in the SURF program.

VMCSCF,options [vmcscf]

The VMCSCF program is still under development and has not yet been fully optimized with respect to speed and efficiency. It is strongly recommended to run a VSCF calculation prior to the VMCSCF calculation and thus to use VSCF modals as an initial guess. By default configuration-selective VMCSCF calculations will be performed. The VMCSCF calculation based on analytical representations of the potential is significantly faster than the grid-based version and should be used whenever possible. By default the active space will be determined automatically, but it can also be controlled by the input stream. For details see:
S. Heislbetz, G. Rauhut, Vibrational multiconfiguration self-consistent field theory: Implementation and test calculations, J. Chem. Phys. 132, 124102 (2010).
S. Heislbetz, F. Pfeiffer, G. Rauhut, Configuration selection within vibrational multiconfiguration self-consistent field theory: Application to bridged lithium compounds, J. Chem. Phys. 134, 204108 (2011).
P. Meier, D. Oschetzki, F. Pfeiffer, G. Rauhut, Towards an automated and efficient calculation of resonating vibrational states based on state-averaged multiconfigurational approaches, J. Chem. Phys. 143, 244111 (2015). [2ex]

The following options are available:

  • AVERAGE=n By default state-specific VMCSCF calculations will be performed. This may be altered by AVERAGE=1, which calls the state-averaged VMCSCF program. The states, which will automatically be chosen for averaging, are displayed in th output.
  • CALCANGLE=n The procedure how to determine the rotational angles between the modals within the Jacobi rotations can be specified by this keyword. CALCANGLE=1 uses the standard quadratic procedure, which is the current default. CALCANGLE=2 uses a cubic equation instead. CALCANGLE=3 switches to a full numerical determination of the rotational angle.
  • CITYPE=n Defines the maximum number of simultaneous excitations within the configurations generated from modals of the active space, i.e. Singles, Doubles, Triples, … The maximum excitation level is limited to CITYPE=9, the default is set to 4 for 3D potentials and to 5 for 4D potentials.
  • GSMODALS=n By default all VMCSCF calculations are based on ground-state based VSCF modals, GSMODALS=1. GSMODALS=0 uses state-specific modals for all VMCSCF calculations.
  • MAXMAC=n Controls the maximum number of macroiterations of the VMCSCF program. The default is 25.
  • MAXMIC=n Controls the maximum number of microiterations of the VMCSCF program. The default is 50.
  • NACT=n Is the number of active modals for each mode. The smallest meaningful value for NACT is 3, which is the current default. Configurations will only be generated within this space. Note that there is no equivalent in the VMCSCF program to the closed and core orbitals in electronic structure theory.
  • NVIRT=n Is the number of modals on top of the number of active modals. The default is NVIRT=3. The virtual modals are needed for the modal rotations. Modals above the virtual modals are entirely neglected.
  • PRINT=n Provides additional information within the VMCSCF iterations, once a value larger than 0 (default) is used.
  • REF=n REF=0 specifies ground-state based VMCSCF calculations, i.e. the initial guess of the VMCSCF calculation is given by the VSCF wave function of the vibrational ground state. In contrast to that, REF=1 allows for a state-specific initial guess (default).
  • ROT=n Specifies, if only active-virtual modal rotations shall be considered (ROT=0, default) or if active-active modal rotations shall be considered as well (ROT=1). Formally one would need active-active modal rotations for configuration-selective VMCSCF calculations, but the effects are usually extremely small.
  • SAVE=record Specifies the record and file, on which the VMCSCF wave function shall be stored. The default is 5950.2.
  • SAVEVSCF=n Once set to 1, this option allows to store the VMCSCF modals in the record of the VSCF modals (which will be overwritten). This allows for VCI calculations with VMCSCF modals.
  • THRMIC=value Controls the convergence threshold for the microiterations of the VMCSCF program. The default is 1.d-5.
  • USERMODE=n Once vibrational states have been defined with the VIBSTATE program (section the DAT2GR program (DAT2GR)), the VMCSCF program can be forced to compute just these states by the option USERMODE=1. Note that the vibrational ground state will always be computed and needs not to be specified explicitly.
  • VERSION=n By default configuration-selective VMCSCF calculations will be performed (VERSION=3). Note that the selection is always performed prior to the VMCSCF iterations but not within them. The selection of configurations can be switched off by (VERSION=4).

Besides these VMCSCF specific keywords, a number of option can be used, which are identical with those provided for the VCI program. These keywords are NDIM, VAM, POT, NBAS, DIPOLE, NDIMDIP, COMBI, INFO, MPG, DIAG, CONT, THRSEL, THRCF, ANALYZE.

NACT,options
Within the VMCSCF program the active space can be specified in a general manner (option NACT), which means that the same number of active modals for each mode will be used. Alternatively, one may use the NACT directive. This allows to specify active spaces for the individual modes. Typically such definition refer to just one vibrational state and thus the program should be used within the USERMODE mode.

  • AUTO=on / off By default, the active space will be determined by a VMP2 based criterion (AUTO=on). This can be switched off by AUTO=off. The options exists only for analytical representations of the potential.
  • MODE(n)=m The number of active modals for mode n is set to m. This always includes the vibrational ground state. In order to resolve Fermi resonances, one would need to choose m at least to be 3, which corresponds to the modals 0, 1 and 2.

VIBSTATE,options [vibstate]

The VIBSTATE program allows to specify the occupation number vectors for individual vibrational states to be calculated in the following vibrational SCF and vibration correlation programs. Within the input stream, the VIBSTATE program needs to be called prior to the first call of the VSCF program. Note that, the VIBSTATE program needs only to be called, if a limited number of states shall be computed. On the contrary, the COMBI keyword within the VSCF and VCI programs generate large lists of vibrational states, which may result in significant computational effort. The VIBSTATE program necessarily requests the VSTATE directive to be called as described below. If only those vibrational states shall be computed, which are defined by the VIBSTATE program, all subsequent programs need to call the USERMODE option.

VSTATE,options
This directive specifies the occupation number vector of the vibrational state to be calculated.

  • LQUANT(n)=m For symmetric top and linear molecules the specification of the quantum number $l$ is supported by the keyword LQUANT. With LQUANT(n)=l the $n$th mode is supposed to have the quantum number $l$ corresponding to the angular momentum. The occupation number must be set by the keyword MODE(n) before. E.g., VSTATE,MODE(3)=2,LQUANT(3)=2. All $l$-quantum numbers not set will have a value of zero. Note that this option can only be used for degenerate mode pairs.
  • MODE(n)=m The $n$th mode of the molecule is supposed to have the quantum number m. If several modes are excited, the option can be repeated accordingly, e.g. VSTATE,MODE(1)=3,MODE(3)=2,MODE(6)=2. All other modes are not excited and thus have the quantum number 0.