UEG parameters
This module provides the parameter struct for the uniform electron gas problem.
ElectronLiquid.UEG.short_paratypes
— ConstantMapping from ParaMC fields saved in short format to their corresponding types
ElectronLiquid.UEG.ParaMC
— MethodConstructs a ParaMC object from its short string representation.
ElectronLiquid.UEG.KO_W
— Methodfunction KO_W(q, n, p::ParaMC)
KO interaction in momentum q and the Matsubara frequency index n Assume
\[r_q = v_q + f\]
then the KO interaction is
\[Rq = r_q / (1 - r_q Π0) - f\]
ElectronLiquid.UEG.KOdynamic_T
— Methodfunction KOdynamic_T(para::ParaMC)
Dynamic part of the interaction.
Assume
\[r_q = v_q + f\]
Then, the dynamic interaction is given by
\[δR_q/r_q = r_q Π₀/(1-r_q Π₀)\]
where Π₀ is the polarization of free electrons.
ElectronLiquid.UEG.KOdynamic_T_df
— Methodfunction KOdynamic_T(para::ParaMC)
Dynamic part of the interaction.
Assume
\[r_q = v_q + f\]
Then, the dynamic interaction is given by
\[d δR_q/df - 1 = 1/(1-r_q Π₀)^2 - 1\]
where Π₀ is the polarization of free electrons.
ElectronLiquid.UEG.counterKO_W
— Methodfunction counterKO_W(para::ParaMC; qgrid=para.qgrid, ngrid=[0,], order=para.order, proper=false)
calculate counter-terms of the KO interaction
Assume
\[r_q = v_q + f\]
and
\[Rq = r_q / (1 - r_q Π0) - f\]
Then, the counter-term is given by a power expansion of the form
\[(Rq ξ + f(ξ))/(1+(Rq ξ + f(ξ))Π0) - f(ξ)\]
where f(ξ) = f1 ξ + f2 ξ^2 + ...
Therefore, the counter-term is given by Order 1 (ξ^2)
\[(Rq+f1)^2 Π0\]
Order 2 (ξ^3)
\[(Rq+f1)^3 Π0^2 + (R_q+f1)f2 Π_0\]
ElectronLiquid.UEG.interactionDynamic
— Methodfunction interactionDynamic(p::ParaMC, qd, τIn, τOut)
Dynamic part of the interaction.
Assume
\[r_q = v_q + f\]
Then, the dynamic interaction is given by
\[δR_q = (r_q)²Π₀/(1-r_q Π₀)\]
where Π₀ is the polarization of free electrons.
ElectronLiquid.UEG.interactionDynamic_df
— Methodfunction interactionDynamic_df(p::ParaMC, qd, τIn, τOut)
Dynamic part of the interaction.
Assume
\[r_q = v_q + f\]
Then, the dynamic interaction is given by
\[d δR_q/df = (r_q)²Π₀/(1-r_q Π₀)\]
where Π₀ is the polarization of free electrons.
ElectronLiquid.UEG.interactionStatic
— Methodfunction interactionStatic(p::ParaMC, qd, τIn, τOut)
instant part of the renormalized interaction
Assume
\[r_q = v_q + f\]
Then, the instant interaction is given by
\[v_q = r_q - f\]
The current implementation involves one auxiliary time variable τOut for better sign cancellation.
To show the net result is v_q, one may perform a τOut integration explicitly, then
\[kostatic = r_q / (1-r_q Π₀) - f\]
where Π₀ is the polarization of free electrons. and,
\[dynamic = (r_q)²Π₀/(1-r_q Π₀)\]
so that,
\[kostatic - dynamic = v_q\]
ElectronLiquid.UEG.lindhard
— Methodfunction lindhard(x)
Dimensionless Linhard function so that lindhard(0) = 1 for both 2D and 3D
Arguments
- x : 2k/k_F
ElectronLiquid.UEG.linear2D
— Methodlinear2D(data, xgrid, ygrid, x, y)
linear interpolation of data(x, y)
#Arguments:
- xgrid: one-dimensional grid of x
- ygrid: one-dimensional grid of y
- data: two-dimensional array of data
- x: x
- y: y
ElectronLiquid.UEG.partition
— MethodHard-coded counterterm partitions for diagrams of max order order
and minimal loop order offset
, given in the form (nloop, nμ, n_λ). The default offset corresponds to partitions of the self-energy, where the minimal loop order is 1.