# Open SourceMolecular Dynamics

### Site Tools

exercises:2017_ethz_mmm:infra_red

# Differences

This shows you the differences between two versions of the page.

 — exercises:2017_ethz_mmm:infra_red [2017/02/22 10:01] (current) Line 1: Line 1: + ====== Infrared spectroscopy with molecular dynamics ====== + 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 [[doi>​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//​. + + + You should run these calculations on 16 processors with ''​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. + ​ + + ===== 1. Task: Computing vibrational spectra for methanol and benzene ===== + <​code>​ + $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. + + <​code>​ + &​VIBRATIONAL_ANALYSIS + ​INTENSITIES + ​NPROC_REP 16 + DX 0.001 + &​PRINT + &​PROGRAM_RUN_INFO ON + &​END + &​END + &END + ​ + + ​The ** .mol ** file for c6h6 is already there since the job is quite long. However, if you plan to run it (maybe after the methanol case) remember to add the option to ask for more wallclock time ** -W HH:MM ** to bsub. + ​ + + + NPROC_REP has to be the same number of processors as in the bsub!! Edit the input!! + ​ + + <​code>​ +$ 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: + <​code>​ + &​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**. ​ + + ​ + * $module load courses mmm + *$ mmm-init ​ + * $molden C6H6-VIBRATIONS.mol + * Use the "​normal mode" check in the graphical interface. The spectrum appears. + - Compare the one of methanol with experiments (see paper) and the one of benzene with literature on the internet. + - Which kind of modes will correspond to stretching of CH and CC bonds? + - Try to animate some frequencies,​ and report the kind of mode corresponding to all peaks. + ​ + ===== Additional Files ===== + Download the following file into your project directory: + * {{dftb_params.tgz|}} + + You can unpack it with the following command: + <​code>​ +$ tar -xvzf dftb_params.tgz + ​ + + ===== 2. Task: Computing vibrational spectra using DFTB molecular dynamics ===== + + 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). + +  ​ - Check the result. Is it satisfactory with respect to the DFT static calculation and literature? Why? + - Run 40000 more steps. Check the new results. Discuss what you obtained. Discuss the behavior of the autocorrelation in the time domain. +