Derived type containing data from the namelist variables
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| logical, | public | :: | add_cd4 | = | .true. |
Add centrifugal distortion for fourth order ? |
|
| logical, | public | :: | add_cd6 | = | .true. |
Add centrifugal distortion for sixth order ? |
|
| logical, | public | :: | only_einsta |
Whether to only calculate the Einstein A coefficients in the Coulomb-Born cross section routine |
|||
| logical, | public | :: | use_CDMS_einstA |
Whether to use Einstein A coefficients obtained from the CDMS or calculate them ourselves Path for the file containing the CDMS data to be read (if use_CDMS_einstA is .true.) |
|||
| logical, | public | :: | analytic_total_cb(2) |
Array of logicals that has the size 2. Choose whether to use the analytic equation describing the multipole expansions for the dipole (element 1) and the quadrupole (element 2, not yet available) |
|||
| logical, | public | :: | do_xtrap |
Do the extrapolation of (de-)excitation cross sections as 1/E to the excitation threshold ? |
|||
| logical, | public | :: | do_dipole |
Choose whether to use the dipole term of the potential expansion |
|||
| logical, | public | :: | do_quadrupole |
Choose whether to use the quadrupole term of the potential expansion |
|||
| logical, | public | :: | use_kmat |
Calculate (de-)excitation cross sections using precomputed K-matrices ? |
|||
| logical, | public | :: | use_cb |
Calculate (de-)excitation cross sections using the Coulomb-Born approxiation ? |
|||
| logical, | public | :: | real_spherical_harmonics |
Whether the input K-matrices are evaluated in a basis of real spherical harmonics for the scattering electron. If .true., it will be transformed to a basis of complex-valued spherical harmonics |
|||
| integer, | public | :: | spin_isomer_kind |
Whether and how to enforce ortho/para symmetry for molecules with identical nuclei. 0: don't 1: Dsh linear rotor; basically, homonuclear diatomics 2: C2v rotor (H₂X-like): preserve Ka+Kc parity Note that this just disables certain transitions from bein calculated in the CB approx as well as from the S-matrix. This does not affect the RFT because higher J-blocks of the S-matrix are more affected by K-mixing (Ka and Kc are not exact quantum numbers) |
|||
| integer, | public | :: | nE |
The number of scattering energies to consider. This does not need to be very high; the CB cross sections are very smooth and can easily be interpolated. |
|||
| integer, | public | :: | nE_xtrap |
Number of extrapolation energies. Excitation cross sections are extrapolated as 1/E to the excitation threshold, de-excitation cross sections are extrapolated as 1/E to Ei_xtrap. If this is 0, no exptrapolation will be performed. |
|||
| integer, | public | :: | lmax_partial |
The maximum value of l to consider in the contribution of the partial CB cross section from the dipole and the quadrupole. If you're replacing the low-l CB cross sections with other cross sections, set this to the max l that you have available. |
|||
| integer, | public | :: | lmax_total |
The maximum value of l to consider in the contribution of the total CB cross section in the even that you're not using the analytic expression, from the dipole and the quadrupole |
|||
| integer, | public | :: | Nmin |
The minimum value of the rotational quantum number (N) to consider |
|||
| integer, | public | :: | Nmax |
The maximum value of the rotational quantum number (N) to consider |
|||
| integer, | public | :: | target_charge |
The electric charge of the target |
|||
| integer, | public | :: | lmax_kmat |
The max partial wave to be included in the K-matrix basis. Cannot exceed the available basis in the calculation, but can be smaller than the largest available partial wave |
|||
| integer, | public | :: | num_egrid_segs |
Number of energy grid segments (evaluation energy for the cross sections) |
|||
| integer, | public, | allocatable | :: | num_egrid(:) |
Array of number of energies per grid segment (length num_egrid_segs) |
||
| integer, | public, | allocatable | :: | spinmults(:) |
Array of spin multiplicities (2S+1) for which the system's (target + e⁻) K-matrices were calculated |
||
| real(kind=dp), | public | :: | xs_zero_threshold |
Any cross section with value only smaller than this (cm²) will be ignore and will not be printed |
|||
| real(kind=dp), | public | :: | eta_thresh |
The largest value of η' allowed for evaluating the hypergeometric functions ₂F₁(a,b;c;z) |
|||
| real(kind=dp), | public | :: | Ef |
The last electron energy for excitation to consider relative to the initial state's energy |
|||
| real(kind=dp), | public | :: | Ei_xtrap |
The lowest electron energy for de-excitation relative to the initial state's energy. The results will be extrapolated from Ei down to this assuming a 1/E dependence for the cross section, i.e., constant excitation probablility. If this .le. 0, no extrapolation will not be performed. Units: (eV) |
|||
| real(kind=dp), | public | :: | kmat_energy_closest |
Input K-matrices are evaluated at a specific energy. If this code is run energy-independently (most likely the case unless I add energy dependence in the future) The K-matrix that is selected will be the FIRST ONE whose evaluation energy is CLOSEST to this energy in (eV). NOTE: UKRMOL+ outputs K-matrix energies in the .kmat files in Rydberg. |
|||
| real(kind=dp), | public | :: | abc(3) |
Array of reals of length 3 The rotational constants A, B, and C of the target molecule (cm⁻¹). |
|||
| real(kind=dp), | public | :: | B_rot |
Only for linear rotors; the rotational constant B in the expansion of the rotational energy : E(N) = B N(N+1) - D[N(N+1)]² + H[N(N+1)]³ ... Cannot be 0 for a linear molecule |
|||
| real(kind=dp), | public | :: | D_rot |
Only for linear rotors; the centrifugal distortion coefficient D in the expansion of the rotational energy : E(N) = B N(N+1) - D[N(N+1)]² + H[N(N+1)]³ ... 0 by default |
|||
| real(kind=dp), | public | :: | H_rot |
Only for linear rotors; the centrifugal distortion coefficient D in the expansion of the rotational energy : E(N) = B N(N+1) - D[N(N+1)]² + H[N(N+1)]³ ... 0 by default |
|||
| real(kind=dp), | public | :: | cartesian_dipole_moments(3) |
Array of cartesian dipole moments (Debye) in the order dx, dy, dz |
|||
| real(kind=dp), | public | :: | cartesian_quadrupole_moments(6) |
Array of cartesian quadrupole moments (Debye) in the order Qxx, Qxy, Qxz, Qyy, Qyz, Qzz |
|||
| real(kind=dp), | public, | allocatable | :: | egrid_segs(:) |
Array of the bounds (non-degenerate) of the energy grid segments (length num_egrid_segs + 1) |
||
| character(len=1), | public | :: | rotor_kind |
The kind of rotor that describes the targer. Character(1). Choice of : "l"inear "a"symmetric top "s"ymmetric top |
|||
| character(len=1), | public | :: | zaxis |
The molecular axis (a, b, or c) along which the z-axis is oriented This should also be the symmetry axis |
|||
| character(len=1), | public | :: | channel_energy_units_override |
The units of the channel energies in the file that holds channels. Options are : - "r" for Rydberg, "h" for hartree, "e" for eV By default, this is not set and will allow the code to determine channel energies on its own based on KMAT_OUTPUT_TYPE, but can be forcibly overridden with this |
|||
| character(len=1), | public | :: | kmat_energy_units_override |
The units of the K-matrix evaluation energies in the kmat file. Options are : - "r" for Rydberg, "h" for hartree, "e" for eV By default, this is not set and will allow the code to determine channel energies on its own based on KMAT_OUTPUT_TYPE, but can be forcibly overridden with this |
|||
| character(len=3), | public | :: | egrid_spacing |
The kind of spacing for the energy grid segments. "lin" for linear and "log" for logarithmic |
|||
| character(len=:), | public, | allocatable | :: | point_group |
The point group in which the K-matrices were calculated |
||
| character(len=:), | public, | allocatable | :: | kmat_dir |
Path for the file containing the K-matrix to be read. Absolute or relative |
||
| character(len=:), | public, | allocatable | :: | channels_dir |
Path for the file containing the channels for the K-matrix to be read. Absolute or relative This is only used if kmat_output_type is ukrmol+ because the channel and K-matrix files are separate |
||
| character(len=:), | public, | allocatable | :: | output_directory |
The directory in which to write the output data This directory must already exist |
||
| character(len=:), | public, | allocatable | :: | CDMS_file |
The file containing CDMS transitions |
||
| character(len=7), | public | :: | kmat_output_type |
Determines what kind of K-matrices we're reading. Two possible values: 'UKRMOL+': default UKRmol+ .kmat file 'MQDTR2K': a specific format given in the writeup. K-matrices are generated directly from the R-matrix, possibly with channel elimination and differently normalized Coulomb wavefunctions |
|||
| type(cd4_type), | public | :: | cd4 |
Centrifugal distortion parameters (4th order) for the rigid rotor Hamiltonian correction |
|||
| type(cd6_type), | public | :: | cd6 |
Centrifugal distortion parameters (6th order) for the rigid rotor Hamiltonian correction |