Understanding weights of SpaceGroupAnalyzer.get_ir_reciprocal_mesh()
#4002
Replies: 1 comment
-
I do not believe I understand. Would you mind expanding or including the expected mesh/weights? Your first scenario produces a weight array of 1s with a length of Nk^3. The second scenario produces a weight array with weights varying in their integer values with a length significantly shorter than Nk^3. The irreducible k-mesh finds the high symmetry points in the wigner-seitz reciprocal space cell of the InP structure. These points are then multiplied by their multiplicity within the whole WS cell (i.e how many times they can be reproduced by symmetry operations). Therefore, we can evaluate the eigenvalues/vectors associated with a k-point only once and then scale its value wrt to the weight. Your first scenario is an explicit mesh and treats each point equivalently, which is why it seems that the weights are (and should be) 1 |
Beta Was this translation helpful? Give feedback.
-
I am using pymatgen to generate the k points of the irreducible brillouin zone in order to speed up some calculations for optical absorption for a zincblende crystal (InP) using a custom code (based on 6x6 band kp hamiltonian) and when sweeping through the k points I have tried the following two scenarios:
Scenario 1
I sample the dense k grid:
Scenario 2
I use pymatgen to generate the IBZ:
Problem
The first one yields results close to the published ones, whereas the second is about one order of magnitude away, or by a factor of 8-ish. I assumed the weights returned by pymatgen refer to the whole of the brillouin zone, so that scenario 1 and scenario 2 would be identical. What am I missing?
Beta Was this translation helpful? Give feedback.
All reactions