Calculating dynamical matrix using VTST 3.0c(d): a problem

Vasp transition state theory tools

Moderator: moderators

Post Reply
MNPopov
Posts: 4
Joined: Wed Jul 03, 2013 2:31 pm

Calculating dynamical matrix using VTST 3.0c(d): a problem

Post by MNPopov »

Dear Developers,

I would like to report a problem I faced with, trying to calculate frequencies using the VTST code v3.0c and v3.0d linked to VASP v5.3.3.

I tried to compare frequencies calculated using finite displacement method as implemented in:
1) the VASP code (IBRION=5, NFREE=1), and
2) the VTST code.

To this end, I used a small test system -- NaCl-type TiN (conventional cell, 8 atoms). I let all atoms to be displaced, leading to 3*8 DOF.
All computational parameters, as well as the displacement magnitude (0.015) are kept consistent.

Outcome:
1) On the one hand, frequencies obtained by VASP look OK (though, not converged wrt BZ sampling, cut-offs, magnitude of displacement);
2) VTST, on the other hand, produced all frequencies equal to zero... I checked the geometries for each displacement written in OUTCAR --
they are all fine, i.e., they are identical to those from the VASP run. However, the total energies (E0) are different, except for the first SCF.
On top of that, the forces on the atoms are zero after each displacement (that's why frequencies are zero as well).

Possible explanations I came up with are (in order of decreasing probability):
1) Something is wrong in my INCAR (all other files are identical)
I checked it once again, and made sure that recommended parameters are there:
POTIM = 0.0
NSW = 25
IBRION = 3
ICHAIN = 1

2) Another possibility could be that there is something wrong with my compillation of vasp + vtst,
though, it seems to me that I followed all steps described on the web-page of the code (http://theory.cm.utexas.edu/vtsttools/code/) precisely.
If required, I can post the makefile.

3) There could be something out of the scope of my knowledge;

4) And the last one -- it might be a bug in the code.

I attach to this post 2 archives with all files from the VASP run ([attachment=1]vasp_calc_conv_cell.tar.bz2[/attachment]), and from the VTST one ([attachment=0]vtst_calc_conv_cell.tar.bz2[/attachment]).

I would be grateful for any suggestions/explanations.

Best wishes,
Maxim.
Attachments
vtst_calc_conv_cell.tar.bz2
VTST input and output
(265.11 KiB) Downloaded 828 times
vasp_calc_conv_cell.tar.bz2
VASP input and output
(283.72 KiB) Downloaded 816 times
graeme
Site Admin
Posts: 2260
Joined: Tue Apr 26, 2005 4:25 am
Contact:

Re: Calculating dynamical matrix using VTST 3.0c(d): a probl

Post by graeme »

You need to set ISYM=0. With your current setting (ISYM=2) vasp has symmeterized your calculation so that all of the forces are precisely zero.
MNPopov
Posts: 4
Joined: Wed Jul 03, 2013 2:31 pm

Re: Calculating dynamical matrix using VTST 3.0c(d): a probl

Post by MNPopov »

Dear Graeme,

Thank you for reply! I tried ISYM=0, and it didn't entirely work -- the calculation stopped after 4 ionic steps, reporting that required accuracy was reached. I found a solution to this problem by searching the forum -- one has to put a very small value (say, 1.0e-16) of EDIFFG in the INCAR.
To sum up, I had to specify two more tags in my INCAR to be able to calculate forces right (using VTST):
ISYM =0 and
EDIFFG = 1.0e-16.
I'm wondering why these parameters are not in the paragraph 4 of "Setting up a dynamical matrix calculation" on http://theory.cm.utexas.edu/vtsttools/dynmat?

Yet another thing:
As I wrote in my initial post, zero forces was not the only problem with my VTST run -- I found that the total energies (E0) obtained by VASP and VTST were unreasonably different. So, I made an additional test: running VTST (with EDIFFG = 1.0e-16) and VASP using ISYM = 2 and ISYM = 0. Here is the graph showing E0 as a function of ionic step ([attachment=0]E0_comparison.png[/attachment]). As we can see, the curve for VTST(ISYM=0) and both curves for VASP are indistinguishable from each other. However, the curve for VTST(ISYM=2) differs significantly starting from the second ionic step, i.e., after the first displacement is applied. The geometries are consistent in all cases during each step.
I can understand that forces can be symmetrized to zero, but why total energies are so much different?

