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 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.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 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
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 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 k_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 (k_nodes + (length or nk or dk))