combine_cb_smat_xs Module Subroutine

public module subroutine combine_cb_smat_xs(cfg, egrid_cb, egrid_tot_smat, transitions_cb, xs_xcite_pcb, xs_xcite_tcb, transitions_smat, xs_xcite_smat, xs_dxcite_smat)

Combine Coulomb-Born and S-matrix cross sections to be on the same electron energy grid. In general, a different number of transitions will exist for the Coulomb-Born cross sections and for the S-matrix cross sections. This routine matches the transitions, interpolates the CB cross sections to the total energy grid used by the S-matrix routines, and adds them together: σ(tot) = σ(S-mat) + σ(TCB) - σ(PCB)

Arguments

Type IntentOptional Attributes Name
type(config_type), intent(in) :: cfg

Program config variables

type(rvector_type), intent(in) :: egrid_cb(:)

Array of arrays of electron energy grids for the CB cross sections for each transition

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

The total energy grid on which the S-matrix cross sections were evaluated

type(asymtop_rot_transition_type), intent(in) :: transitions_cb(:)

Array of arrays of transition between two rotational states lo and up in the CB approx

type(rvector_type), intent(inout) :: xs_xcite_pcb(:)

Array of arrays of partial CB cross sections for each transition (excitation only, de-excitation handled by detailed balance)

type(rvector_type), intent(inout) :: xs_xcite_tcb(:)

Array of arrays of total CB cross sections for each transition (excitation only, de-excitation handled by detailed balance)

type(asymtop_rot_transition_type), intent(in) :: transitions_smat(:)

Array of arrays of transition between two rotational states lo and up using the S-matrix

type(rvector_type), intent(inout) :: xs_xcite_smat(:)

Array of arrays of S-matrix cross sections for each transition; excitation

type(rvector_type), intent(inout) :: xs_dxcite_smat(:)

Array of arrays of S-matrix cross sections for each transition; de-excitation