w90_get_oper Module

Finds the Wannier matrix elements of various operators, starting from k-space matrices generated by an interface (e.g., pw2wannier90) to an ab initio package (e.g., quantum-espresso)


Uses

  • module~~w90_get_oper~~UsesGraph module~w90_get_oper w90_get_oper module~w90_constants w90_constants module~w90_get_oper->module~w90_constants

Used by

  • module~~w90_get_oper~~UsedByGraph module~w90_get_oper w90_get_oper proc~gyrotropic_get_noa_k gyrotropic_get_NOA_k proc~gyrotropic_get_noa_k->module~w90_get_oper proc~k_path k_path proc~k_path->module~w90_get_oper proc~spin_get_moment_k spin_get_moment_k proc~spin_get_moment_k->module~w90_get_oper proc~k_slice k_slice proc~k_slice->module~w90_get_oper proc~gyrotropic_main gyrotropic_main proc~gyrotropic_main->module~w90_get_oper proc~dos_main dos_main proc~dos_main->module~w90_get_oper module~w90_geninterp w90_geninterp module~w90_geninterp->module~w90_get_oper proc~wham_get_eig_deleig_tb_conv wham_get_eig_deleig_TB_conv proc~wham_get_eig_deleig_tb_conv->module~w90_get_oper proc~berry_get_sc_klist berry_get_sc_klist proc~berry_get_sc_klist->module~w90_get_oper proc~wham_get_eig_deleig wham_get_eig_deleig proc~wham_get_eig_deleig->module~w90_get_oper proc~wham_get_eig_uu_hh_aa_sc_tb_conv wham_get_eig_UU_HH_AA_sc_TB_conv proc~wham_get_eig_uu_hh_aa_sc_tb_conv->module~w90_get_oper proc~wham_get_eig_uu_hh_aa_sc wham_get_eig_UU_HH_AA_sc proc~wham_get_eig_uu_hh_aa_sc->module~w90_get_oper proc~gyrotropic_get_k_list gyrotropic_get_k_list proc~gyrotropic_get_k_list->module~w90_get_oper proc~spin_get_moment spin_get_moment proc~spin_get_moment->module~w90_get_oper proc~berry_get_imfgh_klist berry_get_imfgh_klist proc~berry_get_imfgh_klist->module~w90_get_oper proc~calctdfanddos calcTDFandDOS proc~calctdfanddos->module~w90_get_oper proc~wham_get_eig_uu_hh_jjlist wham_get_eig_UU_HH_JJlist proc~wham_get_eig_uu_hh_jjlist->module~w90_get_oper proc~berry_main berry_main proc~berry_main->module~w90_get_oper proc~berry_get_shc_klist berry_get_shc_klist proc~berry_get_shc_klist->module~w90_get_oper proc~spin_get_s spin_get_S proc~spin_get_s->module~w90_get_oper proc~spin_get_nk spin_get_nk proc~spin_get_nk->module~w90_get_oper proc~berry_get_kubo_k berry_get_kubo_k proc~berry_get_kubo_k->module~w90_get_oper program~postw90 postw90 program~postw90->module~w90_geninterp

Contents


Variables

TypeVisibility AttributesNameInitial
complex(kind=dp), public, allocatable, save:: HH_R(:,:,:)

complex(kind=dp), public, allocatable, save:: AA_R(:,:,:,:)

complex(kind=dp), public, allocatable, save:: BB_R(:,:,:,:)

complex(kind=dp), public, allocatable, save:: CC_R(:,:,:,:,:)

complex(kind=dp), public, allocatable, save:: FF_R(:,:,:,:,:)

complex(kind=dp), public, allocatable, save:: SS_R(:,:,:,:)

complex(kind=dp), public, allocatable, save:: SR_R(:,:,:,:,:)

complex(kind=dp), public, allocatable, save:: SHR_R(:,:,:,:,:)

complex(kind=dp), public, allocatable, save:: SH_R(:,:,:,:)


Subroutines

public subroutine get_HH_R()

computes <0n|H|Rm>, in eV (pwscf uses Ry, but pw2wannier90 converts to eV)

Arguments

None

public subroutine get_AA_R()

AA_a(R) = <0|r_a|R> is the Fourier transform of the Berrry connection AA_a(k) = i (a=x,y,z)

Arguments

None

public subroutine get_BB_R()

BB_a(R)=<0n|H(r-R)|Rm> is the Fourier transform of BB_a(k) = i (a=x,y,z)

Arguments

None

public subroutine get_CC_R()

CC_ab(R) = <0|r_a.H.(r-R)_b|R> is the Fourier transform of CC_ab(k) = (a,b=x,y,z)

Arguments

None

public subroutine get_FF_R()

FF_ab(R) = <0|r_a.(r-R)_b|R> is the Fourier transform of FF_ab(k) = (a=alpha,b=beta)

Arguments

None

public subroutine get_SS_R()

Wannier representation of the Pauli matrices: <0n|sigma_a|Rm> (a=x,y,z)

Arguments

None

public subroutine get_SHC_R()

Compute several matrices for spin Hall conductivity SR_R = <0n|sigma_{x,y,z}.(r-R)alpha|Rm> SHR_R = <0n|sigma.H.(r-R)alpha|Rm> SH_R = <0n|sigma.H|Rm>

Arguments

None

private subroutine fourier_q_to_R(op_q, op_R)

Fourier transforms Wannier-gauge representation of a given operator O from q-space to R-space:

Read more…

Arguments

Type IntentOptional AttributesName
complex(kind=dp), intent(in), dimension(:, :, :):: op_q

Operator in q-space

complex(kind=dp), intent(out), dimension(:, :, :):: op_R

Operator in R-space

private subroutine get_win_min(ik, win_min)

Find the lower bound (band index) of the outer energy window at the specified k-point

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: ik

Index of the required k-point

integer, intent(out) :: win_min

Index of the lower band of the outer energy window

public subroutine get_gauge_overlap_matrix(ik_a, ns_a, ik_b, ns_b, S_o, S, H)

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: ik_a
integer, intent(in) :: ns_a
integer, intent(in) :: ik_b
integer, intent(in) :: ns_b
complex(kind=dp), intent(in), dimension(:, :):: S_o
complex(kind=dp), intent(out), optional dimension(:, :):: S
complex(kind=dp), intent(out), optional dimension(:, :):: H