Vibrational Spectroscopy

See the Vibrational Spectroscopy section of the AMS manual.

IR frequencies and normal modes

See the IR frequencies and normal modes section of the AMS manual.

The Hessian that is needed can be calculated numerically or analytically. This can be set in the AMS part of the input.

$ADFBIN/ams <<eor
   NormalModes
      Hessian [Auto | Analytical | Numerical]
   End
   ...
eor

Analytical Hessian

The analytical second derivatives (Hessian) implementation in ADF is based on Ref. [1] [2] [3]. The analytical Hessian is as accurate as the numerical Hessian for the same integration accuracy, but can be up to 3 to 5 times quicker to compute, depending on the molecule, integration grid parameters, and choice of basis set. Using the analytical Hessian AMS will calculate the vibrational frequencies and normal modes.

Warning

In AMS2020.103 a bug was fixed in ADF regarding analytical frequencies calculations of spin polarized molecules using PBEc.

Bug PBEc The bug for analytical frequencies calculations of spin-polarized molecules using PBEc affects calculations with the exchange-correlation functionals PBE, OPBE, RPBE, revPBE, and S12g. This bug was present in all ADF releases starting from ADF2006, and was fixed in AMS2020.103. Analytical frequencies using LibXC are not affected. Workaround for older versions is to use numerical frequencies. For ADF2019.3 the bug is fixed in ADF2019.307.

Calculating the analytical Hessian requires the solution of the Coupled Perturbed Kohn-Sham (CPKS) equations, which is an iterative process. This part of the process is of order 3 x number of atoms, and is generally the main bottle neck in calculating the frequencies. The immediate result of the solution of the CPKS equations is the U1 matrix, the components of which are closely related to the derivatives of the MO coefficients. One of the adjustable parameters in the input of an analytical frequencies calculation can be used to control the accuracy of the U1 matrix components.

One disadvantage in calculating analytical Hessian is that the range of exchange-correlation functionals is limited. This is because derivative formulas have to be derived for each exchange-correlation functional in ADF, which is not an straight forward task. Here are the currently available functionals:

LDA: XONLY, VWN, STOLL, PW92

Exchange GGA: Becke88, OPTx, PBEx, rPBEx, revPBEx, S12g

Correlation GGA: LYP, Perdew86, PBEc

XC GGA shortcuts: BP86, PBE, RPBE, revPBE, BLYP, OLYP, OPBE

Any functional not mentioned above is not implemented, including PW91 and Hartree-Fock.

A note of caution: For accurate frequencies it is especially important to also have an accurately optimized geometry. During a geometry optimization the integration accuracy is set by default to “Normal”, and so the resulting frequencies will also have this level of integration accuracy while it may be desirable to have frequencies computed with a higher accuracy. One might consider using Good NumericalQuality (or BeckeGrid quality) and set the convergence criteria for the geometry optimization tighter.

AnalyticalFreq
   B1Size float
   B1Thresh float
   Check_CPKS_From_Iteration integer
   Debug string
   Hessian [reflect | average]
   Max_CPKS_Iterations integer
   Print string
   PrintNormalModeAnalysis Yes/No
   U1_Accuracy float
End
AnalyticalFreq
Type:Block
Description:Define options for analytical frequencies.
B1Size
Type:Float
Description:Sparse grid max memory size
B1Thresh
Type:Float
Default value:1e-10
Description:MMGF_DENB1 and MMGF_GRADB1 cutoff values
Check_CPKS_From_Iteration
Type:Integer
Default value:1
Description:Solution of the CPKS equations is an iterative process, and convergence is achieved if the difference between U1 matrix of successive iterations falls below a certain threshold. This key can be used to determine at which iteration the checking should start taking place.
Debug
Type:String
Description:For debugging purposes. Options: fit, hessian, b1, densities, numbers, symmetry, all.
Hessian
Type:Multiple Choice
Default value:reflect
Options:[reflect, average]
Description:Whether the final Hessian is obtained by reflecting or averaging?
Max_CPKS_Iterations
Type:Integer
Default value:20
Description:Calculating the analytical frequencies requires the solution of the Coupled Perturbed Kohn-Sham (CPKS) equations, which is an iterative process. If convergence is not achieved (a warning will be printed in the output if this is the case) then this subkey can be used to increase the number of iterations, although convergence is not guaranteed. The user required accuracy of the U1 matrix, as well as the ADF integration accuracy, can effect the rates of convergence.
Print
Type:String
Description:Primarily for debugging purposes. Options: eigs, u1, parts. Choosing EIGS results in the print out of the MO eigenvectors, while U1 results in the print out of the U1 matrices. Except for small molecules this will result in a lot of data being output, and so they are not recommended. Choosing PARTS results in the print out of various sub-hessians that add up to give the final analytical hessian.
PrintNormalModeAnalysis
Type:Bool
Default value:No
Description:Request ADF to print analysis of the normal modes independently of AMS.
U1_Accuracy
Type:Float
Default value:5.0
Description:Solution of the CPKS equations is an iterative process, and convergence is achieved if the difference between U1 matrix of successive iterations falls below a certain threshold. This subkey can be used to set the threshold. The accuracy of the U1 will be 10**(-x). So, the higher the number the more accurate the U1 will be. While this parameter effects the accuracy of the frequencies, other factors also effect the accuracy of the frequencies, especially the ADF integration accuracy.
[1]A. Bérces, R. M. Dickson, L. Fan, H. Jacobsen, D. Swerhone and T. Ziegler, An implementation of the coupled perturbed Kohn-Sham equations: perturbation due to nuclear displacements, Computer Physics Communications 100, 247 (1997)
[2]H. Jacobsen, A. Bérces, D. Swerhone and T. Ziegler, Analytic second derivatives of molecular energies: a density functional implementation, Computer Physics Communications 100, 263 (1997)
[3]S.K. Wolff, Analytical second derivatives in the Amsterdam density functional package, International Journal of Quantum Chemistry 104, 645 (2005)

(Resonance) Raman

See the (Resonance) Raman section of the AMS manual.

For Raman calculations by default AORESPONSE will be used to calculate the frequency-dependent polarizability. To use RESPONSE instead of AORESPONSE include the RESPONSE block key in the Engine ADF part of the input:

Engine ADF
  Response
  End
EndEngine

VROA: (Resonance) vibrational Raman optical activity

See the VROA section of the AMS manual.

VCD: Vibrational Circular Dichroism

New in AMS2020 is that one can calculate VCD also for open-shell systems in a spin-unrestricted calculation.

See the VCD section of the AMS manual.