Calculation of harmonic vibrational frequencies. Requires the calculation of Hessian - some interafces provides analytical Hessian, in other cases, the interface numerical_hessian can be used. The analysis can be also run on a precalculated Hessian saved in either previous frequencies job or from a separate Hessian calculation.
Vibrational frequencies and thermodynamic quantities obtained at the rigid rotor - harmonic oscillator level are printed in the output. If the interface provides the derivatives of the dipole moment, IR intensities are printed as well. printing additional information for each vibrational mode is controlled by the keyword freq_print. Additionally, the Hessian is written to a file and all the data inculding normal mode vectors are saved in the Molden format for visualization.
The interface can also generate scans along the normal modes. Both one- and multi-dimensionals scans can be prepared easily. The desired grid can be provided by the user or calculated automatically to cover a specified potential energy range in all modes. The generated scans (series of coordinates in .xyz files) can be processed easily by the Scan protocol.
The following examples, along with all other files needed to run them, can be found in the directory cuby4/protocols/frequencies/examples
#===============================================================================
# Frequencies protocol example 1 - basic calculation of vibrational frequencies
#===============================================================================
# Calcualtion of vibrational frequencies of a water molecule
job: frequencies
# Calculation setup
interface: turbomole
method: dft
functional: b-lyp
basisset: SV
charge: 0
density_fitting: none
# Water molecule optimized at this level - the optimization and vibtartional
# analysis can be chained in a single input file - see Example 2 for the
# Multistep protocol
geometry: |
O -0.000000000 0.000000000 -0.058641239
H -0.000000000 0.797196184 0.542383939
H -0.000000000 -0.797196184 0.542383939
#===============================================================================
# Frequencies protocol example 2 - reusing the Hessian
#===============================================================================
# This input uses the file 'hessian.yaml' generated by Example 1 to repeat
# the vibratinal analysis without recalculating the Hessian
# This is useful e.g. for recalculating the thermodynamic variables at different
# conditions.
job: frequencies
# Instead of a calculation, read the Hessain from a file
hessian_read: hessian.yaml
# Set different temperature for the thermodynamic analysis
thermo_temperature: 500 # K
# Geometry: the same is in Example 1
geometry: |
O -0.000000000 0.000000000 -0.058641239
H -0.000000000 0.797196184 0.542383939
H -0.000000000 -0.797196184 0.542383939
#===============================================================================
# Frequencies protocol example 3 normal mode scan
#===============================================================================
# This input performs a scan along one normal mode
# This is sone in two steps - generation of the coordinates and energy scan
job: multistep
steps: generate, scan
calculation_generate:
# Reuse the hessian from Example 1
job: frequencies
hessian_read: hessian.yaml
geometry: |
O -0.000000000 0.000000000 -0.058641239
H -0.000000000 0.797196184 0.542383939
H -0.000000000 -0.797196184 0.542383939
# Scan setup
freq_mode_scan: yes
# List of modes to scan - mode no. 1, the asymetric stretch
freq_mode_scan_multidimensional:
- 1
# Grid for the scan (in dimensionless normal coordinates)
freq_mode_scan_grids:
- "seq(-5, 0.5, 5)" # Generate grid from -5 to 5 with step of 0.5
# This produces file multidimensional_scan.xyz
calculation_scan:
# Perform a series of energy calculations on the geometries prepared
# in previous step
job: scan
geometry: multidimensional_scan.xyz
calculation:
job: energy
interface: turbomole
method: dft
functional: b-lyp
basisset: SV
charge: 0
density_fitting: none