symmetry of phonon modes
symmetry of phonon modes
Hi all,
After reporting the eigendisplacements of phonon modes in the output of anaddb, there is an "Analysis of degeneracies and characters", where is listed the symmetry characters of each vibration mode in the form of a list of numbers as in the example below:
Analysis of degeneracies and characters (maximum tolerance=1.00E06 a.u.)
Symmetry characters of vibration mode # 1
degenerate with vibration modes # 2 to 3
3.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.0 0.0 0.0 0.0 1.0 1.0 1.0 1.0
0.0 0.0 0.0 0.0 1.0 1.0 1.0 1.0
I couldn't find any information about what this list of numbers correspond to. I imagine these are the characters of the symmetry operations of the symmetry point group but how to know which symmetry operation ? Furthermore, is the program able to determine the irreducible representations corresponding to the phonon modes ?
Thanks,
Frederic
After reporting the eigendisplacements of phonon modes in the output of anaddb, there is an "Analysis of degeneracies and characters", where is listed the symmetry characters of each vibration mode in the form of a list of numbers as in the example below:
Analysis of degeneracies and characters (maximum tolerance=1.00E06 a.u.)
Symmetry characters of vibration mode # 1
degenerate with vibration modes # 2 to 3
3.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.0 0.0 0.0 0.0 1.0 1.0 1.0 1.0
0.0 0.0 0.0 0.0 1.0 1.0 1.0 1.0
I couldn't find any information about what this list of numbers correspond to. I imagine these are the characters of the symmetry operations of the symmetry point group but how to know which symmetry operation ? Furthermore, is the program able to determine the irreducible representations corresponding to the phonon modes ?
Thanks,
Frederic

 Posts: 271
 Joined: Sat Jan 16, 2010 12:05 pm
 Location: Dept. of Physics, University J. J. Strossmayer, Osijek, Croatia
 Contact:
