number of k-points in A direction
Type: integer
Default:
1
number of k-points in B direction
Type: integer
Default:
1
number of k-points in C direction
Type: integer
Default:
1
list of symmetries to apply for reducing the k-points
Type: list of (3x3) matrices
Default:
depends on value of force_timereversal
Whatever to enforce timereversal symmetry
Type: boolean
Default:
True
A MonkhorstPackGrid object provides the following methods:
allKpoints():
allKpointsWeights(): Query method for the all the weights.
foldoutMapVector(): Query method for the foldout map vector
kpoints(): Query method for the irreducible kpoints
kpointsWeights(): Query method for the irreducible weights
Define a 2x5x3 Monkhorst-Pack k-points grid. Calculate the irreducible k-points using time reversal symmetry and mirror symmetry in the A direction. Print out the relation between the full k-points set and the irreducible set.
# Make a MonkhorstPackGrid with mirror symmetry in A direction and time reversal symmetry
symmetries = [( numpy.array([[-1,0,0], [0,1,0], [0,0,1]]), numpy.zeros(3))]
mpg = MonkhorstPackGrid(2, 5, 3, symmetries=symmetries)
# Get the kpoints
irreducible_kpoints = mpg.kpoints()
irreducible_weights = mpg.kpointsWeights()
all_kpoints = mpg.allKpoints()
# Print out the irreducible kpoints
print len(irreducible_kpoints), ' irreducible kpoints'
for kp, w in zip(irreducible_kpoints, irreducible_weights):
print kp, w*len(all_kpoints)
# Get the map from the full kpoints to the irreducible part
fold_out_map = mpg.foldoutMapVector()
# Print out the relation between the full and irreducible set
print len(all_kpoints), ' kpoints'
for i, kp in enumerate(all_kpoints):
print kp, ' -> ', irreducible_kpoints[fold_out_map[i]]
Make a uniform k-points grid according to procedure of Monkhorst and Pack[30]
where k are in units of
.
Odd k-points grids include the
point, while
even k-points grids avoid the
point.
Due to time reversal symmetry of the Schrödinger equation it is always possible to use inversion symmetry to reduce the number of k-points which must be used.