get_CB_xs_asym Module Subroutine

public module subroutine get_CB_xs_asym(energies, sigma, Z, rotor_kind, N, Np, E, Ep, eigvec, eigvecp, einsta, use_CDMS, do_dipole, do_quadrupole, dipole_moments, quadrupole_moments, analytic_total_cb, lmax)

Calculate the excitation and de-excitation cross sections (xs) for an asymmetric top up. The sum over partial waves is either truncated to or determined analytically. The summation over the angular momentum components, multipole terms, and partial waves are separable for each value of λ as summation = (sum over angular momentum and multipole moments) (sum overpartial waves).

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: energies(:)

Array of scattering energies to consider

real(kind=dp), intent(out), allocatable :: sigma(:)

Cross sections calculated on a grid of scattering energies for Returned with the same size as energies

integer, intent(in) :: Z

Target charge

character(len=1), intent(in) :: rotor_kind

The kind of rotor we're dealing with: a(symmetric top), s(ymmetric top), l(inear rotor)

integer, intent(in) :: N

the angular momentum quantum number

integer, intent(in) :: Np

the angular momentum quantum number

real(kind=dp), intent(in) :: E

The energy (hartrees) of the initial state

real(kind=dp), intent(in) :: Ep

The energy (hartrees) of the final state

complex(kind=dp), intent(in) :: eigvec(:)

Eigenvector of the initial state in the basis of symmetric top wavefunctions; the coefficients (c^{N,\tau}_K)

complex(kind=dp), intent(in) :: eigvecp(:)

Eigenvector of the final state in the basis of symmetric top wavefunctions; the coefficients (c^{N',\tau'}_{K})

real(kind=dp), intent(inout) :: einsta

The Einstein coefficient for the transition

logical, intent(in) :: use_CDMS

Whether to calculate the Einstein A coefficients ourselves (.true.) or to use values obtained from the CDMS catalogue (.false.)

logical, intent(in) :: do_dipole
logical, intent(in) :: do_quadrupole
complex(kind=dp), intent(in), target :: dipole_moments(3)

The spherical dipole moments

complex(kind=dp), intent(in), target :: quadrupole_moments(5)

The spherical quadrupole moments

logical, intent(in) :: analytic_total_cb(:)

Array of values telling us whether we want to use the analytic expression for lmax -> infintiy

integer, intent(in) :: lmax

The max value of the orbital angular momentum quantum number l to consider