Interaction

ElectronGas.Interaction.KOMethod
function KO(q, n, param; pifunc = Polarization0_ZeroTemp, landaufunc = landauParameterTakada, Vinv_Bare = coulombinv, regular = false, kwargs...)

Dynamic part of KO interaction. Returns the spin symmetric part and asymmetric part separately.

#Arguments:

  • q: momentum
  • n: matsubara frequency given in integer s.t. ωn=2πTn
  • param: other system parameters
  • pifunc: caller to the polarization function
  • landaufunc: caller to the Landau parameter (exchange-correlation kernel)
  • Vinv_Bare: caller to the bare Coulomb interaction
  • regular: regularized RPA or not

Return:

If set to be regularized, it returns the dynamic part of effective interaction divided by $v_q - f_q$

\[ \frac{(v_q^{\pm} - f_q^{\pm}) Π_0} {1 - (v_q^{\pm} - f_q^{\pm}) Π_0}.\]

otherwise, return

\[ \frac{(v_q^{\pm} - f_q^{\pm})^2 Π_0} {1 - (v_q^{\pm} - f_q^{\pm}) Π_0}.\]

source
ElectronGas.Interaction.KO_totalMethod
function KO_total(q, n, param; pifunc = Polarization0_ZeroTemp, landaufunc = landauParameterTakada, Vinv_Bare = coulombinv, counter_term = counterterm, kwargs...)

Dynamic part of KO interaction. Returns the spin symmetric part and asymmetric part separately.

#Arguments:

  • q: momentum
  • n: matsubara frequency given in integer s.t. ωn=2πTn
  • param: other system parameters
  • pifunc: caller to the polarization function
  • landaufunc: caller to the Landau parameter (exchange-correlation kernel)
  • Vinv_Bare: caller to the bare Coulomb interaction
  • counter_term: counterterm, by default, it is the landaufunc

Return:

Return the total effective interaction

\[ W^{\pm} = \frac{(v_q^{\pm} - f_q^{\pm}) Π_0} {1 - (v_q^{\pm} - f_q^{\pm}) Π_0} + C_q^{\pm}.\]

which reduces to the convential KO interaction if $C_q^{\pm} \equiv f_q^{\pm}$

source
ElectronGas.Interaction.KOwrappedMethod
function KOwrapped(Euv, rtol, sgrid::SGT, param; int_type=:ko,
    pifunc=Polarization0_ZeroTemp, landaufunc=landauParameterTakada, Vinv_Bare=coulombinv, kwargs...) where {SGT}

Return dynamic part and instant part of KO-interaction Green's function separately. Each part is a MeshArray with inner state (1: spin symmetric part, 2: asymmetric part), and ImFreq and q-grid mesh.

#Arguments:

  • Euv: Euv of DLRGrid
  • rtol: rtol of DLRGrid
  • sgrid: momentum grid
  • param: other system parameters
  • pifunc: caller to the polarization function
  • landaufunc: caller to the Landau parameter (exchange-correlation kernel)
  • Vinv_Bare: caller to the bare Coulomb interaction
source
ElectronGas.Interaction.RPAMethod
function RPA(q, n, param; pifunc = Polarization0_ZeroTemp, Vinv_Bare = coulombinv, regular = false)

Dynamic part of RPA interaction.

#Arguments:

  • q: momentum
  • n: matsubara frequency given in integer s.t. ωn=2πTn
  • param: other system parameters
  • pifunc: caller to the polarization function
  • Vinv_Bare: caller to the bare Coulomb interaction
  • regular: regularized RPA or not

Return:

If set to be regularized, it returns the dynamic part of effective interaction divided by $v_q - f_q$

\[ \frac{v_q^{\pm} Π_0} {1 - v_q^{\pm} Π_0}.\]

otherwise, return

\[ \frac{(v_q^{\pm})^2 Π_0} {1 - v_q^{\pm} Π_0}.\]

source
ElectronGas.Interaction.RPAwrappedMethod
function RPAwrapped(Euv, rtol, sgrid::SGT, param;
    pifunc=Polarization0_ZeroTemp, landaufunc=landauParameterTakada, Vinv_Bare=coulombinv, kwargs...) where {SGT}

Return dynamic part and instant part of RPA-interaction Green's function separately. Each part is a MeshArray with inner state (1: spin symmetric part, 2: asymmetric part), and ImFreq and q-grid mesh.

#Arguments:

  • Euv: Euv of DLRGrid
  • rtol: rtol of DLRGrid
  • sgrid: momentum grid
  • param: other system parameters
  • pifunc: caller to the polarization function
  • landaufunc: caller to the Landau parameter (exchange-correlation kernel)
  • Vinv_Bare: caller to the bare Coulomb interaction
source
ElectronGas.Interaction.bubbledysonMethod
function bubbledyson(Vinv::Float64, F::Float64, Π::Float64)

Return (V - F)^2 Π / (1 - (V - F)Π), which is the dynamic part of effective interaction.

#Arguments:

  • Vinv: inverse bare interaction
  • F: Landau parameter
  • Π: polarization
source
ElectronGas.Interaction.bubbledysonregMethod
function bubbledysonreg(Vinv::Float64, F::Float64, Π::Float64)

Return (V - F) Π / (1 - (V - F)Π), which is the dynamic part of effective interaction divided by (V - F).

#Arguments:

  • Vinv: inverse bare interaction
  • F: Landau parameter
  • Π: polarization
source
ElectronGas.Interaction.coulombMethod
function coulomb(q,param)

Bare interaction in momentum space. Coulomb interaction if Λs=0, Yukawa otherwise.

#Arguments:

  • q: momentum
  • param: other system parameters
source
ElectronGas.Interaction.coulomb_2dMethod
function coulomb_2d(q,param)

Bare interaction in 2D momentum space. Coulomb interaction if Λs=0, Yukawa otherwise.

#Arguments:

  • q: momentum
  • param: other system parameters
source
ElectronGas.Interaction.coulombinvMethod
function coulombinv(q,param)

Inverse of bare interaction in 3D momentum space. Coulomb interaction if Λs=0, Yukawa otherwise.

#Arguments:

  • q: momentum
  • param: other system parameters
source
ElectronGas.Interaction.coulombinv_2dMethod
function coulombinv_2d(q,param)

Inverse of bare interaction in 2D momentum space. Coulomb interaction if Λs=0, Yukawa otherwise.

#Arguments:

  • q: momentum
  • param: other system parameters
source
ElectronGas.Interaction.landauParameterMoroniMethod
function landauParameterMoroni(q, n, param)

Analytic expression of G+ factor from diffusion Monte Carlo.(doi:10.1103/PhysRevB.57.14569). Return Landau parameter F+=(G+)*V

#Arguments:

  • q: momentum
  • n: matsubara frequency given in integer s.t. ωn=2πTn
  • param: other system parameters
source
ElectronGas.Interaction.landauParameterTakadaMethod
function landauParameterTakada(q, n, param)

G factor with Takada's anzats. See Takada(doi:10.1103/PhysRevB.47.5202)(Eq.2.13-2.16). Now Landau parameter F. F(+-)=G(+-)*V

#Arguments:

  • q: momentum
  • n: matsubara frequency given in integer s.t. ωn=2πTn
  • param: other system parameters
source