Re: symmetry of phonon modes
Hi!
There was a lecture on this by G.M. Rignanese in Lausanne this May. I have the pdf, but I cannot attach it. Maybe you could download it from cecam website if you have an account (if not, create one if it's possible). If you do, go to files section of the "Linear and nonlinear responses of solids with the ABINIT software : phonons, electric fields, and other perturbations", April 26, 2010 to April 30, 2010, Location : CECAMHQEPFL, Lausanne, Switzerland Tutorial and you'll find it there.
I hope this will help.
Cheers!
Igor
There was a lecture on this by G.M. Rignanese in Lausanne this May. I have the pdf, but I cannot attach it. Maybe you could download it from cecam website if you have an account (if not, create one if it's possible). If you do, go to files section of the "Linear and nonlinear responses of solids with the ABINIT software : phonons, electric fields, and other perturbations", April 26, 2010 to April 30, 2010, Location : CECAMHQEPFL, Lausanne, Switzerland Tutorial and you'll find it there.
I hope this will help.
Cheers!
Igor
Re: symmetry of phonon modes
Thanks Igor, I could get the file.
I understand from this tutorial that the list of character numbers are given in the same order as the list of symmetry operations given in the log file.
I wonder why the symmetry operations are only given in the log file, in my opinion this is important enough information to figure in the out file...
Just a suggestion !
Frederic
I understand from this tutorial that the list of character numbers are given in the same order as the list of symmetry operations given in the log file.
I wonder why the symmetry operations are only given in the log file, in my opinion this is important enough information to figure in the out file...
Just a suggestion !
Frederic

 Posts: 75
 Joined: Thu Dec 02, 2010 10:36 pm
Re: symmetry of phonon modes
I understand from this tutorial that the list of character numbers are given in the same order as the list of symmetry operations given in the log file.
I wonder why the symmetry operations are only given in the log file, in my opinion this is important enough information to figure in the out file...
The symmetry operations not even printed in log since abinit 7.6 version (and maybe earlier). While list of symmetry operations are generated in 6.8 version. Is there some additional variable I should put in input file or is there other way how to find which symmetry operation is devoted to selected symmetry character from whole Symmetry character list.
Re: symmetry of phonon modes
The symmetry operations not even printed in log since abinit 7.6 version
Sorry to bump this old thread, but the similar situation still persists in version 7.10.2. Has anyone know how to distinguish the symmetry characters in anaddb output with those in bilbao yet?
It is possible to guess some some obvious modes but it is not practical in general.
I also noticed that the symmetry character output is intended for the phonon computed without considering nonanalyticity only.
This had been voiced out by Yaraslav in this forum before (see this thread http://forum.abinit.org/viewtopic.php?f=10&t=2739 ).
Can someone please clarify?
Re: symmetry of phonon modes
Hello,
the symmetry operations are in the same order as in the main abinit output, and in the DDB file. I agree it is easier to have them on hand, and will add their printing to the anaddb log file for abinit v8 (to be released in a few months or so).
There are a number of tools that analyze the irreps (e.g. in the WURM database), but it is easy to do with the bilbao web apps. The irreps are usually associated with a mode at Gamma, irrespective of the direction you choose to look at the LO TO splitting in.
Best
the symmetry operations are in the same order as in the main abinit output, and in the DDB file. I agree it is easier to have them on hand, and will add their printing to the anaddb log file for abinit v8 (to be released in a few months or so).
There are a number of tools that analyze the irreps (e.g. in the WURM database), but it is easy to do with the bilbao web apps. The irreps are usually associated with a mode at Gamma, irrespective of the direction you choose to look at the LO TO splitting in.
Best
Matthieu Verstraete
University of Liege, Belgium
University of Liege, Belgium
Re: symmetry of phonon modes
Thanks for the information, now I can assign the operation according the symrel variable.
I notice there is a mismatch of order of irreps mode when LO TO splitting is accounted for. This is due to the phonon frequencies are printed in ascending order of magnitude instead of the irrep modes.
For clarity I provide some examples below.
Without LO TO splitting:
and the irreps is as follow:
In this case it can be seen clearly that vibrational modes 46 are acoustic modes.
However by considering nonanalyticity, the phonon frequencies become:
The acoustic modes in this case become vibrational modes 35.
The phonon frequencies and the eigendisplacements are not ordered according to the irreps , making the assignment of symmetry modes difficult.
Another issue is that the anaddb utility is unable to correctly assign the symmetry of acoustic modes if acoustic sum rule is imposed.
For example in my calculation the acoustic modes are supposed to be a doubly degenerate state E and a single state A1, with minute differences in frequencies without acoustic sum rule but the code is able to give the correct symmetry modes.
But when acoustic sum rule is imposed so that the 3 acoustic modes are strictly zero, the code reports that the acoustic modes are triply degenerate.
I will be grateful for any clarification.
The irreps are usually associated with a mode at Gamma, irrespective of the direction you choose to look at the LO TO splitting in.
I notice there is a mismatch of order of irreps mode when LO TO splitting is accounted for. This is due to the phonon frequencies are printed in ascending order of magnitude instead of the irrep modes.
For clarity I provide some examples below.
Without LO TO splitting:
Code: Select all
Phonon wavevector (reduced coordinates) : 0.00000 0.00000 0.00000
Phonon energies in Hartree :
1.116640E03 1.116640E03 1.116640E03 0.000000E+00 0.000000E+00
0.000000E+00 7.561680E04 7.561680E04 7.561680E04 1.268015E03
1.268015E03 1.268015E03 2.050070E03 2.050070E03 2.050070E03
Phonon frequencies in cm1 :
 2.450741E+02 2.450741E+02 2.450741E+02 0.000000E+00 0.000000E+00
 0.000000E+00 1.659597E+02 1.659597E+02 1.659597E+02 2.782972E+02
 2.782972E+02 2.782972E+02 4.499383E+02 4.499383E+02 4.499383E+02
and the irreps is as follow:
Code: Select all
Analysis of degeneracies and characters (maximum tolerance=1.00E06 a.u.)
Symmetry characters of vibration mode # 1
degenerate with vibration modes # 2 to 3
3.0 3.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
Symmetry characters of vibration mode # 4
degenerate with vibration modes # 5 to 6
3.0 3.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
Symmetry characters of vibration mode # 7
degenerate with vibration modes # 8 to 9
3.0 3.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
Symmetry characters of vibration mode # 10
degenerate with vibration modes # 11 to 12
3.0 3.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
Symmetry characters of vibration mode # 13
degenerate with vibration modes # 14 to 15
3.0 3.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
In this case it can be seen clearly that vibrational modes 46 are acoustic modes.
However by considering nonanalyticity, the phonon frequencies become:
Code: Select all
Phonon at Gamma, with nonanalyticity in the
direction (cartesian coordinates) 1.00000 0.00000 0.00000
Phonon energies in Hartree :
1.116640E03 1.116640E03 0.000000E+00 0.000000E+00 0.000000E+00
7.154374E04 7.561680E04 7.561680E04 1.268015E03 1.268015E03
1.268015E03 2.008212E03 2.050070E03 2.050070E03 2.866569E03
Phonon frequencies in cm1 :
 2.450741E+02 2.450741E+02 0.000000E+00 0.000000E+00 0.000000E+00
 1.570204E+02 1.659597E+02 1.659597E+02 2.782972E+02 2.782972E+02
 2.782972E+02 4.407516E+02 4.499383E+02 4.499383E+02 6.291393E+02
The acoustic modes in this case become vibrational modes 35.
The phonon frequencies and the eigendisplacements are not ordered according to the irreps , making the assignment of symmetry modes difficult.
Another issue is that the anaddb utility is unable to correctly assign the symmetry of acoustic modes if acoustic sum rule is imposed.
For example in my calculation the acoustic modes are supposed to be a doubly degenerate state E and a single state A1, with minute differences in frequencies without acoustic sum rule but the code is able to give the correct symmetry modes.
But when acoustic sum rule is imposed so that the 3 acoustic modes are strictly zero, the code reports that the acoustic modes are triply degenerate.
I will be grateful for any clarification.
Re: symmetry of phonon modes
How are you using symrel to get the irrep of your modes?
I have this output after running anaddb:
Analysis of degeneracies and characters (maximum tolerance=1.00E06 a.u.)
Symmetry characters of vibration mode # 1
degenerate with vibration modes # 2 to 3
3.0 1.0
Symmetry characters of vibration mode # 4
1.0 1.0
Symmetry characters of vibration mode # 5
1.0 1.0
and so on....
Others in this thread have mentioned using the order of the symmetry relations are listed in a particular order in the output file, but I can't find them.
So my question is how to go from the numbers printed below each mode (3.0 1.0 for example) to a irrep character like A2 or B1.
Cheers
I have this output after running anaddb:
Analysis of degeneracies and characters (maximum tolerance=1.00E06 a.u.)
Symmetry characters of vibration mode # 1
degenerate with vibration modes # 2 to 3
3.0 1.0
Symmetry characters of vibration mode # 4
1.0 1.0
Symmetry characters of vibration mode # 5
1.0 1.0
and so on....
Others in this thread have mentioned using the order of the symmetry relations are listed in a particular order in the output file, but I can't find them.
So my question is how to go from the numbers printed below each mode (3.0 1.0 for example) to a irrep character like A2 or B1.
Cheers
Re: symmetry of phonon modes
Dear jerkov,
The matrix of each symmetry operations can be found in the output file after the flag symrel, which is given in the order used to print the character of phonon modes.
To link these calculated characters and the crystallographic ones can be made by comparing the characters given by anaddb for each symmetry (+1, 1, etc) to the ones tabulated in crystallo tables (for example in Bilbao web site: https://www.cryst.ehu.es/rep/point.html). However, to do so, you have to order the symmetry list given by Abinit with the ones of the crystallo tables (if you have a mx, my and mz in crystallo tables, you have to be sure you follow the order when comparing with anaddb output, I mean you have to compare mx in tables with mx from Abinit).
A more indirect technique could be through mode condensation (using freeze_displ flag https://docs.abinit.org/variables/anaddb/#alphon) and symmetry adapted mode analysis from Bilbao (AMPLIMODE module) or ISOTROPY (ISODISTORT module), but this takes some extra steps that I can detail if interested.
Best wishes,
Eric
The matrix of each symmetry operations can be found in the output file after the flag symrel, which is given in the order used to print the character of phonon modes.
To link these calculated characters and the crystallographic ones can be made by comparing the characters given by anaddb for each symmetry (+1, 1, etc) to the ones tabulated in crystallo tables (for example in Bilbao web site: https://www.cryst.ehu.es/rep/point.html). However, to do so, you have to order the symmetry list given by Abinit with the ones of the crystallo tables (if you have a mx, my and mz in crystallo tables, you have to be sure you follow the order when comparing with anaddb output, I mean you have to compare mx in tables with mx from Abinit).
A more indirect technique could be through mode condensation (using freeze_displ flag https://docs.abinit.org/variables/anaddb/#alphon) and symmetry adapted mode analysis from Bilbao (AMPLIMODE module) or ISOTROPY (ISODISTORT module), but this takes some extra steps that I can detail if interested.
Best wishes,
Eric
Last edited by ebousquet on Sun Mar 08, 2020 10:12 pm, edited 1 time in total.
Re: symmetry of phonon modes
Thanks, Eric  that helps a lot!
Re: symmetry of phonon modes
Hi Eric,
So I finally got around to trying to match the irred. reps. based on the advice you gave.
For example, for my R3m crystal (so C_3v point group), I get this symrel output when I run the main Abinit to get the phonons:
And when I run anaddb to analyze the phonon modes, I get
And I'm using the Bilbao table for this: https://www.cryst.ehu.es/cgibin/rep/pr ... 156&num=19
A few things: where is the identity matrix in the symrel's? There should be six elements in the the symmetry group, which there are, but none are identity. I expect there to E, 2 C_3's (120 degree rotations), and 3 sigma_v's (vertical planes). So am I to figure out which matrices correspond to the symmetry elements? Like which ones are rotations/reflections? Because none of them look like 120 degree rotations, either.
And then, why are some of the characters fractions? The values in character tables shouldn't be fractions, correct?
Cheers
So I finally got around to trying to match the irred. reps. based on the advice you gave.
For example, for my R3m crystal (so C_3v point group), I get this symrel output when I run the main Abinit to get the phonons:
Code: Select all
symrel 1 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 0 1
0 0 1 1 0 0 0 1 0 1 0 0 0 0 1 0 1 0
0 1 0 0 0 1 1 0 0 0 0 1 0 1 0 1 0 0
And when I run anaddb to analyze the phonon modes, I get
Code: Select all
Analysis of degeneracies and characters (maximum tolerance=2.00E05 a.u.)
Symmetry characters of vibration mode # 1
degenerate with vibration modes # 2 to 3
3.0 1.0 0.0 1.0 0.0 1.0
Symmetry characters of vibration mode # 4
1.0 0.5 0.5 1.0 0.5 0.5
Symmetry characters of vibration mode # 5
1.0 0.5 0.5 1.0 0.5 0.5
Symmetry characters of vibration mode # 6
1.0 1.0 1.0 1.0 1.0 1.0
Symmetry characters of vibration mode # 7
1.0 0.5 0.5 1.0 0.5 0.5
Symmetry characters of vibration mode # 8
1.0 0.5 0.5 1.0 0.5 0.5
Symmetry characters of vibration mode # 9
1.0 1.0 1.0 1.0 1.0 1.0
Symmetry characters of vibration mode # 10
1.0 1.0 1.0 1.0 1.0 1.0
Symmetry characters of vibration mode # 11
1.0 0.3 0.5 1.0 0.5 0.7
Symmetry characters of vibration mode # 12
1.0 0.3 0.5 1.0 0.5 0.7
Symmetry characters of vibration mode # 13
1.0 0.2 0.5 0.9 0.5 0.8
Symmetry characters of vibration mode # 14
1.0 0.2 0.5 0.9 0.5 0.8
Symmetry characters of vibration mode # 15
1.0 1.0 1.0 1.0 1.0 1.0
A few things: where is the identity matrix in the symrel's? There should be six elements in the the symmetry group, which there are, but none are identity. I expect there to E, 2 C_3's (120 degree rotations), and 3 sigma_v's (vertical planes). So am I to figure out which matrices correspond to the symmetry elements? Like which ones are rotations/reflections? Because none of them look like 120 degree rotations, either.
And then, why are some of the characters fractions? The values in character tables shouldn't be fractions, correct?
Cheers
Re: symmetry of phonon modes
Hi Jerkov,
For the symmetry matrices, they should be read line by line, this means that the identity is the first one coming in your case:
symrel 1 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 0 1
The 1st one is then
1 0 0
0 1 0
0 0 1
The second one is:
0 1 0
1 0 0
0 0 1
and so on for the next ones.
I have to check for the fractional values in the printed characters, they probably come from a conversion of Cartesian vs Rhombohedral axes (or hexagonal) and so with the rprim tensor of Abinit.
Best wishes,
Eric
For the symmetry matrices, they should be read line by line, this means that the identity is the first one coming in your case:
symrel 1 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 0 1
The 1st one is then
1 0 0
0 1 0
0 0 1
The second one is:
0 1 0
1 0 0
0 0 1
and so on for the next ones.
I have to check for the fractional values in the printed characters, they probably come from a conversion of Cartesian vs Rhombohedral axes (or hexagonal) and so with the rprim tensor of Abinit.
Best wishes,
Eric
Re: symmetry of phonon modes
Hi Jerkov,
Good news : with ABINITv9.0.2, just announced today, the type of symmetry operations is given in the ANADDB log file
(not in the main output). See an example of this at the end of this reply. This will help you a lot !
Concerning the fractional values of characters, you are perfectly right that only integer number should appear.
I hypothesize that the modes that show fractional numbers are actually degenerate. The characters of degenerate pairs should be summed. However, ABINIT considers modes to be degenerate when their energy difference is less than
2.00E05 a.u. in your case, as shown by the following line :
Analysis of degeneracies and characters (maximum tolerance=2.00E05 a.u.)
So, why are the energy difference larger than the tolerance ? I am not sure, perhaps the starting atomic positions are not accurate enough, and a large tolsym was used to find the symmetries ?
Anyhow, simply examine these modes, see whether you consider that they are degenerate, and sum their characters, then use the standard character tables to identify their irrep.
Best wishes,
X.
======================================================
symlatt: the Bravais lattice is hP (primitive hexagonal)
symlatt: the Bravais lattice is hP (primitive hexagonal)
symspgr: spgroup= 154 P3_2 2 1 (=D3^6)
symspgr: optical characteristics = uniaxial
Optical axis (in reduced coordinates, real space ) : 0 0 1
symanal : the symmetry operation no. 1 is the identity
symanal : the symmetry operation no. 2 is a 3_1 or 3_2axis
symanal : the symmetry operation no. 3 is a 3_1 or 3_2axis
symanal : the symmetry operation no. 4 is a secondary 2axis
symanal : the symmetry operation no. 5 is a secondary 2axis
symanal : the symmetry operation no. 6 is a secondary 2axis
Analysis of degeneracies and characters (maximum tolerance=1.00E06 a.u.)
For each vibration mode, or group of modes if degenerate,
the characters are given for each symmetry operation (see the list in the log file).
Symmetry characters of vibration mode # 1
degenerate with vibration modes # 2 to 3
3.0 0.0 0.0 1.0 1.0 1.0
Symmetry characters of vibration mode # 4
Good news : with ABINITv9.0.2, just announced today, the type of symmetry operations is given in the ANADDB log file
(not in the main output). See an example of this at the end of this reply. This will help you a lot !
Concerning the fractional values of characters, you are perfectly right that only integer number should appear.
I hypothesize that the modes that show fractional numbers are actually degenerate. The characters of degenerate pairs should be summed. However, ABINIT considers modes to be degenerate when their energy difference is less than
2.00E05 a.u. in your case, as shown by the following line :
Analysis of degeneracies and characters (maximum tolerance=2.00E05 a.u.)
So, why are the energy difference larger than the tolerance ? I am not sure, perhaps the starting atomic positions are not accurate enough, and a large tolsym was used to find the symmetries ?
Anyhow, simply examine these modes, see whether you consider that they are degenerate, and sum their characters, then use the standard character tables to identify their irrep.
Best wishes,
X.
======================================================
symlatt: the Bravais lattice is hP (primitive hexagonal)
symlatt: the Bravais lattice is hP (primitive hexagonal)
symspgr: spgroup= 154 P3_2 2 1 (=D3^6)
symspgr: optical characteristics = uniaxial
Optical axis (in reduced coordinates, real space ) : 0 0 1
symanal : the symmetry operation no. 1 is the identity
symanal : the symmetry operation no. 2 is a 3_1 or 3_2axis
symanal : the symmetry operation no. 3 is a 3_1 or 3_2axis
symanal : the symmetry operation no. 4 is a secondary 2axis
symanal : the symmetry operation no. 5 is a secondary 2axis
symanal : the symmetry operation no. 6 is a secondary 2axis
Analysis of degeneracies and characters (maximum tolerance=1.00E06 a.u.)
For each vibration mode, or group of modes if degenerate,
the characters are given for each symmetry operation (see the list in the log file).
Symmetry characters of vibration mode # 1
degenerate with vibration modes # 2 to 3
3.0 0.0 0.0 1.0 1.0 1.0
Symmetry characters of vibration mode # 4
Re: symmetry of phonon modes
Wow, I'm honored that X. Gonze would respond himself, and excited the new version of Abinit includes that update! Both your and Eric's responses clarify how to interpret the modes, and I successfully did for this example (reproducing the expected irreducible representation for 3m). In the source code, it does say:
!When all the characters are integers, consider that the
!mode is nondegenerate. The maximum difference in frequency
!that is tolerated is on the order of 4cm1 (which is large...)
The modes with fractional values are indeed degenerate as I expect them to be (same frequencies, but different eigendisplacements), but now I now I know to sum them. Thank you both for your help, I really appreciate it!
Best,
J
!When all the characters are integers, consider that the
!mode is nondegenerate. The maximum difference in frequency
!that is tolerated is on the order of 4cm1 (which is large...)
The modes with fractional values are indeed degenerate as I expect them to be (same frequencies, but different eigendisplacements), but now I now I know to sum them. Thank you both for your help, I really appreciate it!
Best,
J
Re: symmetry of phonon modes
Hi all,
My work flow for dealing with phonon symmetries is below. I hope it can help some people.
1) Perform your Abinit DFPT phonon calculation and calculate the band structure with anaddb, using a version with NetCDF.
2) Load the *PHBST.nc and anaddb.nc into Abipy (all the Abipy functionality you will need is here https://abinit.github.io/abipy/api/dfpt_api.html)
3) Write the eigendisplacement of the mode in question to a cif file using Abipy. (the from_phbands class method is useful, see link above.)
4) Use Harold Stokes' code, ISODISTORT (https://stokes.byu.edu/iso/isodistort.php), loading in your structure that you did the DFPT calculation as the 'parent', then, select mode decompositional analysis and upload the cif file from step (3).
5) Follow the on screen instructions. You will then be presented with the mode irrep and other important symmetry information.
I know this is rather involved, but, it works very well. I hope this helps somebody.
Best,
Jack
My work flow for dealing with phonon symmetries is below. I hope it can help some people.
1) Perform your Abinit DFPT phonon calculation and calculate the band structure with anaddb, using a version with NetCDF.
2) Load the *PHBST.nc and anaddb.nc into Abipy (all the Abipy functionality you will need is here https://abinit.github.io/abipy/api/dfpt_api.html)
3) Write the eigendisplacement of the mode in question to a cif file using Abipy. (the from_phbands class method is useful, see link above.)
4) Use Harold Stokes' code, ISODISTORT (https://stokes.byu.edu/iso/isodistort.php), loading in your structure that you did the DFPT calculation as the 'parent', then, select mode decompositional analysis and upload the cif file from step (3).
5) Follow the on screen instructions. You will then be presented with the mode irrep and other important symmetry information.
I know this is rather involved, but, it works very well. I hope this helps somebody.
Best,
Jack
Re: symmetry of phonon modes
Dear Jack,
I can also interface this piece of code with the abiview.py script so that one can simply use
to compute the phonon displacements with anaddb, build the supercell with the displaced atoms
and finally generate a directory with the CIF files:
I didn't have time to test the implementation but, in principle, most of the work is already done.
There are however some questions I would like to ask you as this is the first time I use ISODISTORT.
1) Do we need cif files with the correct space group and symmetries? (by default, the pymatgen CIF writer sets the spacegroup to P1. Besides pymatgen calls spglib to convert the input cell to conventional)
2) Are the results sensitive to the number of significant figures for the atomic positions and to the maximum displacement used when building the distorted structure? I've seen that sometimes ISODISTORT reports multiple possible irreps for a given displacement, perhaps due to numerical noise in the CIF files.
Thanks,
Matteo
Many thanks for sharing your expertise with ISODISTORT.My work flow for dealing with phonon symmetries is below. I hope it can help some people.
I think we can automate a bit this process with AbiPy. I already have a prototype that takes a PhononBands object, a (commensurate) qpoint and writes all the CIF files for the parent structure and the distorted structures for all the modes so that the user can easily upload the files to the ISODISTORT website.1) Perform your Abinit DFPT phonon calculation and calculate the band structure with anaddb, using a version with NetCDF.
2) Load the *PHBST.nc and anaddb.nc into Abipy (all the Abipy functionality you will need is here https://abinit.github.io/abipy/api/dfpt_api.html)
3) Write the eigendisplacement of the mode in question to a cif file using Abipy. (the from_phbands class method is useful, see link above.)
I can also interface this piece of code with the abiview.py script so that one can simply use
Code: Select all
abiview.py ddb_isodistort_ph out_DDB [qpt 0,0.0]
and finally generate a directory with the CIF files:
Code: Select all
$ ls Zn2_Se2_qpt+0.000,_+0.000,_+0.000_Gamma/
README.md distorted_structure_mode_2.cif distorted_structure_mode_7.cif
distorted_structure_mode_1.cif distorted_structure_mode_3.cif distorted_structure_mode_8.cif
distorted_structure_mode_10.cif distorted_structure_mode_4.cif distorted_structure_mode_9.cif
distorted_structure_mode_11.cif distorted_structure_mode_5.cif parent_structure.cif
distorted_structure_mode_12.cif distorted_structure_mode_6.cif
There are however some questions I would like to ask you as this is the first time I use ISODISTORT.
1) Do we need cif files with the correct space group and symmetries? (by default, the pymatgen CIF writer sets the spacegroup to P1. Besides pymatgen calls spglib to convert the input cell to conventional)
2) Are the results sensitive to the number of significant figures for the atomic positions and to the maximum displacement used when building the distorted structure? I've seen that sometimes ISODISTORT reports multiple possible irreps for a given displacement, perhaps due to numerical noise in the CIF files.
Thanks,
Matteo
Re: symmetry of phonon modes
Hi Eric,
I don't mean to be pedantic, but looking closer at the symmetry relations and then the symmetry characters my run produced, I think the order the matrices are read is different from what you wrote.
If symrel prints:
I believe the first one is the identity matrix, then it's the row below [001;100;010], then [010;001;100], then [010;100;001] and so on.
Can you confirm?
Cheers,
J
I don't mean to be pedantic, but looking closer at the symmetry relations and then the symmetry characters my run produced, I think the order the matrices are read is different from what you wrote.
If symrel prints:
Code: Select all
symrel 1 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 0 1
0 0 1 1 0 0 0 1 0 1 0 0 0 0 1 0 1 0
0 1 0 0 0 1 1 0 0 0 0 1 0 1 0 1 0 0
Can you confirm?
Cheers,
J
ebousquet wrote: ↑Mon Mar 30, 2020 9:17 amHi Jerkov,
For the symmetry matrices, they should be read line by line, this means that the identity is the first one coming in your case:
symrel 1 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 0 1
The 1st one is then
1 0 0
0 1 0
0 0 1
The second one is:
0 1 0
1 0 0
0 0 1
and so on for the next ones.
I have to check for the fractional values in the printed characters, they probably come from a conversion of Cartesian vs Rhombohedral axes (or hexagonal) and so with the rprim tensor of Abinit.
Best wishes,
Eric
Re: symmetry of phonon modes
I would rather say (if I just copy and paste from the symrel):jerkov wrote: ↑Thu Oct 29, 2020 5:54 pmHi Eric,
I don't mean to be pedantic, but looking closer at the symmetry relations and then the symmetry characters my run produced, I think the order the matrices are read is different from what you wrote.
If symrel prints:I believe the first one is the identity matrix, then it's the row below [001;100;010], then [010;001;100], then [010;100;001] and so on.Code: Select all
symrel 1 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 0 1 0 0 1 1 0 0 0 1 0 1 0 0 0 0 1 0 1 0 0 1 0 0 0 1 1 0 0 0 0 1 0 1 0 1 0 0
1) 1 0 0 0 1 0 0 0 1 >[100;010;001] (identity),
2) 0 1 0 1 0 0 0 0 1 > [010;100;001],
3) 0 0 1 1 0 0 0 1 0 > [001;100;010],
etc.
Eric