Hello,
I am trying to get Phonons dispersion of my system [LaFeO3 (Perovskite)]. Based on the information on this forum, DYNMAT can give me information about phonon.
However, I just want to be confirmed that DYNMAT can do that.
Also, I want to know what is the difference between IBRION=5 in VASP code and DYNMAT?
Thank you for your help in advance.
Chan-Woo
Simple question on DYNMAT
Moderator: moderators
Re: Simple question on DYNMAT
Yes, the dynmat code can be used to calculate vibrational spectra. This functionality has now been implemented in vasp with the IBRION=5 tag, so you do not have to rely on this code any more.
The only advantages that I know of with our (older) implementation is that you can calculate the finite difference displacements in separate calculations and combine them into a single dynamical matrix. This is useful for large systems or for when you are checking for convergence and want to systematically increase the size of you matrix. We also have a couple of scripts which can help select the appropriate displacements, particularly for harmonic transition state theory prefactors.
The only advantages that I know of with our (older) implementation is that you can calculate the finite difference displacements in separate calculations and combine them into a single dynamical matrix. This is useful for large systems or for when you are checking for convergence and want to systematically increase the size of you matrix. We also have a couple of scripts which can help select the appropriate displacements, particularly for harmonic transition state theory prefactors.
Re: Simple question on DYNMAT
Plus this implementation uses forward difference while IBRION = 5 uses centered (or higher). So it will require half as many steps to build up the Hessian matrix.
Re: Simple question on DYNMAT
I got additional question:
Based on the answers here, I used IBRION=5 and got dynamic matrix as follows:
49 f = 4.185251 THz 26.296710 2PiTHz 139.604956 cm-1 17.308815 meV
X Y Z dx dy dz
3.077752 1.971981 5.505232 0.493714 0.000264 0.054341
5.414283 5.915942 2.727125 0.493459 0.000274 -0.053818
2.583605 5.915942 0.050983 -0.493608 0.000009 -0.053931
0.247073 1.971981 2.829090 -0.494077 -0.000897 0.053946
0.000000 0.000000 0.000000 0.000000 -0.000206 -0.000895
0.000000 3.943961 0.000000 0.000616 -0.000207 0.000560
2.830678 0.000000 2.778107 -0.000405 0.000115 -0.000869
2.830678 3.943961 2.778107 0.000166 0.000175 0.000442
4.480415 0.341963 3.944346 -0.001484 0.035409 0.013577
4.011620 7.545960 1.166239 -0.000398 0.035436 -0.012718
1.180942 4.285924 1.611868 0.000357 0.035204 -0.012201
1.649737 3.601999 4.389975 0.002012 0.035965 0.014571
1.180942 7.545960 1.611868 0.001559 -0.035533 -0.014244
1.649737 0.341963 4.389975 0.000266 -0.034953 0.012125
4.480415 3.601999 3.944346 0.000019 -0.035093 0.012566
4.011620 4.285924 1.166239 -0.001293 -0.035426 -0.013782
5.541275 1.971981 0.452535 0.020028 -0.000032 0.008506
2.950760 5.915942 3.230643 0.019963 -0.000059 -0.008577
0.120081 5.915942 5.103679 -0.019875 0.000036 -0.008471
2.710597 1.971981 2.325572 -0.019945 0.000399 0.008493
I tried to use vtst scripts like dymmatrix.pl and it's not working.
If scripts are not working with IBRION=5, is there any way to get benefits from vtst scripts? For instance, generate DISPLACECAR manually from OUTCAR of IBRION=5.
Sincerely,
Chan-Woo
Based on the answers here, I used IBRION=5 and got dynamic matrix as follows:
49 f = 4.185251 THz 26.296710 2PiTHz 139.604956 cm-1 17.308815 meV
X Y Z dx dy dz
3.077752 1.971981 5.505232 0.493714 0.000264 0.054341
5.414283 5.915942 2.727125 0.493459 0.000274 -0.053818
2.583605 5.915942 0.050983 -0.493608 0.000009 -0.053931
0.247073 1.971981 2.829090 -0.494077 -0.000897 0.053946
0.000000 0.000000 0.000000 0.000000 -0.000206 -0.000895
0.000000 3.943961 0.000000 0.000616 -0.000207 0.000560
2.830678 0.000000 2.778107 -0.000405 0.000115 -0.000869
2.830678 3.943961 2.778107 0.000166 0.000175 0.000442
4.480415 0.341963 3.944346 -0.001484 0.035409 0.013577
4.011620 7.545960 1.166239 -0.000398 0.035436 -0.012718
1.180942 4.285924 1.611868 0.000357 0.035204 -0.012201
1.649737 3.601999 4.389975 0.002012 0.035965 0.014571
1.180942 7.545960 1.611868 0.001559 -0.035533 -0.014244
1.649737 0.341963 4.389975 0.000266 -0.034953 0.012125
4.480415 3.601999 3.944346 0.000019 -0.035093 0.012566
4.011620 4.285924 1.166239 -0.001293 -0.035426 -0.013782
5.541275 1.971981 0.452535 0.020028 -0.000032 0.008506
2.950760 5.915942 3.230643 0.019963 -0.000059 -0.008577
0.120081 5.915942 5.103679 -0.019875 0.000036 -0.008471
2.710597 1.971981 2.325572 -0.019945 0.000399 0.008493
I tried to use vtst scripts like dymmatrix.pl and it's not working.
If scripts are not working with IBRION=5, is there any way to get benefits from vtst scripts? For instance, generate DISPLACECAR manually from OUTCAR of IBRION=5.
Sincerely,
Chan-Woo
Re: Simple question on DYNMAT
Our scripts are unrelated to the IBRION=5 implementation of the dynamical matrix in vasp.
Information about using our (older) dynamical matrix code is here:
http://theory.cm.utexas.edu/vtsttools/dynmat/
Information about using our (older) dynamical matrix code is here:
http://theory.cm.utexas.edu/vtsttools/dynmat/
Re: Simple question on DYNMAT
I am trying to use DYNMAT rather than IBRION=5 in VASP code.
What I am trying to do is as follows:
Calculate vibrational frequencies of oxide bulk, oxide surface, and adsorbate on the oxide surface.
I've read documents about DYNMAT and related codes and got following questions:
1) I understand that I need to generate DISPLACECAR and it is explained that there will be 3*N lists of displacements where N is the number of atoms. For example, I have 20 atoms to consider, do I need to generate 60 DISPLACECAR files in 60 different directories?
2) For adsorbate on the oxide surface, what will be the efficient way to calculate frequencies? dymseldsp.pl is preferred?
3) Can we calculate Phonon DOS from the dynamical matrix code? or the code is only for vibrational frequency?
Thank you for your help in advance.
Chan-Woo
What I am trying to do is as follows:
Calculate vibrational frequencies of oxide bulk, oxide surface, and adsorbate on the oxide surface.
I've read documents about DYNMAT and related codes and got following questions:
1) I understand that I need to generate DISPLACECAR and it is explained that there will be 3*N lists of displacements where N is the number of atoms. For example, I have 20 atoms to consider, do I need to generate 60 DISPLACECAR files in 60 different directories?
2) For adsorbate on the oxide surface, what will be the efficient way to calculate frequencies? dymseldsp.pl is preferred?
3) Can we calculate Phonon DOS from the dynamical matrix code? or the code is only for vibrational frequency?
Thank you for your help in advance.
Chan-Woo
Re: Simple question on DYNMAT
Hi Chan-Woo,
1) Our documentation can be a little confusing. The standard way of running the dynmat code is to specify NSW=(3N+1) in the INCAR file for a single job to calculate the frequencies. The forces will be in the OUTCAR file and can be read with our scripts for calculating frequencies. It is possible to run these force evaluations in parallel. If you do this, sets of forces will be in different directories corresponding to each parallel image. But this is an advanced mode -- start with a simple single-image calculation.
2) Yes, selecting a sphere around an adsorbate is a good strategy.
3) We do not have any code to calculate phonons with wavelengths larger than the cell, only vibrational frequencies.
1) Our documentation can be a little confusing. The standard way of running the dynmat code is to specify NSW=(3N+1) in the INCAR file for a single job to calculate the frequencies. The forces will be in the OUTCAR file and can be read with our scripts for calculating frequencies. It is possible to run these force evaluations in parallel. If you do this, sets of forces will be in different directories corresponding to each parallel image. But this is an advanced mode -- start with a simple single-image calculation.
2) Yes, selecting a sphere around an adsorbate is a good strategy.
3) We do not have any code to calculate phonons with wavelengths larger than the cell, only vibrational frequencies.