Cloudy
Spectral Synthesis Code for Astrophysics
Loading...
Searching...
No Matches
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
 

Function Documentation

◆ H21_cm_pops()

void H21_cm_pops ( void )

H21_cm_pops - fine level populations for 21 cm with Lya pumping included

References ASSERT, t_hyperfine::CONSTANT, conv, dense, e1(), e2(), t_hyperfine::EXCITATION, fixit, fprintf(), HFLines, hyperfine, HyperfineTspin(), ioQQQ, ipH1s, ipH2p, ipH_LIKE, ipHYDROGEN, iso_sp, t_hyperfine::KINETIC, OccupationNumberLine(), phycon, powi(), rfield, SDIV(), set_xIntensity(), sexp(), TexcLine(), and TotalInsanity().

Referenced by CoolHyperfine().

Here is the call graph for this function:

◆ h21_t_ge_10()

STATIC double h21_t_ge_10 ( double temp)

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

Referenced by H21cm_H_atom().

Here is the call graph for this function:

◆ h21_t_lt_10()

STATIC double h21_t_lt_10 ( double temp)

References MAX2, pow2, and STATIC.

Referenced by H21cm_H_atom().

◆ H21cm_electron()

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:

◆ H21cm_H_atom()

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:

◆ H21cm_proton()

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().

◆ HyperfineCreate()

void HyperfineCreate ( void )

HyperfineCreate - read in data files and create space for hyperfine lines, called by atmdat_readin at start of calculation

References abund, AllTransitions, ASSERT, cdEXIT, colstr, csTemp, DEBUG_ENTRY, dense, EXIT_FAILURE, FFmtRead(), fprintf(), GetGF(), HFLines, hyperfine, HyperfineCS(), ioQQQ, LIMELM, MakeCS(), Ntemp, open_data(), phycon, read_whole_line(), rfield, spline(), Split(), SPM_STRICT, trace, and wavelength.

Referenced by atmdat_readin().

Here is the call graph for this function:

◆ HyperfineCS()

double HyperfineCS ( size_t i)

HyperfineCS - returns interpolated collision strength for element nelem and ion ion

Parameters
i

References ASSERT, colstr, csTemp, DEBUG_ENTRY, exp10(), HFLines, Ntemp, phycon, and splint().

Referenced by CoolHyperfine(), and HyperfineCreate().

Here is the call graph for this function:

◆ HyperfineTspin()

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, and TexcLine().

Referenced by H21_cm_pops().

Here is the call graph for this function:

Variable Documentation

◆ colstr

vector<t_ColStr> colstr
static

Referenced by HyperfineCreate(), and HyperfineCS().

◆ csTemp

vector<double> csTemp
static

Referenced by HyperfineCreate(), and HyperfineCS().

◆ Ntemp

int Ntemp = -1
static

Referenced by HyperfineCreate(), and HyperfineCS().