RFT_nonlinear Module Subroutine

public module subroutine RFT_nonlinear(Kmat, Jmin, Jmax, Smat_J, elec_channels, N_states, asymtop_rot_channels_l, asymtop_rot_channels_l_J, spin_isomer_kind, symaxis, real_spherical_harmonics, point_group)

Build the electronic S-matrix from the electronic K-matrix, then perform the rotational frame transformation on the S-matrix

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(inout), allocatable :: Kmat(:,:)

The K-matrix, needed as input for the RFT

integer, intent(in) :: Jmin

The lowest value of J = N + l

integer, intent(in) :: Jmax

The largest value of J = N + l

type(cmatrix_type), intent(out) :: Smat_J(Jmin:Jmax)

The rotational S-matrices , produced by the RFT

type(elec_channel_type), intent(in) :: elec_channels(:)

The array of electronic channels (n, l, ml), needed as input for the RFT

type(N_states_type), intent(in) :: N_states(:)

The array of rotational states of the target (N, Ka, Kc), needed as input for the RFT

type(asymtop_rot_channel_l_type), intent(out), allocatable :: asymtop_rot_channels_l(:)

The array of rotational channels (N, Ka, Kc, l) that make up the basis of the S-matrix

type(asymtop_rot_channel_l_vector_type), intent(out) :: asymtop_rot_channels_l_J(Jmin:Jmax)

The array of arrays of rotational channels (N, Ka, Kc, l) that make up the basis of the S-matrix subblocks at each J

integer, intent(in) :: spin_isomer_kind

Spin isomer kind

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

Symmetry axis for respecting nuclear spin symmetry

logical, intent(in) :: real_spherical_harmonics

Whether the input K-matrices are evaluated in a basis of real spherical harmonics for the scattering electron. If .true., transform the S-matrix into a basis of complex-valued spherical harmonics

character(len=*), intent(in) :: point_group

The point group of the calculation