GRASP rci-qed
|
Data Types | |
interface | potential |
Evaluates the single particle matrix elements of an arbitrary (even) potential represented as an array on the GRASP grid in the basis of GRASP orbitals. More... | |
interface | qedvp |
Populates a matrix with the matrix elements of a QED vacuum polarization potential. More... | |
Functions/Subroutines | |
subroutine | qedvp_init |
Initializes the global state for the vacuum polarization calculations. More... | |
subroutine | qedvp (matrix) |
Populates matrix with the full QED vacuum polarization matrix elements in the orbital basis. More... | |
subroutine | qedvp_type (vptype, matrix) |
Populates matrix with the matrix elements of the VP potential corresponding to a contribution defined by vptype . More... | |
subroutine | potential_kl (v, k1, k2, result) |
Integrates the generic potential, stored in the array v , with orbitals k1 and k2 to obtain a single particle matrix element correponding to those orbitals. More... | |
subroutine | potential (v, matrix) |
Populates matrix with the matrix elements of potential v . More... | |
Variables | |
integer, parameter | nvptypes = 2 |
character(*), dimension(nvptypes), parameter | vptypes_long = (/ "Uehling ", "Källén-Sabry " /) |
character(*), dimension(nvptypes), parameter | vptypes_short = (/ "uehling ", "kallensabry" /) |
logical | qedvp_initialized = .false. |
real(real64), dimension(:,:), allocatable | vp_potential |
real(real64), dimension(:,:), allocatable | qedvp_kl |
real(real64), dimension(nnnp) | zdist |
subroutine grasp_rciqed_qed_vp::potential | ( | real(real64), dimension(:), intent(in) | v, |
real(real64), dimension(:, :), intent(out) | matrix | ||
) |
Populates matrix
with the matrix elements of potential v
.
Internally, it uses the QUAD
routine to perform the integration on the standard GRASP grid. It will multiply the value of the potential with RP
, so the user should not do that themselves (i.e. internally TA ~ V * RP
).
v | An array containing the potential, represented on the GRASP grid. |
matrix | An NW x NW real64 array for storing the matrix elements. |
subroutine grasp_rciqed_qed_vp::potential_kl | ( | real(real64), dimension(:), intent(in) | v, |
integer, intent(in) | k1, | ||
integer, intent(in) | k2, | ||
real(real64), intent(out) | result | ||
) |
Integrates the generic potential, stored in the array v
, with orbitals k1
and k2
to obtain a single particle matrix element correponding to those orbitals.
Internally, it uses the QUAD
routine to perform the integration on the standard GRASP grid. It will multiply the value of the potential with RP
, so the user should not do that themselves (i.e. internally TA ~ V * RP
).
v | An array containing the potential, represented on the GRASP grid. |
k1,k2 | Indices of the orbitals. |
result | The value of the single particle matrix element for orbitals k1 and k2 . |
subroutine grasp_rciqed_qed_vp::qedvp | ( | real(real64), dimension(:, :), intent(out) | matrix | ) |
Populates matrix
with the full QED vacuum polarization matrix elements in the orbital basis.
The matrix element values are integrated using the vp_vac{2,4}
global arrays from this module, which contains both the Uehling and Källen-Sabry terms.
matrix | An NW x NW real64 array for storing the matrix elements. |
subroutine grasp_rciqed_qed_vp::qedvp_init | ( | ) |
Initializes the global state for the vacuum polarization calculations.
If the global state is already initialized, the routine just prints an error message and does not do anything.
subroutine grasp_rciqed_qed_vp::qedvp_type | ( | integer, intent(in) | vptype, |
real(real64), dimension(:, :), intent(out) | matrix | ||
) |
Populates matrix
with the matrix elements of the VP potential corresponding to a contribution defined by vptype
.
The values of vptype
correspond to the following VP contributions:
vptype | Integer specifying the VP contribution. |
matrix | An NW x NW real64 array for storing the matrix elements. |
integer, parameter grasp_rciqed_qed_vp::nvptypes = 2 |
logical grasp_rciqed_qed_vp::qedvp_initialized = .false. |
real(real64), dimension(:,:), allocatable grasp_rciqed_qed_vp::qedvp_kl |
real(real64), dimension(:,:), allocatable grasp_rciqed_qed_vp::vp_potential |
character(*), dimension(nvptypes), parameter grasp_rciqed_qed_vp::vptypes_long = (/ "Uehling ", "Källén-Sabry " /) |
character(*), dimension(nvptypes), parameter grasp_rciqed_qed_vp::vptypes_short = (/ "uehling ", "kallensabry" /) |
real(real64), dimension(nnnp) grasp_rciqed_qed_vp::zdist |