![]() |
Hex
2.2
Hydrogen-electron collision solver
|
#include <map>#include <string>#include <vector>#include "hex-interpolate.h"#include "hex-chebyshev.h"#include "hex-special.h"#include "hex-version.h"#include "../quantities.h"#include "../utils.h"
Functions | |
| createNewScatteringQuantity (ScatteringAmplitudeDir, "scatamp-dir") std | |
| void | hex_scattering_amplitude_dir (int ni, int li, int mi, int nf, int lf, int mf, int S, double E, int N, double alpha, double beta, double gamma, double *angles, double *result) |
| Scattering anplitude for non-aligned impact direction (C). More... | |
| void | hex_scattering_amplitude_dir_ (int *ni, int *li, int *mi, int *nf, int *lf, int *mf, int *S, double *E, int *N, double *alpha, double *beta, double *gamma, double *angles, double *result) |
| Scattering anplitude for non-aligned impact direction (Fortran). More... | |
| createNewScatteringQuantity | ( | ScatteringAmplitudeDir | , |
| "scatamp-dir" | |||
| ) |
| void hex_scattering_amplitude_dir | ( | int | ni, |
| int | li, | ||
| int | mi, | ||
| int | nf, | ||
| int | lf, | ||
| int | mf, | ||
| int | S, | ||
| double | E, | ||
| int | N, | ||
| double | alpha, | ||
| double | beta, | ||
| double | gamma, | ||
| double * | angles, | ||
| double * | result | ||
| ) |
C prototype.
See hex_scattering_amplitude_dir_ for theory.
| ni | Initial atomic principal quantum number. |
| li | Initial atomic orbital quantum number. |
| mi | Initial atomic magnetic quantum number. |
| nf | Final atomic principal quantum number. |
| lf | Final atomic orbital quantum number. |
| mf | Final atomic magnetic quantum number. |
| S | Total spin (0 = singlet, 1 = triplet). |
| E | Impact energy in Rydbergs. |
| N | Sample count. |
| alpha | Impact angle (first of Euler angles). |
| beta | Impact angle (second of Euler angles). |
| gamma | Impact angle (third of Euler angles). |
| angles | Real array of length N containing scattering angles. |
| result | Complex array of length N (or real array of length 2N) to contain the amplitudes. |
| void hex_scattering_amplitude_dir_ | ( | int * | ni, |
| int * | li, | ||
| int * | mi, | ||
| int * | nf, | ||
| int * | lf, | ||
| int * | mf, | ||
| int * | S, | ||
| double * | E, | ||
| int * | N, | ||
| double * | alpha, | ||
| double * | beta, | ||
| double * | gamma, | ||
| double * | angles, | ||
| double * | result | ||
| ) |
This function will evaluate the scattering amplitude when the projectile is coming in a direction different from the quantization axis, i.e. when
\[ \mathbf{k}_i \neq (0, 0, k_i) \,. \]
In that case the of the scattering amplitude can be computed using Wigner d-function and all possible amplitudes from scattering between various magnetic levels. The reason for this is that such situation is equivalent to a change of the quantization axis by the same amount. To be precise, it is
\[ T_{n_f l_f m_f \leftarrow n_i l_i m_i} = \sum_{m_i' m_f'} D_{m_i' m_i}^{l_i} D_{m_f' m_f}^{l_f \ast} T_{n_f l_f m_f' \leftarrow n_i l_i m_i'} \,. \]
Fortran prototype equivalent to
| ni | Initial atomic principal quantum number. |
| li | Initial atomic orbital quantum number. |
| mi | Initial atomic magnetic quantum number. |
| nf | Final atomic principal quantum number. |
| lf | Final atomic orbital quantum number. |
| mf | Final atomic magnetic quantum number. |
| S | Total spin (0 = singlet, 1 = triplet). |
| E | Impact energy in Rydbergs. |
| N | Sample count. |
| alpha | Impact angle (first of Euler angles). |
| beta | Impact angle (second of Euler angles). |
| gamma | Impact angle (third of Euler angles). |
| angles | Real array of length N containing scattering angles. |
| result | Complex array of length N (or real array of length 2N) to contain the amplitudes. |
1.8.13