BERRY_CURVATURE¶
introduction¶
Berry curvature is of fundamental importance for understanding some basic properties of solid materials and is essential for the description of the dynamics of Bloch electrons.
The Berry curvature of a single energy band is defined as follows:
where Berry phase \(\mathbf{A}_{n}(\mathbf{k}) = i \langle u_{n\mathbf{k}}|\nabla_{\mathbf{k}}|u_{n\mathbf{k}}\rangle\), \(|u_{n\mathbf{}k}\rangle\) is the periodic part of the Bloch wave function.
We calculated the Berry curvature:
where \(f_n\) is the Fermi occupation function.
Detailed descriptions can be found in Calculation of Berry curvature using non-orthogonal atomic orbitals.
example¶
An example (refer to folder example/Fe
) of calculating the Berry curvature of the fcc-Fe is given here.
The Input
file is:
INPUT_PARAMETERS
{
nspin 4
package ABACUS
fermi_energy 18.18839115931923
fermi_energy_unit eV
HR_route data-HR-sparse_SPIN0.csr
SR_route data-SR-sparse_SPIN0.csr
rR_route data-rR-sparse.csr
HR_unit Ry
rR_unit Bohr
}
LATTICE
{
lattice_constant 5.4235
lattice_constant_unit Bohr
lattice_vector
0.5 0.5 0.5
-0.5 0.5 0.5
-0.5 -0.5 0.5
}
BERRY_CURVATURE
{
method 0
kpoint_mode line
kpoint_num 10
high_symmetry_kpoint
0.0 0.0 0.0 100 # G
0.5 -0.5 -0.5 100 # H
0.75 0.25 -0.25 100 # P
0.5 0.0 -0.5 100 # N
0.0 0.0 0.0 100 # G
0.5 0.5 0.5 100 # H
0.5 0.0 0.0 100 # N
0.0 0.0 0.0 100 # G
0.75 0.25 -0.25 100 # P
0.5 0.0 0.0 1 # N
}
method
: Method for calculating Berry curvature. 0
means direct calculation, 1
means calculation by Kubo formula.
occ_band
: The number of occupied energy bands of an insulator. When this value is not set, it will be determined according to the Fermi energy.
For the k point setting of this function, please refer to the kpoint_mode
module.
Upon completion of the task calculation, two files will be generated in the Out/Berry_Curvature
directory: kpt.dat
and berry_curvature.dat
. These files respectively contain the k-point coordinates and the total Berry curvature for each k-point.