Kmesh input documentation

Construct k-mesh of specified size and offset.

Used to initialize class qimpy.lattice.Kmesh.

YAML template:

offset: (0.0, 0.0, 0.0)  # Offset of k-point mesh in k-mesh coordinates.
size: (1, 1, 1)          # Number of k per dimension, or minimum supercell size.
use-inversion: yes       # Whether to use inversion in k-space to reduce k-points.

Parameters:

offset

Type: list of float, or <class ‘numpy.ndarray’>, Default: (0.0, 0.0, 0.0)

Offset of k-point mesh in k-mesh coordinates. (That is, by offset / size in fractional reciprocal coordinates.) For example, use [0.5, 0.5, 0.5] for the Monkhorst-Pack scheme. Default: [0., 0., 0.] selects Gamma-centered mesh.

size

Type: float or list of int, or <class ‘numpy.ndarray’>, Default: (1, 1, 1)

Number of k per dimension, or minimum supercell size. If given as a list of 3 integers, number of k-points along each reciprocal lattice direction. Instead, a single float specifies the minimum real-space size of the k-point sampled supercell i.e. pick number of k-points along dimension i = ceil(size / L_i), where L_i is the length of lattice vector i (in bohrs). Default: [1, 1, 1] selects a single k-point = offset.

use-inversion

Type: bool, Default: yes

Whether to use inversion in k-space to reduce k-points. This corresponds to complex conjugation in real space, and only matters for systems without inversion symmetry in real space. Default: yes; should only need to disable this when interfacing with codes that do not support this symmetry eg. BerkeleyGW.