In this exercise, we will compare the vibrational spectrum of two molecules (methanol and benzene) computed with a static method (diagonalization of the dynamical matrix) and with molecular dynamics. The spectra for methanol are available in this paper 10.1039/c3cp44302g. As in the last lectures, to make this exercise computationally feasible, we will use for MD the efficient Density Functional based Tight Binding (DFTB) method. It requires only a minimal basis but delivers nevertheless reasonable results due to an empirical correction term called repulsion potential.
bsub -n 16
, particularly the vibrational spectrum.
Download, as usual, the commented files from the wiki exercise-10.1.tar.gz.
Please use command tar xvf exercise-10.1.tar.gz to extract files.
$ bsub -n 2 mpirun cp2k.popt -i mdmet.inp -o mdmet.out
To compute the vibrational spectra, we first need to find a minimum energy structure for the systems. The files optc6h6.xyz and optmet.xyz, present in exercise-10.1.tar.gz, contain minimum energy structures. Geometry optc6h6.xyz will be the input for the vibc6h6.inp and optmet.xyz will be the input for the vibmet.inp. The following important section (present in the input files) computes the vibrational spectra.
&VIBRATIONAL_ANALYSIS INTENSITIES NPROC_REP 16 DX 0.001 &PRINT &PROGRAM_RUN_INFO ON &END &END &END
$ bsub -n 16 mpirun cp2k.popt -i vibmet.inp -o vibmet.out
For the intensities, the derivative of the dipole along the normal modes is necessary (see lecture). So the moments are computed in the standard non-periodic fashion:
&DFT BASIS_SET_FILE_NAME ./BASIS_MOLOPT POTENTIAL_FILE_NAME ./GTH_POTENTIALS &PRINT &MOMENTS PERIODIC FALSE &END &END
This code will generate frequencies and intensities of the IR spectrum in the files C6H6-VIBRATIONS.mol and MET-VIBRATIONS.mol . This file can be read by the visualization program molden.
Download the following file into your project directory:
You can unpack it with the following command:
$ tar -xvzf dftb_params.tgz
You will find a fortran program in the repository, called dipole_correlation.f90 Compile it (module load gcc; gfortran -o dipole.x dipole_correlation.f90 ). This program computes the correlation function of the (derivative of) the dipole moment and performs the Fourier transform.
Run cp2k with the md*.inp input files (for the two molecules). Note that the dipole moment and derivatives are extracted from simulation and saved in a file dip*traj (check the input). Run first 5000 steps, then edit the file dipole.in and run dipole.x < dipole.in . This will generate the autocorrelation function of the dipole derivative (why?) and its Fourier transform (frequency domain).