w90_berry Module

module~~w90_berry~~UsesGraph module~w90_berry w90_berry module~w90_constants w90_constants module~w90_constants->module~w90_berry
Help

This module computes various "Berry phase" related properties

Key REFERENCES

  • WYSV06 = PRB 74, 195118 (2006) (anomalous Hall conductivity - AHC)
  • YWVS07 = PRB 75, 195121 (2007) (Kubo frequency-dependent conductivity)
  • LVTS12 = PRB 85, 014435 (2012) (orbital magnetization and AHC)
  • CTVR06 = PRB 74, 024408 (2006) ( " " )

Used By

module~~w90_berry~~UsedByGraph module~w90_berry w90_berry proc~k_path k_path module~w90_berry->proc~k_path proc~k_slice k_slice module~w90_berry->proc~k_slice program~postw90 postw90 module~w90_berry->program~postw90
Help


Variables

TypeVisibility AttributesNameInitial
integer, private, parameter, dimension(3):: alpha_A =(/2, 3, 1/)
integer, private, parameter, dimension(3):: beta_A =(/3, 1, 2/)
integer, private, parameter, dimension(6):: alpha_S =(/1, 2, 3, 1, 1, 2/)
integer, private, parameter, dimension(6):: beta_S =(/1, 2, 3, 2, 3, 3/)

Subroutines

public subroutine berry_main()

Computes the following quantities:
(i) Anomalous Hall conductivity (from Berry curvature)
(ii) Complex optical conductivity (Kubo-Greenwood) & JDOS (iii) Orbital magnetization

Arguments

None

public subroutine berry_get_imf_klist(kpt, imf_k_list)

Calculates the Berry curvature traced over the occupied states, -2Im[f(k)] [Eq.33 CTVR06, Eq.6 LVTS12] for a list of Fermi energies, and stores it in axial-vector form

Arguments

Type IntentOptional AttributesName
real(kind=dp), intent(in) :: kpt(3)
real(kind=dp), intent(out), dimension(:,:,:):: imf_k_list

public subroutine berry_get_imfgh_klist(kpt, imf_k_list, img_k_list, imh_k_list)

Calculates the three quantities needed for the orbital magnetization:

Arguments

Type IntentOptional AttributesName
real(kind=dp), intent(in) :: kpt(3)
real(kind=dp), intent(out), dimension(:,:,:):: imf_k_list
real(kind=dp), intent(out), dimension(:,:,:):: img_k_list
real(kind=dp), intent(out), dimension(:,:,:):: imh_k_list

private subroutine berry_get_kubo_k(kpt, kubo_H_k, kubo_AH_k, jdos_k, kubo_H_k_spn, kubo_AH_k_spn, jdos_k_spn)

Contribution from point k to the complex interband optical conductivity, separated into Hermitian (H) and anti-Hermitian (AH) parts. Also returns the joint density of states

Arguments

Type IntentOptional AttributesName
real(kind=dp), intent(in) :: kpt(3)
complex(kind=dp), intent(out), dimension(:,:,:):: kubo_H_k
complex(kind=dp), intent(out), dimension(:,:,:):: kubo_AH_k
real(kind=dp), intent(out), dimension(:):: jdos_k
complex(kind=dp), intent(out), optional dimension(:,:,:,:):: kubo_H_k_spn
complex(kind=dp), intent(out), optional dimension(:,:,:,:):: kubo_AH_k_spn
real(kind=dp), intent(out), optional dimension(:,:):: jdos_k_spn