Two-point correlators
ElectronGas.TwoPoint
— ModuleProvide N-body response and correlation functions
ElectronGas.TwoPoint.LindhardΩnFiniteTemperature
— MethodLindhardΩnFiniteTemperature(dim::Int, q::T, n::Int, μ::T, kF::T, β::T, m::T, spin) where {T <: AbstractFloat}
Compute the polarization function of free electrons at a given frequency. Relative Accuracy is about ~ 1e-6
Arguments
dim
: dimensionq
: external momentum, q<1e-4 will be treated as q=0n
: externel Matsubara frequency, ωn=2π*n/βμ
: chemical potentialkF
: Fermi momentumβ
: inverse temperaturem
: massspin
: number of spins
ElectronGas.TwoPoint.dWRPA
— Method3D Imaginary-time effective interaction derived from random phase approximation. Return $dW_0(q, τ)/v_q$ where $v_q$ is the bare Coulomb interaction and $dW_0$ is the dynamic part of the effective interaction.
The total effective interaction can be recoverd using,
\[W_0(q, τ) = v_q δ(τ) + dW_0(q, τ).\]
The dynamic contribution is the fourier transform of,
\[dW_0(q, iω_n)=v_q^2 Π(q, iω_n)/(1-v_q Π(q, iω_n))\]
Note that this dynamic contribution $dW_0'' diverges at small q. For this reason, this function returns$dW0/vq``
Arguments
vqinv
: inverse bare interaction as a function of qqgrid
: one-dimensional array of the external momentum qτgrid
: one-dimensional array of the imaginary-timedim
: dimensionμ
: chemical potentialkF
: Fermi momentumβ
: inverse temperaturespin
: number of spinsmass
: mass
ElectronGas.TwoPoint.freePropagatorT
— MethodfreePropagatorT(type, τ, ω, β)
Imaginary-time propagator.
Arguments
type
: symbol :fermi, :boseτ
: the imaginary time, must be (-β, β]ω
: dispersion ϵ_k-μβ = 1.0
: the inverse temperature
ElectronGas.TwoPoint.freePropagatorΩ
— MethodfreePropagatorΩ(type, n, ω, β=1.0)
Matsubara-frequency kernel of different type
Arguments
type
: symbol :fermi, :bose, :corrn
: index of the Matsubara frequencyω
: dispersion ϵ_k-μβ
: the inverse temperature