calculates Percival-Seaton coefficients (body-fixed variant)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=int32), | intent(in) | :: | j_ |
pre-collisional rotational angular momentum |
||
integer(kind=int32), | intent(in) | :: | j_prime_ |
post-collisional rotational angular momentum |
||
integer(kind=int32), | intent(in) | :: | lambda_ |
Legendre expansion coefficient \( \lambda\) |
||
integer(kind=int32), | intent(in) | :: | omega_ |
\(\bar{\Omega}\) |
(out) result: percival seaton coefficient in the body-fixed frame
function percival_seaton_coefficient(j_, j_prime_, lambda_, omega_) &
result(percival_seaton_coefficient_)
!! calculates Percival-Seaton coefficients (body-fixed variant)
!! \begin{equation}
!! \label{eq:algebraic_coeffs}
!! g_{{\lambda},\gamma,\gamma'}^{Jp} =
!! \delta_{\bar{\Omega},\bar{\Omega}'} (-1)^{\bar{\Omega}}
!! \sqrt{(2j+1)(2j'+1)}
!! \begin{pmatrix}
!! j & j' & \lambda \\ 0 & 0 & 0
!! \end{pmatrix}
!! \begin{pmatrix}
!! j & j' & \lambda \\ \bar{\Omega} & -\bar{\Omega} & 0 \end{pmatrix}.
!! \end{equation}
!---------------------------------------------------------------------!
use fwigxjpf, only: fwig3jj
!---------------------------------------------------------------------!
integer(int32), intent(in) :: j_
!! pre-collisional rotational angular momentum
integer(int32), intent(in) :: j_prime_
!! post-collisional rotational angular momentum
integer(int32), intent(in) :: omega_
!! \\(\bar{\Omega}\\)
integer(int32), intent(in) :: lambda_
!! Legendre expansion coefficient \\( \lambda\\)
real(dp) :: percival_seaton_coefficient_
!! (out) result: percival seaton coefficient in the body-fixed frame
!---------------------------------------------------------------------!
percival_seaton_coefficient_ = (-1.0_dp)**(omega_) * sqrt( &
real((2 * j_ + 1) * (2 * j_prime_ + 1), dp)) &
* fwig3jj(2* j_ , 2* j_prime_ , 2* lambda_, 0, 0, 0) &
* fwig3jj(2* j_ , 2* j_prime_ , 2* lambda_, &
2 * omega_, -2 * omega_, 0)
!---------------------------------------------------------------------!
end function percival_seaton_coefficient