GRASP rci-qed
Functions/Subroutines
grasp_rciqed_qed_flambaum Module Reference

Functions/Subroutines

real(real64) function qedse_flambaum (k1, k2, phi_l, phi_f, phi_g)
 Estimates the QED self-energy of the kth orbital using potentials presented in [Flambaum & Ginges, 2005]. More...
 
real(real64) function phi_f_inner (t, r)
 Calculate the integral-kernel for the radiative \(\Phi_f\) potential. More...
 
real(real64) function phi_g1_inner (t, r)
 Calculate the first part of the integral-kernel for the radiative \(\Phi_g\) potential. More...
 
real(real64) function phi_g2_inner (t, r)
 Calculate the second part of the integral-kernel for the radiative \(\Phi_g\) potential. More...
 
subroutine quad_t_us2 (f, t, ntmax, nt, result)
 Uses the Simpson's rule for a non-uniform grid t to evaluate the integral of f. More...
 
subroutine se_t_grid (f, t, ntmax, nt, r, nterm)
 Populates the t and f arrays (of length ntmax) with grid (t) and integrand (f) values to prepare for the inner integrations of the radiative potentials. More...
 

Function/Subroutine Documentation

◆ phi_f_inner()

real(real64) function grasp_rciqed_qed_flambaum::phi_f_inner ( real(real64)  t,
real(real64)  r 
)

Calculate the integral-kernel for the radiative \(\Phi_f\) potential.

Equation 10 in [Flambaum & Ginges, 2005].

Here is the caller graph for this function:

◆ phi_g1_inner()

real(real64) function grasp_rciqed_qed_flambaum::phi_g1_inner ( real(real64)  t,
real(real64)  r 
)

Calculate the first part of the integral-kernel for the radiative \(\Phi_g\) potential.

This is the first term from the product rule in equation (7) of [Flambaum & Ginges, 2005].

Here is the caller graph for this function:

◆ phi_g2_inner()

real(real64) function grasp_rciqed_qed_flambaum::phi_g2_inner ( real(real64)  t,
real(real64)  r 
)

Calculate the second part of the integral-kernel for the radiative \(\Phi_g\) potential.

This is the second term from the product rule in equation (7) of [Flambaum & Ginges, 2005].

Here is the caller graph for this function:

◆ qedse_flambaum()

real(real64) function grasp_rciqed_qed_flambaum::qedse_flambaum ( integer, intent(in)  k1,
integer, intent(in)  k2,
real(real64), intent(out)  phi_l,
real(real64), intent(out)  phi_f,
real(real64), intent(out)  phi_g 
)

Estimates the QED self-energy of the kth orbital using potentials presented in [Flambaum & Ginges, 2005].

Returns the self-energy estimate for the orbital k. Additional output will stored in the phi_l, phi_f, phi_g variables, which will contain the corresponding parts of the self-energy estimate.

In the article the self-energy is assumed to be a spherically symmetric scalar potential, which has further been split up into three terms must be summed up. I.e. we're calculating equation (11), but without the Uehling a WC bits:

\[ \Phi_{\textrm{rad}}(r) = \Phi_l(r) + \Phi_f(r) + \Phi_g(r) \]

The code is based on the implementation in GRASP92 by Christian Thierfelder, Peter Schwerdtfeger and Lukáš Félix Pašteka.

References

[Flambaum & Ginges, 2005] Flambaum and Ginges, Phys.Rev.A 72, 052115 (2005) [Thierfelder & Schwerdtfeger, 2010] Thierfelder and Schwerdtfeger, Phys.Rev.A 82, 062503 (2010)

Here is the call graph for this function:
Here is the caller graph for this function:

◆ quad_t_us2()

subroutine grasp_rciqed_qed_flambaum::quad_t_us2 ( real(real64), dimension(ntmax)  f,
real(real64), dimension(ntmax)  t,
integer  ntmax,
integer  nt,
real(real64)  result 
)

Uses the Simpson's rule for a non-uniform grid t to evaluate the integral of f.

t must be an array of length ntmax and will contain the gridpoints. f is an array of the same lengt, containing the values of the integrand for each t(i). The integral is then evaluated between t(1) and t(nt) and stored in result.

Here is the caller graph for this function:

◆ se_t_grid()

subroutine grasp_rciqed_qed_flambaum::se_t_grid ( real(real64), dimension(ntmax)  f,
real(real64), dimension(ntmax)  t,
integer  ntmax,
integer  nt,
real(real64)  r,
character*2  nterm 
)

Populates the t and f arrays (of length ntmax) with grid (t) and integrand (f) values to prepare for the inner integrations of the radiative potentials.

  • nt will contain the largest array index which still contain non-neglible integrand values.
  • r is the radius for which the integral kernels will be integrated.
  • nterm is is a string that determines which integrand will be used to populate f (possible values are F, G1 or G2).
Here is the call graph for this function:
Here is the caller graph for this function: