25.2.17 Keywords for Module aoforce
This module calculates analytically harmonic vibrational frequencies within the HF- or (RI)DFT-methods for closed-shell and spin-unrestricted open-shell-systems. Broken occupation numbers would lead to results without any physical meaning. Note, that RI is only used partially, which means that the resulting Hessian is only a (very good) approximation to exact second derivatives of the RIDFT-energy expression. Apart from a standard force constant calculation which predicts all (allowed and forbidden) vibrational transitions, it is also possible to specify certain irreps for which the calculation has to be done exclusively or to select only a small number of lowest eigenvalues (and eigenvectors) that are generated at reduced computational cost.
General keywords
$drvopt-
is the keyword for non-default options of gradient and second derivative calculations. Possibilities in case of the module
aoforceare:frequency analysis onlyanalysis only-
to read a complete Hessian from the input file
$hessianand perform only the frequency analysis analysis [only] intcoord [print]-
to perform an analysis of normal modes in terms of internal coordinates. Details about this option and the effect of the printlevel (default is 0) are given in Section 15. The effect of the keyword
onlyis the same as described above.
$maxcor-
fixes the amount of core memory to be used for dynamically allocated arrays (here 50 MiB), about 70% of available memory should be fine, because
$maxcorspecifies only the memory used to store derivatives of density and Fock matrices as well as right hande side vectors for the CPHF equations. For further details see subsection 25.2.3. $forceconv-
sets the convergence criterion for the CPHF-equations to a residual norm of 1.0d-7. Normally the default value of 1.0d-5 already provides an accuracy of vibrational frequencies of 0.01 cm\(^{-1}\) with respect to the values obtained for the convergence limit. Note that
aoforcecan also read$rpaconvif$forceconvis not set. $forceiterlimit-
fixes the maximum number of Davidson iterations for the solution of the CPHF-equations to a value of ten. Normal calculations should not need more than eight iterations, but as a precaution the default value is 35.
$nosalc-
forces the program in case of molecules with \(C_{1}\) symmetry not to use \(3N-6(5)\) symmetry adapted but all \(3N\) cartesian nuclear displacement vectors. This option may lead to a moderate speed-up for molecules notedly larger than 1000 basis functions and 100 atoms.
$noproj-
forces the program not to project out translations and rotations when forming a basis of symmetry adapted molecular displacements. This option may be needed if a Hessian is required, that contains translation- and rotation-contributions, e.g. for coupling the system with low cost methods. Output of the unprojected hessian is done on
$nprhessian; format is the same as for conventional$hessian. Output of the corresponding eigenvalues and eigenvectors is done analogously on$nprvibrational spectrumand$nprvibrational normal modes. $nomw-
causes the program to diagonalize a not mass weighted hessian. Output is on
$nprhessian,$nprvibrational spectrumand$nprvibrational normal modes, because projection of rotations is not possible in this case. $isosub-
This keyword allows to trace back the effects of isotopic substitution on vibrational frequencies. The atom(s) for which isotopic substitution is to be investigated are specified in subsequent lines of the form (atom index) (mass in special isotope), e.g.
$isosub 3 2.001 5 13The interpolation then takes place between the mass(es) specified in
$atoms(or the default mass(es), if none specified) and the mass(es) in$isosub. Take care of symmetry equivalent atoms, otherwise symmetry analysis will fail. This feature can not be used in a lowest eigenvalue search (keyword$les). $isopts-
Sets the number of points for interpolation between the two isotopes compared by the
$isosuboption to six. Default value is 21.
Keywords for the treatment of only selected nuclear displacement vectors:
$ironly-
CPHF-iteration is done only for distortions, that are IR active.
$ramanonly-
CPHF-iteration is done only for distortions, that are Raman active.
$vcd-
Calculation of VCD rotational strenghts after preceding
mpshiftrun. $les-
This causes a lowest Hessian eigenvalue search to be performed instead of a complete force constant calculation. The lowest eigenvalue search consists of the calculation of a guess-Hessian and macro-iterations to find the solution vector(s) for the lowest eigenvalue(s). In each macro-iteration the CPHF-equations are solved for the present search vector(s).
$les all 1means that one lowest eigenvalue for each irrep will be determined, other numbers of lowest eigenvalues per irrep are admissible too.Different numbers of lowest eigenvalues for different irreps are requested by e.g.
$les
a1 3
a2 all
b2 1The convergence criterion of the Davidson iterations for the solution of the CPHF-equations as well as the maximal residual norm for the lowest Hessian eigenvalue in the macro-iteration are specified by
$forceconvas explained above.The maximum number of macro-iterations is specified by
$lesiterlimitxwith the default
x=25. The maximum number of iterations for each solution of the CPHF-equations is again determined by$forceiterlimitas shown above.The convergence of the macro-iterations is strongly influenced by the size of the starting search-subspace. Generally all guess-Hessian eigenvectors corresponding to imaginary frequencies and at least two real ones are used as starting search-subspace. However it proved to be necessary to use even more vectors in the case of guess-Hessians with very large conditioning numbers.
$hesscond 8.0d-5
means that all eigenvalues with the quotient \(\mathrm{(eigenvalue)/ (max.~eigenvalue)}\) lower than 0.00008 are added to the starting search-subspace. Default is1.0d-4. $sijuai_out-
Save the derivative of the density matrix for subsequent use in the module
evib. See 16 $dipgrad-
This keyword is the output of a default
aoforcerun and contains the dipole derivatives w.r.t. atomic Cartesian coordinates. The result is given as 3x3 tensors for each atom (first three lines are for atom 1, next three lines for atom 2, etc.). In each 3x3 matrix per atom the columns are the dipole moment direction and the rows are three atomic cartesian coordinate directions:$dipgrad cartesian dipole gradients
\( \begin{array}{ccc} d(\mu_x)/d(x_1) & d(\mu_y)/d(x_1) & d(\mu_z)/d(x_1) \\ d(\mu_x)/d(y_1) & d(\mu_y)/d(y_1) & d(\mu_z)/d(y_1) \\ d(\mu_x)/d(z_1) & d(\mu_y)/d(z_1) & d(\mu_z)/d(z_1) \\ d(\mu_x)/d(x_2) & d(\mu_y)/d(x_2) & d(\mu_z)/d(x_2) \\ d(\mu_x)/d(y_2) & d(\mu_y)/d(y_2) & d(\mu_z)/d(y_2) \\ \end{array}\)
...
$end
Force constant calculations on the DFT level prove to be numerically reliable only with large integration grids or if one includes the effects of quadrature weights. This is done by default—to prevent this, insert
no weight derivatives
in $dft.