Hex: src/var/ccs.cpp File Reference

| Hex 2.2 Hydrogen-electron collision solver

Functions
ccs.cpp File Reference
`#include <algorithm>`
`#include <map>`
`#include <string>`
`#include <vector>`
`#include "hex-chebyshev.h"`
`#include "hex-clenshawcurtis.h"`
`#include "hex-interpolate.h"`
`#include "hex-version.h"`
`#include "../quantities.h"`
`#include "../utils.h"`
Include dependency graph for ccs.cpp:

## Functions

| createNewScatteringQuantity (CompleteCrossSection, "ccs") std
void | hex_complete_cross_section (int ni, int li, int mi, int nf, int lf, int mf, int N, double *energies, double *ccs, int *Nall, int npws, int *pws)
| Complete cross section (C). More...
void | hex_complete_cross_section_ (int *ni, int *li, int *pmi, int *nf, int *lf, int *pmf, int *N, double *energies, double *ccs, int *n, int *npws, int *pws)
| Complete cross section (Fortran). More...

## Function Documentation

## ◆ createNewScatteringQuantity()

createNewScatteringQuantity | ( | CompleteCrossSection | ,
|  | "ccs" |
| ) |  |

## ◆ hex_complete_cross_section()

void hex_complete_cross_section | ( | int | ni,
|  | int | li,
|  | int | mi,
|  | int | nf,
|  | int | lf,
|  | int | mf,
|  | int | N,
|  | double * | energies,
|  | double * | ccs,
|  | int * | Nall,
|  | int | npws,
|  | int * | pws
| ) |  |

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.
  N | Sample count.
  energies | Real array of impact energies in Rydbergs.
  ccs | Real array of length N to contain the cross sections.
  Nall | Number of energies available in database; will be set if `ccs` is set to null pointer.
  pws | List of requested partial waves (or null pointer for all).
  npws | Size of `pws`.

## ◆ hex_complete_cross_section_()

void hex_complete_cross_section_ | ( | int * | ni,
|  | int * | li,
|  | int * | mi,
|  | int * | nf,
|  | int * | lf,
|  | int * | mf,
|  | int * | N,
|  | double * | energies,
|  | double * | ccs,
|  | int * | Nall,
|  | int * | npws,
|  | int * | pws
| ) |  |

Fortran prototype equivalent to

subroutine complete_cross_section (ni,li,mi,nf,lf,mf,N,energies,ccs,Nall)
integer, intent(in) :: ni,li,mi
integer, intent(in) :: nf,lf,mf
integer, intent(in) :: n
double precision, dimension(N) :: energies
double precision, dimension(2*N) :: ccs
integer, intent(out) :: nall

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.
  N | Sample count.
  energies | Real array of impact energies in Rydbergs.
  ccs | Real array of length N to contain the cross sections.
  Nall | Number of energies available in database; will be set if `ccs` is set to null pointer.
  pws | List of requested partial waves (or null pointer for all).
  npws | Size of `pws`.