Cloudy
Spectral Synthesis Code for Astrophysics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
atom_hyperfine.cpp File Reference
#include "cddefines.h"
#include "abund.h"
#include "conv.h"
#include "phycon.h"
#include "dense.h"
#include "rfield.h"
#include "taulines.h"
#include "iso.h"
#include "trace.h"
#include "hyperfine.h"
#include "lines_service.h"
#include "service.h"
Include dependency graph for atom_hyperfine.cpp:

Classes

struct  t_ColStr
 

Functions

void H21_cm_pops (void)
 
double H21cm_electron (double temp)
 
STATIC double h21_t_ge_10 (double temp)
 
STATIC double h21_t_lt_10 (double temp)
 
double H21cm_H_atom (double temp)
 
double H21cm_proton (double temp)
 
void HyperfineCreate (void)
 
double HyperfineCS (size_t i)
 
double HyperfineTspin (const TransitionProxy &t)
 

Variables

static int Ntemp = -1
 
static vector< double > csTemp
 
static vector< t_ColStrcolstr
 
const double ENERGY_MIN_WN = 1e-10
 

Function Documentation

STATIC double h21_t_ge_10 ( double  temp)

References MIN2, pow(), and pow2().

Referenced by H21cm_H_atom().

Here is the call graph for this function:

STATIC double h21_t_lt_10 ( double  temp)

References MAX2, and pow2().

Referenced by H21cm_H_atom().

Here is the call graph for this function:

double H21cm_electron ( double  temp)

H21cm_electron computes rate for H 21 cm from upper to lower excitation by electrons >>refer H1 cs Smith, F.J., 1966, Planet. Space Sci 14, 929

Parameters
temp

References exp10(), MIN2, powpq(), and sexp().

Referenced by CoolHyperfine(), and radius_increment().

Here is the call graph for this function:

double H21cm_H_atom ( double  temp)

H21cm_H_atom computes rate for H 21 cm from upper to lower excitation by atomic hydrogen from >>refer H1 cs Allison, A.C. & Dalgarno, A., 1969, ApJ 158, 423

Parameters
temptemperature

References h21_t_ge_10(), and h21_t_lt_10().

Referenced by CoolHyperfine(), and radius_increment().

Here is the call graph for this function:

double H21cm_proton ( double  temp)

H21cm_proton - evaluate proton spin changing H atom collision rate, from >>refer 21cm p coll Furlanetto, S.R. & Furlanetto, M.R. 2007, >>refcon MNRAS, doi:10.1111/j.1365-2966.2007.11921.x

Parameters
temptemperature

References MAX2, and MIN2.

Referenced by CoolHyperfine().

double HyperfineCS ( size_t  i)
HyperfineCS - returns interpolated collision strength for element nelem and ion ion 
Parameters
i

References ASSERT, DEBUG_ENTRY, exp10(), HFLines, Ntemp, phycon, TransitionList::size(), splint(), and t_phycon::te.

Referenced by CoolHyperfine(), and HyperfineCreate().

Here is the call graph for this function:

double HyperfineTspin ( const TransitionProxy t)

HyperfineTspin

Compute spin (excitation) temperature for HFS line. The spin temperature is always finite (> 0, or < 0 if masing). The kinetic temperature is used if the spin temperature evaluates to 0, or if the upper limit has a population that is too small (~< 2e-36 cm^-3) to reliably compute the spin temperature.

Parameters
t[in] Transition
Returns
Tspin

References ASSERT, DEBUG_ENTRY, TransitionProxy::Hi(), phycon, SMALLFLOAT, t_phycon::te, and TexcLine().

Referenced by H21_cm_pops().

Here is the call graph for this function:

Variable Documentation

vector<t_ColStr> colstr
static
vector<double> csTemp
static
const double ENERGY_MIN_WN = 1e-10
int Ntemp = -1
static

Referenced by HyperfineCreate(), and HyperfineCS().