Hex: src/var/scatamp-dir.cpp File Reference

| Hex 2.2 Hydrogen-electron collision solver

Functions
scatamp-dir.cpp File Reference
`#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"`
Include dependency graph for scatamp-dir.cpp:

## 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...

## Function Documentation

## ◆ createNewScatteringQuantity()

createNewScatteringQuantity | ( | ScatteringAmplitudeDir | ,
|  | "scatamp-dir" |
| ) |  |

## ◆ hex_scattering_amplitude_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.

Parameters

  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.

## ◆ hex_scattering_amplitude_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
| ) |  |

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

subroutine scattering_amplitude (ni,li,mi,nf,lf,mf,S,E,N,angles,result)
integer, intent(in) :: ni,li,mi
integer, intent(in) :: nf,lf,mf
integer, intent(int) :: s,n
double precision, intent(in) :: e
double precision, dimension(N) :: angles
double precision, dimension(2*N) :: result

Parameters

  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.