Creating a 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.
- system (
-
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 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 node
- r1,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,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))
- system (