HopTB.Optics
HopTB.Optics.getpermittivity
— Functiongetpermittivity(
tm::AbstractTBModel,
α::Int64,
β::Int64,
ωs::AbstractArray{<:Real,1},
μ::Float64,
meshsize::Vector{Int64};
ϵ::Float64=0.1,
batchsize::Int64=1
) --> Vector{ComplexF64}
Calculate relative permittivity.
Permittivity is defined as
\[χ^{αβ}=\frac{e^{2}}{\hbar}∫\frac{d^{3}\boldsymbol{k}}{(2π)^{3}}\sum_{n,m} \frac{f_{nm}r_{nm}^{α}r_{mn}^{β}}{ω_{mn}-ω-iϵ}.\]
This function returns $χ^{αβ}/ϵ_0$.
HopTB.Optics.get_shift_cond
— Functionget_shift_cond(tm::AbstractTBModel, α::Int64, β::Int64, γ::Int64=β, ωs::Vector{Float64},
μ::Float64, nkmesh::Vector{Int64}; ϵ::Float64=0.1, batchsize::Int64=1)
--> Vector{Float64}
Calculate shift conductivity.
Shift conductivity is defined as
\[σ^{αβγ}(ω)= \frac{πe^3}{\hbar^2}∫\frac{d\boldsymbol{k}}{(2π)^3}\sum_{n,m} f_{nm}I_{nm}^{αβγ}δ(ω_{nm}-ω),\]
where
\[I_{nm}^{αβγ}=\Im[r_{mn}^β r_{nm;α}^γ+r_{mn}^γ r_{nm;α}^β].\]
This function returns shift conductivity in μA/V^2.
HopTB.Optics.get_shg
— Functionget_shg(tm::AbstractTBModel, α::Int64, β::Int64, γ::Int64, ωs::Vector{Float64},
μ::Float64, kmesh::Vector{Int64}; ϵ::Float64=0.1, scissor::Float64=0.0)
--> σs::Vector{ComplexF64}
Calculate second harmonic generation.
The expression of second harmonic generation is in [Wang et al 2017].
The unit of σs is pm/V.
HopTB.Optics.get_Drude_weight
— Functionfunction get_Drude_weight(
tm::AbstractTBModel,
α::Integer,
β::Integer,
μ::Float64,
meshsize::AbstractVector{Int64};
kBT::Float64=0.01,
batchsize::Int64=1
)
This function returns Drude weight in eV/(Ω⋅cm).
HopTB.Optics.cltberryconnection
— Functioncltberryconnection(atm::AbstractTBModel, α::Int64, kpts::Matrix{Float64})
--> berryconnection
Collect Berry connection for all k points.
The returned matrix berryconnection is berryconnection[n, m, ikpt] = |A[n, m]|^2
at ikpt
.
HopTB.Optics.cltshiftvector
— Functioncltshiftvector(atm::AbstractTBModel, α::Int64, β::Int64, kpts::Matrix{Float64})
--> shiftvector
Collect shift vector matrices for all k points.
shiftvector[n, m, ikpt]
is the shift vector from band m
to band n
at ikpt
.
Shift vector is defined to be
\[R^{α,β}_{nm} = ∂_αϕ_{mn}^β-A_{mm}^α+A_{nn}^α.\]