BZMeshes

This module defines meshes with information of Brillouin zone stored.

BrillouinZoneMeshes.BZMeshes.UniformBZMeshMethod
function UniformBZMesh(; br::Cell, origin, size, shift)

customized constructor for UniformBZMesh. The parameters origin and shift is provided to customize the mesh as Gamma-centered or M-P mesh.

Parameters:

  • cell: Cell info
  • origin: a number indicating shift of origin. the actuall origin becomes origin*(b1+b2+b3) default value origin=-1/2 takes (0,0,0) to center of 1st BZ, origin=0 makes mesh[1,1,1]=(0,0,0)+shift
  • size: size of the mesh
  • shift: additional k-shift for mesh points. actuall shift is shift*(b1/N1+b2/N2+b3/N3) for even N, shift=1/2 avoids high symmetry points while preserve symmetry.
source
BrillouinZoneMeshes.MeshMaps.MeshMapMethod
function MeshMaps.MeshMap(mesh::UniformBZMesh{T,DIM}, is_time_reversal::Bool=true, tol_symmetry=PointSymmetry.SYMMETRY_TOLERANCE)

create a MeshMap for the given UniformBZMesh based on the symmetry of the Brillouin zone.

source
BrillouinZoneMeshes.BZMeshes.DFTK_Monkhorst_PackMethod
function DFTK_Monkhorst_Pack(; cell, size, shift, kshift)

customized constructor for UniformBZMesh. Reproduce the M-P mesh from DFTK convention.

Parameters:

  • cell: Cell info
  • size: size of the mesh
  • shift: 3D Bool Vector indicating if k-points are shifted by 1/2 in cartesian coordinates in DFTK convention
source
BrillouinZoneMeshes.BZMeshes.Monkhorst_PackMethod
function Monkhorst_Pack(; cell, size, shift, kshift)

customized constructor for UniformBZMesh. Reproduce the M-P mesh from VASP convention.

Monkhorst-Pack: origin=-1/2, consistent with VASP to be consistent with DFTK:

  • N is even, VASP is the same as DFTK: shift=0 will include Gamma point, shift=1/2 will not
  • N is odd, VASP is different as DFTK: shift=0 will not include Gamma point, shift=1/2 will

Parameters:

  • cell: Cell info
  • size: size of the mesh
  • shift: 3D Bool Vector indicating if k-points are shifted by 1/2 in cartesian coordinates in DFTK convention
source