rotex__writing Module

Procedures for writing data to disk


Subroutines

public module subroutine write_lifetimes_to_file(output_directory, N_min, N_max, N_states, zaxis)

Writes the states involved in the excitation and their lifetimes

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: output_directory

The directory in which output files are placed

integer, intent(in) :: N_min

Minimum and maximum value of N for which lifetimes were evaluated

integer, intent(in) :: N_max

Minimum and maximum value of N for which lifetimes were evaluated

type(N_states_type), intent(in) :: N_states(:)
character(len=1), intent(in) :: zaxis

The array of states

public module subroutine write_CB_xs_to_file(prefix, output_directory, zaxis, E_el, xs, init, fin, lmax, xs_type)

Writes a Coulomb-Born cross section to a file whos name and file header carry information about the state symmetry

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: prefix

filename prefix

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

The directory in which output files are placed

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

The A, B, or C axis that lies along z

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

the scattering eneries in au

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

The excitation cross sections

type(asymtop_rot_channel_type), intent(in) :: init

Initial and final states for this transition

type(asymtop_rot_channel_type), intent(in) :: fin

Initial and final states for this transition

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

The max value of l for the CB cross sections ("inf" if total)

character(len=*), intent(in), optional :: xs_type

The kind of cross section that this is

public module subroutine write_smat_xs_to_file(prefix, output_directory, zaxis, egrid_total, transition, exxs, dexxs, lmax)

Writes an S-matrix (+CB) cross section to a file whos name and file header carry information about the state symmetry

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: prefix

filename prefix

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

The directory in which output files are placed

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

The A, B, or C axis that lies along z

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

The grid of total energies in au

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

The transition (excitation pair) to be consdered

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

Array of excitation cross sections for this/all spin multiplicities

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

Array of de-excitation cross sections for all spin multiplicities

integer, intent(in) :: lmax

The max value of l for the K-matrices

public module subroutine write_total_xs_to_file(prefix, output_directory, zaxis, Eel_ex, Eel_dex, transition, xs_xcite, xs_dxcite, lmax)

Write the total cross-sections (S-matrix + CB correction) to disk for a single transition

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: prefix

filename prefix

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

The directory in which output files are placed

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

The A, B, or C axis that lies along z

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

The excitation electron energy grid in au

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

The de-excitation electron energy grid in au

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

The transition to write to file

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

Array of arrays of excitation cross sections for all spin multiplicities

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

Array of arrays of de-excitation cross sections for all spin multiplicities

integer, intent(in) :: lmax

The max value of l for the K/S-matrices

public module subroutine write_channels_to_file(filename, jmin, jmax, n_states, channels_l, channels_l_j, spin_isomer_kind, symaxis)

Write rotational channel info to file

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: filename

File to which we write channels

integer, intent(in) :: jmin

Total angular momentum mim/max

integer, intent(in) :: jmax

Total angular momentum mim/max

type(N_states_type), intent(in) :: n_states(:)
type(asymtop_rot_channel_l_type), intent(in) :: channels_l(:)

Rotational channels

type(asymtop_rot_channel_l_vector_type), intent(in) :: channels_l_j(jmin:jmax)

Rotational channels for each J

integer, intent(in) :: spin_isomer_kind

Kind of nuclear spin to preserve

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

Symmetry axis for nuclear spin