phonopy-get-comm-pts
is a command-line script to print out the commensurate wavevectors (q-points) for a given supercell expansion specified with the --dim
option and --pa
/--primitive_axis
tag if using.
The commensurate q-points are those for which the phonon frequencies can be evaluated exactly.
As an example we will use the rocksalt (NaCl) structure bundled with the Phonopy examples:
$ cat POSCAR-NaCl.vasp
Na Cl
1.00000000000000
5.6903014761756712 0.0000000000000000 0.0000000000000000
0.0000000000000000 5.6903014761756712 0.0000000000000000
0.0000000000000000 0.0000000000000000 5.6903014761756712
Na Cl
4 4
Direct
0.0000000000000000 0.0000000000000000 0.0000000000000000
0.0000000000000000 0.5000000000000000 0.5000000000000000
0.5000000000000000 0.0000000000000000 0.5000000000000000
0.5000000000000000 0.5000000000000000 0.0000000000000000
0.5000000000000000 0.5000000000000000 0.5000000000000000
0.5000000000000000 0.0000000000000000 0.0000000000000000
0.0000000000000000 0.5000000000000000 0.0000000000000000
0.0000000000000000 0.0000000000000000 0.5000000000000000
To list the q-points commensurate with a 3 × 3 × 3 expansion of the conventional cell (216 atoms), phonopy-get-comm-pts
can be used as follows:
$ phonopy-get-comm-pts -c POSCAR-NaCl.vasp --dim="3 3 3"
Strucure: POSCAR-NaCl.vasp
Supercell Matrix
----------------
[ 3.000 0.000 0.000 ]
[ 0.000 3.000 0.000 ]
[ 0.000 0.000 3.000 ]
Commensurate Points
-------------------
1 : 0.000 0.000 0.000
2 : 0.333 0.000 0.000
3 : 0.667 0.000 0.000
4 : 0.000 0.333 0.000
5 : 0.333 0.333 0.000
6 : 0.667 0.333 0.000
7 : 0.000 0.667 0.000
8 : 0.333 0.667 0.000
9 : 0.667 0.667 0.000
10 : 0.000 0.000 0.333
11 : 0.333 0.000 0.333
12 : 0.667 0.000 0.333
13 : 0.000 0.333 0.333
14 : 0.333 0.333 0.333
15 : 0.667 0.333 0.333
16 : 0.000 0.667 0.333
17 : 0.333 0.667 0.333
18 : 0.667 0.667 0.333
19 : 0.000 0.000 0.667
20 : 0.333 0.000 0.667
21 : 0.667 0.000 0.667
22 : 0.000 0.333 0.667
23 : 0.333 0.333 0.667
24 : 0.667 0.333 0.667
25 : 0.000 0.667 0.667
26 : 0.333 0.667 0.667
27 : 0.667 0.667 0.667
There are 27 commensurate q-points associated with the 3 × 3 × 3 supercell expansion.
These wavevectors are with respect to the Brillouin zone of the conventional cell. To list the commensurate q-points for the primitive cell, the transformation matrix can be specified as in Phonopy:
$ phonopy-get-comm-pts -c POSCAR-NaCl.vasp --dim="3 3 3" --pa="0 1/2 1/2 1/2 0 1/2 1/2 1/2 0"
Strucure: POSCAR-NaCl.vasp
Primitive Matrix
----------------
[ 0.000 0.500 0.500 ]
[ 0.500 0.000 0.500 ]
[ 0.500 0.500 0.000 ]
Supercell Matrix
----------------
[ 3.000 0.000 0.000 ]
[ 0.000 3.000 0.000 ]
[ 0.000 0.000 3.000 ]
Commensurate Points
-------------------
1 : 0.000 0.000 0.000
2 : 0.000 0.167 0.167
3 : 0.000 0.333 0.333
4 : 0.000 0.500 0.500
5 : 0.000 0.667 0.667
6 : 0.000 0.833 0.833
7 : 0.167 0.000 0.167
8 : 0.167 0.167 0.333
9 : 0.167 0.333 0.500
10 : 0.167 0.500 0.667
11 : 0.167 0.667 0.833
12 : 0.167 0.833 0.000
13 : 0.333 0.000 0.333
14 : 0.333 0.167 0.500
15 : 0.333 0.333 0.667
16 : 0.333 0.500 0.833
17 : 0.333 0.667 0.000
18 : 0.333 0.833 0.167
19 : 0.500 0.000 0.500
20 : 0.500 0.167 0.667
21 : 0.500 0.333 0.833
22 : 0.500 0.500 0.000
23 : 0.500 0.667 0.167
24 : 0.500 0.833 0.333
25 : 0.667 0.000 0.667
26 : 0.667 0.167 0.833
27 : 0.667 0.333 0.000
28 : 0.667 0.500 0.167
29 : 0.667 0.667 0.333
30 : 0.667 0.833 0.500
31 : 0.833 0.000 0.833
32 : 0.833 0.167 0.000
33 : 0.833 0.333 0.167
34 : 0.833 0.500 0.333
35 : 0.833 0.667 0.500
36 : 0.833 0.833 0.667
37 : 0.167 0.167 0.000
38 : 0.167 0.333 0.167
39 : 0.167 0.500 0.333
40 : 0.167 0.667 0.500
41 : 0.167 0.833 0.667
42 : 0.167 0.000 0.833
43 : 0.333 0.167 0.167
44 : 0.333 0.333 0.333
45 : 0.333 0.500 0.500
46 : 0.333 0.667 0.667
47 : 0.333 0.833 0.833
48 : 0.333 0.000 0.000
49 : 0.500 0.167 0.333
50 : 0.500 0.333 0.500
51 : 0.500 0.500 0.667
52 : 0.500 0.667 0.833
53 : 0.500 0.833 0.000
54 : 0.500 0.000 0.167
55 : 0.667 0.167 0.500
56 : 0.667 0.333 0.667
57 : 0.667 0.500 0.833
58 : 0.667 0.667 0.000
59 : 0.667 0.833 0.167
60 : 0.667 0.000 0.333
61 : 0.833 0.167 0.667
62 : 0.833 0.333 0.833
63 : 0.833 0.500 0.000
64 : 0.833 0.667 0.167
65 : 0.833 0.833 0.333
66 : 0.833 0.000 0.500
67 : 0.000 0.167 0.833
68 : 0.000 0.333 0.000
69 : 0.000 0.500 0.167
70 : 0.000 0.667 0.333
71 : 0.000 0.833 0.500
72 : 0.000 0.000 0.667
73 : 0.333 0.333 0.000
74 : 0.333 0.500 0.167
75 : 0.333 0.667 0.333
76 : 0.333 0.833 0.500
77 : 0.333 0.000 0.667
78 : 0.333 0.167 0.833
79 : 0.500 0.333 0.167
80 : 0.500 0.500 0.333
81 : 0.500 0.667 0.500
82 : 0.500 0.833 0.667
83 : 0.500 0.000 0.833
84 : 0.500 0.167 0.000
85 : 0.667 0.333 0.333
86 : 0.667 0.500 0.500
87 : 0.667 0.667 0.667
88 : 0.667 0.833 0.833
89 : 0.667 0.000 0.000
90 : 0.667 0.167 0.167
91 : 0.833 0.333 0.500
92 : 0.833 0.500 0.667
93 : 0.833 0.667 0.833
94 : 0.833 0.833 0.000
95 : 0.833 0.000 0.167
96 : 0.833 0.167 0.333
97 : 0.000 0.333 0.667
98 : 0.000 0.500 0.833
99 : 0.000 0.667 0.000
100 : 0.000 0.833 0.167
101 : 0.000 0.000 0.333
102 : 0.000 0.167 0.500
103 : 0.167 0.333 0.833
104 : 0.167 0.500 0.000
105 : 0.167 0.667 0.167
106 : 0.167 0.833 0.333
107 : 0.167 0.000 0.500
108 : 0.167 0.167 0.667
Note that phonopy-get-comm-pts
accepts fractional values as in Phonopy.
The NaCl conventional cell is 4 × the volume of the primitive cell, so the 3 × 3 × 3 expansion of the conventional cell is commensurate with 27 × 4 = 108 wavevectors in the Brillouin zone of the primitive cell.