Grid or Path

class wannierberri.Grid(system, length=None, NKdiv=None, NKFFT=None, NK=None, length_FFT=None, use_symmetry=True)[source]

A class containing information about the k-grid.

Parameters:
  • system (System) – which the calculations will be made

  • length (float) – (angstroms) – in this case the grid is NK[i]=length*||B[i]||/2pi B- reciprocal lattice

  • length_FFT (float) – (angstroms) – in this case the FFT grid is NKFFT[i]=length_FFT*||B[i]||/2pi B- reciprocal lattice

  • NK (int or list or numpy.array(3)) – number of k-points along each directions

  • NKFFT (int) – number of k-points in the FFT grid along each directions

  • NKdiv (int) – number of k-points in the division (K-) grid along each directions

  • use_symmetry (bool) – use symmetries of the system to exclude equivalent points

Notes

NK, NKdiv, NKFFT may be given as size-3 integer arrays or lists. Also may be just numbers – in that case the number of kppoints is the same in all directions

the following conbinations of (NK,NKFFT,NKdiv,length) parameters may be used:

  • length (preferred)

  • NK

  • NK, NKFFT

  • length, NKFFT

  • NKdiv, NKFFT

The others will be evaluated automatically.

class wannierberri.Path(system, k_list=None, k_nodes=None, length=None, dk=None, nk=None, labels=None, breaks=[], r1=None, r2=None, ntheta=None, nphi=None, origin=None)[source]

A class containing information about the k-path

Parameters:
  • system (System) – which the calculations will be made

  • length (float) – (angstroms) – in this case the grid is NK[i]=length*||B[i]||/2pi B- reciprocal lattice

  • dk (float) – (inverse angstroms) – in this case the grid is NK[i]=length*||B[i]||/2pi B- reciprocal lattice

  • k_nodes (list) – cordinates of the nodes in the the reduced coordinates. Some entries may be None - which means that the segment should be skipped | No labels or nk’s should be assigned to None nodes

  • nk (int or list or numpy.array(3)) – number of k-points along each directions

  • k_list (list or str) –

    if k_list is a list - Coordinatres of all k-points in the reduced coordinates
    if k_list = ‘sphere’ - Automatically generate k-points on a sphere (request r1 origin ntheta nphi)
    if k_list = ‘spheroid’ - Automatically generate k-points on a spheroid (request r1 r2 origin ntheta nphi)

  • labels (list of dict) –

    if k_list is set - it is a dict {i:lab} with i - index of k-point, lab - corresponding label (not all kpoints need to be labeled
    if k_nodes is set - it is a list of labels, one for every node

  • r1 (float) – radius. sphere: x^2+y^2+z^2 = r1^2 spheroid: (x^2+y^2)/r1^2+z^2/r2^2 = 1

  • r2 (float) – radius. sphere: x^2+y^2+z^2 = r1^2 spheroid: (x^2+y^2)/r1^2+z^2/r2^2 = 1

  • origin (array) – origin of sphere or spheroid in k-space

  • nphi (int) – number of k-points along each angle in polar coordinates

  • ntheta (int) – number of k-points along each angle in polar coordinates

Notes

user needs to specify either k_list or (k_nodes + (length or nk or dk))