The input file can be found here.
Below, we provide the screenshot of this file.
Here, we choose to define collision energy through total energy by setting relative_energy_flag to 0: variable energy is thus interpreted as the total energy.
In this test, we fix the range of total angular momenta by setting jtot_min to 0 and jtot_max to 50. Is this enough to converge the cross-sections with respect to \(J\) to, let's say, the level of \(10^{-2} Å^{2}\)? Let's find out.
The basis in this test covers only number_of_basis_levels = 7 rovibrational levels. Note that the energy of only one of these states, \(v=0, j=9\), is higher than the total energy of the collision system, meaning only one level in the basis is closed. This might be too low, but the test here is supposed to just present basic capabilities of the code.
Vibrational and rotational quantum numbers, as well as corresponding internal energies of these levels are provided in the BASIS Namelist, through vib_levels, rot_levels and internal_energies arrays.
The next 6 variables provide information about the radial coupling terms file, and where already discussed in the Elastic scattering test. Note that we keep the same name for S-matrix and partial state-to-state cross-sections files.
Since we use exactly the same radial coupling terms file, namelist POTENTIAL provides the exact same variables as in the previous test.
The output file can be found here.
Input parameters are summarized at the beginning of the file:
Note that out of the 990 coupling terms provided in the 'oH2-He-radialterms.dat' file, only 28 terms were actually used in the calculations (see reduce_radial_coupling_terms procedure).
The number 28 stems from the fact that we have 7 levels in the basis.
There are 49 \( (v,j) \leftrightarrow (v',j') \) couplings possible, but the coupling terms (see Eq. (2) here) are symmetric with respect to the change of \( (v,j) \), and \( (v',j') \).
This limits the number of unique coupling terms to \( (7 \cdot 8) / 2 = 28\).
The information about each block is presented in the same way as in the previous example. Let's have a look at the last \(J\) block. The block comprises of 2 parity sub-blocks. The first one involves 36 scattering channels:
Note that the last 10 are closed - their energy is higher than the total energy of the system. All these 10 channels stem from the \(v=0, j=9\) basis level that we provided in the Input file.
The information at the bottom presents how much computational time and memory we save by using the body-fixed representation.
Since we have 36 channels, the coupling matrix should have \(36 \cdot 36 = 1296\) elements.
Most of them stem from the contribution from the interaction potential - see Eq. (1) here.
In the body-fixed frame, however, a lot of these elements are zero - since the PES does not couple different values of the projection of the rotational angular momentum on the body-fixed Z-axis, \(\bar{\Omega}\), as indicated by the Kronecker delta in Eq. (3) in the "Coupling Matrix" section.
So how much matrix elements of the PES contribution are non-zero?
This is written in the output file: only 106 out of 1296.
Note that each of these 106 terms involves a sum over \(\lambda\) (see Eq. (1) here).
In the H2-He case, if all elements of the sum for all non-zero matrix elements were non-zero, we would have to store \(106 \cdot 4 = 424\) algebraic coefficients \( g_{{\lambda},\gamma,\gamma'}^{Jp} \) for this block.
This is, however, not the case, as lots of algebraic coefficients vanish due to symmetry properties of the 3-j symbols.
Ultimately, we need to save only 286 algebraic coefficients.
Let's scroll down to the information about the other parity sub-block at \(J=50\):
This block is slightly smaller - it involves 29 channels.
This is because, in atom-molecule collisions, \(\bar{\Omega} = 0\) channels enter only blocks for which the \(p=(-1)^{J}\) block.
For a detailed discussion see Sec. III of the paper by Alexander and DePristo.
Below the summary of the propagation and unitary check of the S-matrix, we find the following information:
This short summary tells us that the largest contribution to the elastic cross-sections from the \(J=50\) block is \(0.033 Å^{2}\).
Comparing it to the total value of the largest elastic cross-section, \(\sigma = 50.024 Å^{2}\), we can say that the contribution is smaller than 0.1%, and thus terminate the calculations. Sometimes, however, we can set a more stringent threshold on the contribution to the cross-sections, as we did in the previous test.
The largest inelastic cross-section was modified by \(\approx 5.7 \times 10^{-4} Å^{2} \). To say that it's enough depends on the context.
Here, the largest inelastic cross-section is \(\sigma = 1.8328 Å^{2}\), thus this level of convergence might be satisfactory.
Note that inelastic cross-sections converge faster than elastic counterparts.
The end of the file provides a list of all state-to-state cross-sections calculated in this run:
In addition to the output file, the calculations produce a file containing partial state-to-state cross-sections, which is available here, and the binary S-matrix file here. The latter one needs a post-processor to read and interpret the saved data.
A correspodning MOLSCAT test is provided here.
Due to MOLSCAT's large computational time for itype = 7 with a large number of coupling terms, I have run parallel calculations for each JTOT block.
pre_oH2He7.in is a template input file. Each task in the job array modifies "jtotl" and "jtotu" values, to run one JTOT block at a time.
out.*
, where * = 0, 1, ... 50, provide the output of each JTOT block, see out.10 for example.
S-matrices resulting from parallel calculations were later combined into one file and state-to-state cross-sections were calculated using one of MOLSCAT's post-processors.
The output of the post-processor is given in final_output.dat file.
The results agree to the level better than 0.002%, as presented in the table below.
\(v_{f}\) | \(j_{f}\) | \(v_{i}\) | \(j_{f}\) | \(E_{\mathrm{kin}}\) | BIGOS | MOLSCAT | Rel. Diff. (%) |
---|---|---|---|---|---|---|---|
0 | 1 | 0 | 1 | 4781.51 | 3.5183E+01 | 3.5183E+01 | 0.002 |
0 | 3 | 0 | 1 | 4781.51 | 1.8328E+00 | 1.8328E+00 | 0.000 |
0 | 5 | 0 | 1 | 4781.51 | 5.3204E-02 | 5.3204E-02 | 0.000 |
0 | 7 | 0 | 1 | 4781.51 | 8.5253E-05 | 8.5253E-05 | 0.000 |
0 | 1 | 0 | 3 | 4194.48 | 8.9543E-01 | 8.9543E-01 | 0.000 |
0 | 3 | 0 | 3 | 4194.48 | 3.6144E+01 | 3.6144E+01 | 0.001 |
0 | 5 | 0 | 3 | 4194.48 | 4.6606E-01 | 4.6606E-01 | 0.000 |
0 | 7 | 0 | 3 | 4194.48 | 1.0291E-03 | 1.0291E-03 | 0.000 |
0 | 1 | 0 | 5 | 3159.81 | 2.1957E-02 | 2.1957E-02 | 0.000 |
0 | 3 | 0 | 5 | 3159.81 | 3.9370E-01 | 3.9370E-01 | 0.000 |
0 | 5 | 0 | 5 | 3159.81 | 3.7972E+01 | 3.7972E+01 | 0.001 |
0 | 7 | 0 | 5 | 3159.81 | 3.4152E-02 | 3.4152E-02 | 0.000 |
1 | 1 | 0 | 5 | 3159.81 | 6.0255E-08 | 6.0255E-08 | 0.000 |
0 | 1 | 0 | 7 | 1712.53 | 4.7606E-05 | 4.7606E-05 | 0.000 |
0 | 3 | 0 | 7 | 1712.53 | 1.1762E-03 | 1.1762E-03 | 0.000 |
0 | 5 | 0 | 7 | 1712.53 | 4.6211E-02 | 4.6211E-02 | 0.000 |
0 | 7 | 0 | 7 | 1712.53 | 4.0296E+01 | 4.0296E+01 | 0.000 |
1 | 1 | 0 | 7 | 1712.53 | 1.7846E-07 | 1.7846E-07 | 0.000 |
1 | 3 | 0 | 7 | 1712.53 | 3.0599E-08 | 3.0599E-08 | 0.000 |
0 | 3 | 1 | 1 | 626.26 | 1.0207E-07 | 1.0207E-07 | 0.000 |
0 | 5 | 1 | 1 | 626.26 | 1.1147E-06 | 1.1147E-06 | 0.000 |
0 | 7 | 1 | 1 | 626.26 | 2.4400E-06 | 2.4400E-06 | 0.000 |
1 | 1 | 1 | 1 | 626.26 | 4.3195E+01 | 4.3195E+01 | 0.000 |
1 | 3 | 1 | 1 | 626.26 | 7.8120E-03 | 7.8120E-03 | 0.000 |
0 | 5 | 1 | 3 | 68.61 | 4.0474E-08 | 4.0474E-08 | 0.000 |
0 | 7 | 1 | 3 | 68.61 | 1.6366E-06 | 1.6366E-06 | 0.000 |
1 | 1 | 1 | 3 | 68.61 | 3.0561E-02 | 3.0561E-02 | 0.000 |
1 | 3 | 1 | 3 | 68.61 | 5.0024E+01 | 5.0024E+01 | 0.000 |