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
niInitial atomic principal quantum number.
liInitial atomic orbital quantum number.
miInitial atomic magnetic quantum number.
nfFinal atomic principal quantum number.
lfFinal atomic orbital quantum number.
mfFinal atomic magnetic quantum number.
STotal spin (0 = singlet, 1 = triplet).
nEnergiesNumber of supplied impact energies.
energiesReal array of length nEnergies containing impact energies in Rydbergs.
nAnglesNumber of supplied angles.
anglesReal array of length nAngles containing scattering angles.
resultComplex array of length nEnergies*nAngles (or real array of twice that length) to contain the amplitudes.
extraExtrapolated 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
niInitial atomic principal quantum number.
liInitial atomic orbital quantum number.
miInitial atomic magnetic quantum number.
nfFinal atomic principal quantum number.
lfFinal atomic orbital quantum number.
mfFinal atomic magnetic quantum number.
STotal spin (0 = singlet, 1 = triplet).
nEnergiesNumber of supplied impact energies.
energiesReal array of length nEnergies containing impact energies in Rydbergs.
nAnglesNumber of supplied angles.
anglesReal array of length nAngles containing scattering angles.
resultComplex array of length nEnergies*nAngles (or real array of twice that length) to contain the amplitudes.
extraExtrapolated 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