Best wishes,
Maxim.
Attachments
E0 comparison
E0 comparison
E0_comparison.png (42.95 KiB) Viewed 13230 times
graeme
Site Admin
Posts: 2260
Joined: Tue Apr 26, 2005 4:25 am
Contact:

Re: Calculating dynamical matrix using VTST 3.0c(d): a probl

Post by graeme »

Good points; I've added the ISYM and EDIFFG settings to the dynmat setup webpage.

I don't know what's going on with the energy change. You might check in the OUTCAR file to see if symmetry was detected in that run. The complication for these tests is that ISYM=2 does not enforce symmetry; it just automatically checks for it to some precision. If your initial structure has broken symmetry, then symmetry constraints will not be applied. If vasp detects symmetry and the vtst code moves the atoms breaking symmetry, I'm not sure what happens -- this may be related to what you are seeing.
MNPopov
Posts: 4
Joined: Wed Jul 03, 2013 2:31 pm

Re: Calculating dynamical matrix using VTST 3.0c(d): a probl

Post by MNPopov »

Dear Graeme,

Sorry for a late reply! Here is what I get from OUTCARs using "grep 'configuration has the point symmetry' OUTCAR":
1) VASP(ISYM=2):
The static configuration has the point symmetry O_h .
The dynamic configuration has the point symmetry O_h .
The static configuration has the point symmetry C_4v.
The dynamic configuration has the point symmetry C_4v.
The static configuration has the point symmetry C_4v.
The dynamic configuration has the point symmetry C_4v.
The static configuration has the point symmetry C_4v.
The dynamic configuration has the point symmetry C_4v.
The static configuration has the point symmetry C_4v.
The dynamic configuration has the point symmetry C_4v.
The static configuration has the point symmetry C_2v.
The dynamic configuration has the point symmetry C_2v.
The static configuration has the point symmetry C_2v.
The dynamic configuration has the point symmetry C_2v.
The static configuration has the point symmetry C_2v.
The dynamic configuration has the point symmetry C_2v.
The static configuration has the point symmetry C_4v.
The dynamic configuration has the point symmetry C_4v.
The static configuration has the point symmetry C_2v.
The dynamic configuration has the point symmetry C_2v.
The static configuration has the point symmetry C_2v.
The dynamic configuration has the point symmetry C_2v.
The static configuration has the point symmetry C_2v.
The dynamic configuration has the point symmetry C_2v.
The static configuration has the point symmetry C_4v.
The dynamic configuration has the point symmetry C_4v.
The static configuration has the point symmetry C_4v.
The dynamic configuration has the point symmetry C_4v.
The static configuration has the point symmetry C_4v.
The dynamic configuration has the point symmetry C_4v.
The static configuration has the point symmetry C_4v.
The dynamic configuration has the point symmetry C_4v.
The static configuration has the point symmetry C_4v.
The dynamic configuration has the point symmetry C_4v.
The static configuration has the point symmetry C_2v.
The dynamic configuration has the point symmetry C_2v.
The static configuration has the point symmetry C_2v.
The dynamic configuration has the point symmetry C_2v.
The static configuration has the point symmetry C_2v.
The dynamic configuration has the point symmetry C_2v.
The static configuration has the point symmetry C_4v.
The dynamic configuration has the point symmetry C_4v.
The static configuration has the point symmetry C_2v.
The dynamic configuration has the point symmetry C_2v.
The static configuration has the point symmetry C_2v.
The dynamic configuration has the point symmetry C_2v.
The static configuration has the point symmetry C_2v.
The dynamic configuration has the point symmetry C_2v.
The static configuration has the point symmetry C_4v.
The dynamic configuration has the point symmetry C_4v.
The static configuration has the point symmetry O_h .
The dynamic configuration has the point symmetry O_h .

2) VTST (ISYM=2):
The static configuration has the point symmetry O_h .
The dynamic configuration has the point symmetry O_h .

So, it means that the flow in VTST is organized so that the symmetry is not re-checked after making displacement (that's why ISYM=0 is obligatory).
This feature explains the difference in E0, as you suggested.

Thank you for the answers, and thanks to the developers for the code!

Best regards,
Maxim.
Post Reply