Multidip
1.0
Multi-photon matrix elements
|
Special integrals needed by MULTIDIP. More...
Functions/Subroutines | |
complex(wp) function | nested_exp_integ (a, c, N, m, s, k) |
Multi-dimensional triangular integral of exponentials and powers. More... | |
complex(wp) function | nested_coul_integ (a, c, N, m, s, l, k) |
Multi-dimensional triangular integral of Coulomb-Hankel functions and powers. More... | |
complex(wp) function | nested_cgreen_integ (a, c, N, sa, sb, m, l, k) |
Multi-dimensional integral of Coulomb-Hankel and Coulomb-Green functions and powers. More... | |
Special integrals needed by MULTIDIP.
Module containing routines for calculation of the multi-dimensional dipole integrals used in outer correction of transition dipole elements in MULTIDIP.
complex(wp) function multidip_integ::nested_cgreen_integ | ( | real(wp), intent(in) | a, |
real(wp), intent(in) | c, | ||
integer, intent(in) | N, | ||
integer, intent(in) | sa, | ||
integer, intent(in) | sb, | ||
integer, dimension(:), intent(in) | m, | ||
integer, dimension(:), intent(in) | l, | ||
complex(wp), dimension(:), intent(in) | k | ||
) |
Multi-dimensional integral of Coulomb-Hankel and Coulomb-Green functions and powers.
Evaluate the many-dimensional integral
\[ \int\limits_a^{+\infty} \dots \int\limits_a^{+\infty} H_N(r_N) \dots g_3(r_3, r_2) r_2^{m_2} g_2(r_2, r_1) r_1^{m_1} H_1(r_1) \mathrm{d}r_1 \dots \]
using the asymptotic form of Coulomb-Hankel functions. The arrays passed to this function need to be ordered from the right-most integral to the right. This function iterates over all possible orderings of \( (r_1, r_2, \dots, r_N) \) and for each of these it splits the integral into (hyper-)triangular integrals and integrates those using nested_coul_integ.
a | Lower bound |
c | Damping factor (additional exp(-c*r) added to all r^m functions) |
N | Dimension (number of integration variables) |
sa | Sign of the right-most Coulomb-Hankel function |
sb | Sign of the left-most Coulomb-Hankel function |
m | Array of integer powers of length N |
l | Array of angular momenta of length N + 1 |
k | Array of linear momenta of length N + 1 |
Definition at line 331 of file multidip_integ.f90.
complex(wp) function multidip_integ::nested_coul_integ | ( | real(wp), intent(in) | a, |
real(wp), intent(in) | c, | ||
integer, intent(in) | N, | ||
integer, dimension(1:n), intent(in) | m, | ||
integer, dimension(1:2*n), intent(in) | s, | ||
integer, dimension(1:2*n), intent(in) | l, | ||
complex(wp), dimension(1:2*n), intent(in) | k | ||
) |
Multi-dimensional triangular integral of Coulomb-Hankel functions and powers.
Evaluate the nested many-dimensional triangular integral
\[ \int\limits_a^{+\infty} \dots \int\limits_{r_3}^{+\infty} H_4(r_2) r_2^{m_2} H_3(r_2) \int\limits_{r_2}^{+\infty} H_2(r_1) r_1^{m_1} H_1(r_1) \mathrm{d}r_1 \mathrm{d}r_2 \mathrm{d}r_3 \dots \]
using the asymptotic form of Coulomb-Hankel functions. The arrays passed to this function need to be ordered from the inner-most (right-most) integral outward. For each term, use nested_exp_integ.
a | Lower bound |
c | Damping factor (additional exp(-c*r) added to all r^m functions) |
N | Dimension (number of integration variables) |
m | Array of integer powers of length N |
s | Array of integer signs (+1 or -1) in exponents of length 2*N |
l | Array of angular momenta of length 2*N |
k | Array of linear momenta of length 2*N |
Definition at line 224 of file multidip_integ.f90.
complex(wp) function multidip_integ::nested_exp_integ | ( | real(wp), intent(in) | a, |
real(wp), intent(in) | c, | ||
integer, intent(in) | N, | ||
integer, dimension(0:n-1), intent(in) | m, | ||
integer, dimension(0:2*n-1), intent(in) | s, | ||
complex(wp), dimension(0:2*n-1), intent(in) | k | ||
) |
Multi-dimensional triangular integral of exponentials and powers.
Evaluate the nested many-dimensional triangular integral
\[ \int\limits_a^{+\infty} \dots \int\limits_{r_3}^{+\infty} \mathrm{e}^{\mathrm{i}s_4 \theta_4(r_2)} r_2^{m_2} \mathrm{e}^{\mathrm{i}s_3 \theta_3(r_2)} \int\limits_{r_2}^{+\infty} \mathrm{e}^{\mathrm{i}s_2 \theta_2(r_1)} r_1^{m_1} \mathrm{e}^{\mathrm{i}s_1 \theta_1(r_1)} \mathrm{d}r_1 \mathrm{d}r_2 \mathrm{d}r_3 \dots \]
where
\[ \theta_1(r_1) = k_1 r + \log(2 k_1 r)/k_1 - \pi l_1/2 + \sigma_{l_1}(k_1) \]
is the asymptotic phase of a Coulomb function. The arrays passed to this function need to be ordered from the inner-most (right-most) integral outward. The function result does not contain the overall phase and damp factor, which needs to be added manually.
a | Lower bound |
c | Damping factor (additional exp(-c*r) added to all r^m functions) |
N | Dimension (number of integration variables) |
m | Array of integer powers of length N |
s | Array of integer signs (+1 or -1) in exponents of length 2*N |
k | Array of linear momenta of length 2*N |
Definition at line 66 of file multidip_integ.f90.