percival_seaton_coefficient Function

public function percival_seaton_coefficient(j_, j_prime_, lambda_, omega_) result(percival_seaton_coefficient_)

Uses

    • fwigxjpf
  • proc~~percival_seaton_coefficient~~UsesGraph proc~percival_seaton_coefficient percival_seaton_coefficient fwigxjpf fwigxjpf proc~percival_seaton_coefficient->fwigxjpf

calculates Percival-Seaton coefficients (body-fixed variant)

Arguments

Type IntentOptional 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}\)

Return Value real(kind=dp)

(out) result: percival seaton coefficient in the body-fixed frame


Calls

proc~~percival_seaton_coefficient~~CallsGraph proc~percival_seaton_coefficient percival_seaton_coefficient fwig3jj fwig3jj proc~percival_seaton_coefficient->fwig3jj

Called by

proc~~percival_seaton_coefficient~~CalledByGraph proc~percival_seaton_coefficient percival_seaton_coefficient proc~process_single_matrix_element process_single_matrix_element proc~process_single_matrix_element->proc~percival_seaton_coefficient proc~prepare_pes_matrix_elements prepare_pes_matrix_elements proc~prepare_pes_matrix_elements->proc~process_single_matrix_element proc~initialize_pes_matrix initialize_pes_matrix proc~initialize_pes_matrix->proc~prepare_pes_matrix_elements program~scattering SCATTERING program~scattering->proc~initialize_pes_matrix

Contents


Source Code

      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