Skip to main content

Vibrational frequency calculation: concept simplified?


Vibrational frequency calculation holds a key that can decide whether the obtained optimized structure is a minimum or a transition state or some thing else. I always wanted a simplistic adaptation with minimal understandable and required information that in a matter of minutes can help a new person understand the concept as easily as possible.

which makes it really easy for anybody. So, what we least need to know when you submit a frequency calculation.

In frequency calculation also called force calculation, we are solving a hessian matrix. What is a Hessian matrix?
The Hessian matrix is the matrix of second derivatives of the energy with respect to geometry.

What is the trouble in frequency calculation?

Although first derivatives are relatively easy to calculate, second derivatives are not. To overcome this problem, the double derivative is evaluated in terms of first derivatives. Here, initially for a given geometry, corresponding first derivative is evaluated. Then, the geometry is subjected to a finite displacement. After the SCF calculation for this displaced geometry, once again first derivatives are evaluated. The second derivatives are then calculated as a difference of the first derivatives for these two geometries divided by the step size. The unidirectional displacement based second derivative calculation is called single-sided derivative.

Owing to the sensitivity of the hessian towards geometry, they are calculated at stationary points only and using double-sided derivatives i.e. double derivatives calculated considering displacement in either direction w.r.t. initial geometry

The elements of the Hessian are defined as:
\begin{displaymath}H_{i,j} = \frac{\delta^2E}{\delta x_i\delta x_j}\end{displaymath}

Thus employing double sided derivative for the evaluation of each element is then done in two steps.

Each atomic coordinate xi is initially first incremented by a small amount and the gradient is calculated. Then the coordinate is decremented w.r.t. to the original position and again the gradient corresponding to this displacement is calculated. The second derivative is then obtained from the difference of the two derivatives and the step size.
\begin{displaymath}H_{i,j} = \frac{(\frac{\delta E}{\delta x_i})_{_{+0.5\Delta x......rac{\delta E}{\delta x_i})_{_{-0.5\Delta x_j}}}{\Delta x_j}.\end{displaymath}
This is done for all 3N Cartesian coordinates.

In order to calculate the vibrational frequencies, the Hessian matrix is first mass-weighted:
\begin{displaymath}H^m_{i,j} = \frac{H_{i,j}}{\sqrt{M_i*M_j}}.\end{displaymath}

Diagonalization of this matrix yields the force constants of the system.
Diagonalization of this matrix yields eigenvalues, e, (force constants ) which represent the quantities (k/m)1/2 , from which the vibrational frequencies can be calculated:
\begin{displaymath}\bar{\nu}_i = \frac{1}{2\pi c}\sqrt{\epsilon_i}.\end{displaymath}

P.S: I have used some part of the text from the webpage as it is because there was no better and simplified way to explain it.

Comments

Popular posts from this blog

AutoDock Vina protocol: For Molecular Docking

There are many softwares available for carrying out molecular docking calculations. Many of these softwares are paid, while some of them are free. AutoDock is one such freely available software. Earlier, there was AutoDock 4.0 version available. One of the problem with the software was the space it would occupy, if you attempt to do multi docking. Recently, there is another algorithm made available under autodock. It is called AutoDock Vina. This is more efficient, robust and fast algorithm. There are many tutorials available to learn AutoDock Vina including: http://autodock.scripps.edu/faqs-help/tutorial/using-autodock-4-with-autodocktools/2012_ADTtut.pdf and also a video tutorial http://vina.scripps.edu/tutorial.html    But for some reason, few changes or explanation in little detail is always required to make it understandable for a beginner to follow.  Here is a protocol designed in our group, which our Master's student follow to get acquainted to Molecular Docking s

Material Studio - selective molecule movement

So, working with Material Studio is awesome. You get to handle bigger, complicated and even unimaginable system. But I am facing problems in very minute functioning. I recently faced two problems, but managed to resolve on my own. Somehow, tutorials doesn't help in resolving them and you end up doing some exercise on your own to get the solution. Among these, the problem of bringing two molecular structures in one window and then adjusting one molecule by moving it around, while other structure remains untouched, as it is. Actually, this should not be a problem to do. There is a simple way of doing this. Select the molecule to be moved and then there is a symbol (button) to select, which allows you to selectively move that molecule only. This is the same way it can be done in Material studio too.  But among all the dozens of symbols, the new person handling MS, kind of gets lost. So, what he does is check the tutorials, for any help. But the tutorials don't talk about suc

xleap to generate prmtop and inpcrd files

Now that we have the lib file with the information for all the molecules we need to include and also the corresponding combined pdb file, creating prmtop and inpcrd files should not be a difficult task. So, to begin with we have a lib file name: molecule.lib a pdb file for 4 molecules name: four.pdb The  task is to generate a prmtop and inpcrd file. Initiate xleap using: $AMBERHOME/exe/xleap -s -f $AMBERHOME/dat/leap/cmd/leaprc.ff99 In xleap window > source leaprc.gaff # load the lib file by: > loadoff molecule.lib I am not sure but some times it helps to also load the frcmod files we created for the four molecules the information of which is stored in the lib file. > loadamberparams aldehyde.frcmod # Load the pdb file: > P=loadpdb four.pdb You should see some thing like this in the xleap window now: ------------------- > P=loadpdb four.pdb Loading PDB file: ./four.pdb Warning: name change in pdb file residue 1 ;  this residue is split i