Hex: src/var/scatamp.cpp File Reference

| Hex 2.2 Hydrogen-electron collision solver

Functions | Variables
scatamp.cpp File Reference
`#include <cmath>`
`#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.cpp:

## Functions

| createNewScatteringQuantity (ScatteringAmplitude, "scatamp") extern void hex_tmat_pw_transform(int ni
void | hex_scattering_amplitude (int ni, int li, int mi, int nf, int lf, int mf, int S, int nEnergies, double *energies, int nAngles, double *angles, double *result, double *extra)
| Scattering anplitude (C). More...
void | hex_scattering_amplitude_ (int *ni, int *li, int *mi, int *nf, int *lf, int *mf, int *S, int *nEnergies, double *energies, int *nAngles, double *angles, double *result, double *extra)
| Scattering anplitude (Fortran). More...

## Variables

int | li
int int | mi
int int int | nf
int int int int | lf
int int int int int | mf
int int int int int int | nEnergies
int int int int int int double * | energies
int int int int int int double bool | extra
int int int int int int double bool std::function< void(int ell, iArrays const &converged, iArrays const &complete, cArrays const &tmatrices) > | f

## Function Documentation

## ◆ createNewScatteringQuantity()

createNewScatteringQuantity | ( | ScatteringAmplitude | ,
|  | "scatamp" |
| ) |  |

## ◆ hex_scattering_amplitude()

void hex_scattering_amplitude | ( | int | ni,
|  | int | li,
|  | int | mi,
|  | int | nf,
|  | int | lf,
|  | int | mf,
|  | int | S,
|  | int | nEnergies,
|  | double * | energies,
|  | int | nAngles,
|  | double * | angles,
|  | double * | result,
|  | double * | extra
| ) |  |

C prototype.

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).
  nEnergies | Number of supplied impact energies.
  energies | Real array of length `nEnergies` containing impact energies in Rydbergs.
  nAngles | Number of supplied angles.
  angles | Real array of length `nAngles` containing scattering angles.
  result | Complex array of length `nEnergies*nAngles` (or real array of twice that length) to contain the amplitudes.
  extra | Extrapolated result (w.r.t. partial waves); optional - can be set to zero.

## ◆ hex_scattering_amplitude_()

void hex_scattering_amplitude_ | ( | int * | ni,
|  | int * | li,
|  | int * | mi,
|  | int * | nf,
|  | int * | lf,
|  | int * | mf,
|  | int * | S,
|  | int * | nEnergies,
|  | double * | energies,
|  | int * | nAngles,
|  | double * | angles,
|  | double * | result,
|  | double * | extra
| ) |  |

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).
  nEnergies | Number of supplied impact energies.
  energies | Real array of length `nEnergies` containing impact energies in Rydbergs.
  nAngles | Number of supplied angles.
  angles | Real array of length `nAngles` containing scattering angles.
  result | Complex array of length `nEnergies*nAngles` (or real array of twice that length) to contain the amplitudes.
  extra | Extrapolated result (w.r.t. partial waves); optional - can be set to zero.

## Variable Documentation

## ◆ energies

int int int int int int double* energies

## ◆ extra

int int int int int int double bool extra

## ◆ f

int int int int int int double bool std::function< void ( int ell, iArrays const & converged, iArrays const & complete, cArrays const & tmatrices ) > f

## ◆ lf

int int int int lf

## ◆ li

int li

## ◆ mf

int int int int int mf

## ◆ mi

int int mi

## ◆ nEnergies

int int int int int int nEnergies

## ◆ nf

int int int nf