Cloudy
Spectral Synthesis Code for Astrophysics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
t_ADfA Class Reference

#include <atmdat_adfa.h>

Inheritance diagram for t_ADfA:
Collaboration diagram for t_ADfA:

Public Member Functions

void set_version (phfit_version val)
 
phfit_version get_version () const
 
realnum ph1 (int i, int j, int k, int l) const
 
double getEthresh (long nshell, long nel, long Z) const
 
realnum sth (int i) const
 
double phfit (long int nz, long int ne, long int is, double e)
 
double hpfit (long int iz, long int n, double e)
 
void rec_lines (double t, realnum r[][NRECCOEFCNO])
 
double rad_rec (long int iz, long int in, double t)
 
double H_rad_rec (long int iz, long int n, double t)
 
double coll_ion (long int iz, long int in, double t)
 
double coll_ion_wrapper (long int z, long int n, double t)
 
double coll_ion_hybrid (long int z, long int n, double t)
 
const realnumh_coll_str (long nHi, long lHi, long nLo, long lLo) const
 

Protected Member Functions

 t_ADfA ()
 

Private Member Functions

long set_vshell_index (long ne, long Z) const
 

Private Attributes

phfit_version version
 
long int L [NSHELLS]
 
long int NINN [LIMELM]
 
long int NTOT [LIMELM]
 
realnum PH1 [NSHELLS][LIMELM][LIMELM][NFIT_PH1]
 
realnum PH2 [LIMELM][LIMELM][NFIT_PH2]
 
realnum PHH [NHYDRO_MAX_LEVEL][5]
 
realnum P [8][110]
 
realnum ST [9][405]
 
realnum rrec [LIMELM][LIMELM][2]
 
realnum rnew [LIMELM][LIMELM][4]
 
realnum fe [13][3]
 
realnum HRF [NHYDRO_MAX_LEVEL][9]
 
realnum STH [NHYDRO_MAX_LEVEL]
 
double CF [LIMELM][LIMELM][5]
 
map< QNPair, array< realnum,
NHCSTE > > 
HCS
 

Static Private Attributes

static const int NSHELLS = 7
 
static const int NFIT_PH1 = 6
 
static const int NFIT_PH2 = 7
 

Friends

class Singleton< t_ADfA >
 

Additional Inherited Members

- Static Public Member Functions inherited from Singleton< t_ADfA >
static t_ADfAInst ()
 

Constructor & Destructor Documentation

t_ADfA::t_ADfA ( )
protected

Member Function Documentation

double t_ADfA::coll_ion ( long int  iz,
long int  in,
double  t 
)

coll_ion D Verner's routine to compute collisional ionization rate coefficients

Parameters
iz
in
t
Author
Dima Verner

References atmdat, CF, DEBUG_ENTRY, t_atmdat::lgCollIonOn, and pow().

Referenced by coll_ion_hybrid(), and coll_ion_wrapper().

Here is the call graph for this function:

double t_ADfA::coll_ion_hybrid ( long int  z,
long int  n,
double  t 
)

DereRatio ratio of Dere 2007 to Dima data, evaluated where ion is abundant

References ASSERT, coll_ion(), and DEBUG_ENTRY.

Referenced by coll_ion_wrapper().

Here is the call graph for this function:

double t_ADfA::coll_ion_wrapper ( long int  z,
long int  n,
double  t 
)
phfit_version t_ADfA::get_version ( ) const
inline

get_version which version of phfit data should be used?

References version.

Referenced by OpacityCreateAll().

double t_ADfA::getEthresh ( long  nshell,
long  nel,
long  Z 
) const

getEthresh – get ionization threshold for shell For inner shells use data of Verner et al. (1995) or (1996); for valence shells use NIST ionization potentials.

Parameters
nshell[in] shell index (1 - 1s, 2 - 2s, etc, <= 7)
nel[in] number of electrons in ion
Z[in] atomic number of element
Returns
ionization threshold, in eV

References atmdat, t_atmdat::getIonPot(), PH1, and set_vshell_index().

Referenced by hpfit(), ipShells(), OpacityCreate1Element(), phfit(), PresTotCurrent(), and SaveDo().

Here is the call graph for this function:

const realnum * t_ADfA::h_coll_str ( long  nHi,
long  lHi,
long  nLo,
long  lLo 
) const

h_coll_str routine to grab H cross sections from Anderson et al. 2002.

Parameters
ipLo
ipHi
ipTe

References ASSERT, DEBUG_ENTRY, and HCS.

Referenced by HCSAR_interp().

double t_ADfA::H_rad_rec ( long int  iz,
long int  n,
double  t 
)

H_rad_rec calculates state-specific recombination rates for H and H-like ions

Parameters
iz
n
t
Author
Dima Verner

References ASSERT, DEBUG_ENTRY, exp10(), HRF, NHYDRO_MAX_LEVEL, pow(), POW2, powi(), x1, and x2.

Referenced by iso_radiative_recomb(), iso_radrecomb_from_cross_section(), and iso_recomb_setup().

Here is the call graph for this function:

double t_ADfA::hpfit ( long int  iz,
long int  n,
double  e 
)

hpfit state specific photoionization cross sections for model hydrogen atom

Parameters
iz
n
e
Author
Dima Verner

References ASSERT, cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, fprintf(), getEthresh(), ioQQQ, MAX2, NHYDRO_MAX_LEVEL, PHH, pow(), and POW2.

