Grid or Path
- class wannierberri.grid.grid.GridAbstract(system, use_symmetry, FFT=(1, 1, 1))[source]
Bases:
ABC- property points_FFT
- class wannierberri.Grid(system, length=None, NKdiv=None, NKFFT=None, NK=None, length_FFT=None, use_symmetry=True)[source]
Bases:
GridAbstractA class containing information about the k-grid.
- Parameters:
system (
System) – which the calculations will be madelength (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.grid.GridTetra(system, length, NKFFT=None, length_FFT=None, IBZ_tetra=None, weights=None, refine_by_volume=True, refine_by_size=True, length_size=None)[source]
Bases:
GridAbstractA class containing information about the k-grid.konsisting of tetrahedra
- Parameters:
system (
System) – which the calculations will be madelength (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
NKFFT (int) – number of k-points in the FFT grid along each directions
IBZ_tetra (list) – list of tetrahedra describing the irreducible wedge of the Brillouin zone. By default, the stace is just divided into 5 tetrahedra
Notes
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
either lewngth_FFT of NKFFT should be provided
- class wannierberri.grid.GridTrigonal(system, length, **kwargs)[source]
Bases:
GridTetragood choice for Tellurium
- class wannierberri.grid.GridTrigonalH(system, length, x=0.5, NKFFT=1, **kwargs)[source]
Bases:
GridTetragood choice for Tellurium conduction/valence band, only a small part near the H-point is considered, always use NKFFT=1
- class wannierberri.Path(system, k_list=None, nodes=None, length=None, dk=None, nk=None, labels=None, breaks=[], r1=None, r2=None, ntheta=None, nphi=None, origin=None)[source]
Bases:
GridAbstractA class containing information about the k-path
- Parameters:
system (
System) – which the calculations will be madelength (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
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 coordinatesif 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 labeledif nodes is set - it is a list of labels, one for every noder1 (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 (nodes + (length or nk or dk))