Referenced by Opacity_iso_photo_cs().

Here is the call graph for this function:

realnum t_ADfA::ph1 ( int  i,
int  j,
int  k,
int  l 
) const
inline

ph1 access elements of PH1 data block with parameters for photoionization cross section fits

Parameters
i
j
k
l

References PH1.

double t_ADfA::phfit ( long int  nz,
long int  ne,
long int  is,
double  e 
)

phfit this subroutine calculates partial photoionization cross sections for all ionization stages of all atoms from H to Zn (Z=30)

Parameters
nz
ne
is
e
Author
Dima Verner

References ASSERT, DEBUG_ENTRY, getEthresh(), L, NINN, nint(), PH1, PH2, PHFIT95, pow(), POW2, set_vshell_index(), and version.

Referenced by InitBinAugerData(), Opacity_iso_photo_cs(), OpacityCreate1Element(), OpacityCreateAll(), and pah1_fun().

Here is the call graph for this function:

double t_ADfA::rad_rec ( long int  iz,
long int  in,
double  t 
)

rad_rec calculates rates of radiative recombination for all ions

Parameters
iznuclear number on physics scale
innumber of recombined electrons
ttemperature K
Author
Dima Verner

References cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, fe, fprintf(), ioQQQ, pow(), rnew, and rrec.

Referenced by ion_recom_calculate().

Here is the call graph for this function:

void t_ADfA::rec_lines ( double  t,
realnum  r[][NRECCOEFCNO] 
)

rec_lines effective recombination coefficients for lines of C, N, O, by D. Verner

Parameters
t
r
Author
Dima Verner

References a1, DEBUG_ENTRY, P, pow(), powpq(), and ST.

Referenced by lines(), and SaveLineData().

Here is the call graph for this function:

void t_ADfA::set_version ( phfit_version  val)
inline

set_version set version of phfit data to be used

Parameters
val

References version.

Referenced by pah1_fun(), ParseSet(), and zero().

long t_ADfA::set_vshell_index ( long  ne,
long  Z 
) const
inlineprivate

set_vshell_index – Set valence shell index for given ion The index is used to access the photoionization cross-section data of Verner et al. (1995) or (1996).

Parameters
[in]nenumber of electrons
[in]Zatomic number of element
Returns
long index of valence shell

References ipARGON, ipCALCIUM, ipIRON, ipMANGANESE, ipSCANDIUM, ipTITANIUM, and NTOT.

Referenced by getEthresh(), and phfit().

realnum t_ADfA::sth ( int  i) const
inline

sth array of cross sections for photoionization of hydrogen at threshold, 0 is 1s, 1 is 2s, 2 is 2p, up to 400

Parameters
i

References STH.

Friends And Related Function Documentation

friend class Singleton< t_ADfA >
friend

Member Data Documentation

double t_ADfA::CF[LIMELM][LIMELM][5]
private

Referenced by coll_ion(), and t_ADfA().

realnum t_ADfA::fe[13][3]
private

Referenced by rad_rec(), and t_ADfA().

map<QNPair, array<realnum,NHCSTE> > t_ADfA::HCS
private

array of EIE cross sections for hydrogen atom. For all E1 transitions nl - n'l', with n' < n <= 5

Referenced by h_coll_str(), and t_ADfA().

realnum t_ADfA::HRF[NHYDRO_MAX_LEVEL][9]
private

Referenced by H_rad_rec(), and t_ADfA().

long int t_ADfA::L[NSHELLS]
private

Referenced by phfit(), and t_ADfA().

const int t_ADfA::NFIT_PH1 = 6
staticprivate

Referenced by t_ADfA().

const int t_ADfA::NFIT_PH2 = 7
staticprivate

Referenced by t_ADfA().

long int t_ADfA::NINN[LIMELM]
private

Referenced by phfit(), and t_ADfA().

const int t_ADfA::NSHELLS = 7
staticprivate

Referenced by t_ADfA().

long int t_ADfA::NTOT[LIMELM]
private

Referenced by set_vshell_index(), and t_ADfA().

realnum t_ADfA::P[8][110]
private

Referenced by rec_lines(), and t_ADfA().

realnum t_ADfA::PH1[NSHELLS][LIMELM][LIMELM][NFIT_PH1]
private

Referenced by getEthresh(), ph1(), phfit(), and t_ADfA().

realnum t_ADfA::PH2[LIMELM][LIMELM][NFIT_PH2]
private

Referenced by phfit(), and t_ADfA().

realnum t_ADfA::PHH[NHYDRO_MAX_LEVEL][5]
private

Referenced by hpfit(), and t_ADfA().

realnum t_ADfA::rnew[LIMELM][LIMELM][4]
private

Referenced by rad_rec(), and t_ADfA().

realnum t_ADfA::rrec[LIMELM][LIMELM][2]
private

Referenced by rad_rec(), and t_ADfA().

realnum t_ADfA::ST[9][405]
private

Referenced by rec_lines(), and t_ADfA().

realnum t_ADfA::STH[NHYDRO_MAX_LEVEL]
private

array of cross sections for photoionization of hydrogen at threshold, 0 is 1s, 1 is 2s, 2 is 2p, up to 400

Referenced by sth(), and t_ADfA().

phfit_version t_ADfA::version
private

The documentation for this class was generated from the following files: