cloudy trunk
Loading...
Searching...
No Matches
atom_hyperfine.cpp File Reference
#include "cddefines.h"
#include "conv.h"
#include "lines_service.h"
#include "phycon.h"
#include "dense.h"
#include "rfield.h"
#include "taulines.h"
#include "iso.h"
#include "trace.h"
#include "hyperfine.h"
#include "physconst.h"
Include dependency graph for atom_hyperfine.cpp:

Go to the source code of this file.

Data Structures

struct  Ion

Macros

#define N_TE_TABLE   12

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 (long i)

Variables

static IonStrengths

Macro Definition Documentation

◆ N_TE_TABLE

#define N_TE_TABLE   12

Referenced by HyperfineCS().

Function Documentation

◆ H21_cm_pops()

void H21_cm_pops ( void )

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

Definition at line 25 of file atom_hyperfine.cpp.

References ASSERT, col_str, conv, dense, HFLines, hyperfine, ioQQQ, ipH1s, ipH2p, ipH_LIKE, ipHYDROGEN, iso_sp, OccupationNumberLine(), phycon, rfield, SDIV(), sexp(), SMALLFLOAT, T1CM, TexcLine(), and TotalInsanity().

Referenced by CoolEvaluate().

Here is the call graph for this function:

◆ h21_t_ge_10()

STATIC double h21_t_ge_10 ( double temp)

Definition at line 264 of file atom_hyperfine.cpp.

References MIN2, pow2(), STATIC, x1, and x2.

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)

Definition at line 290 of file atom_hyperfine.cpp.

References MAX2, pow2(), STATIC, and x1.

Referenced by H21cm_H_atom().

Here is the call graph for this function:

◆ 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

Definition at line 206 of file atom_hyperfine.cpp.

References MIN2, and sexp().

Referenced by CoolEvaluate(), 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

Definition at line 306 of file atom_hyperfine.cpp.

References h21_t_ge_10(), and h21_t_lt_10().

Referenced by CoolEvaluate(), 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

Definition at line 323 of file atom_hyperfine.cpp.

References MAX2, MIN2, x1, and x2.

Referenced by CoolEvaluate().

◆ HyperfineCreate()

void HyperfineCreate ( void )

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

Definition at line 392 of file atom_hyperfine.cpp.

References AllTransitions, ASSERT, cdEXIT, COLL_CONST, DEBUG_ENTRY, dense, EXIT_FAILURE, FFmtRead(), g, GetGF(), HFLines, hyperfine, HyperfineCS(), INPUT_LINE_LENGTH, ioQQQ, MALLOC, N, nHFLines, open_data(), phycon, read_whole_line(), Strengths, trace, and wavelength.

Referenced by atmdat_readin().

Here is the call graph for this function:

◆ HyperfineCS()

double HyperfineCS ( long i)

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

Parameters
i

Definition at line 581 of file atom_hyperfine.cpp.

References ASSERT, DEBUG_ENTRY, fp_equal(), N_TE_TABLE, nHFLines, phycon, and Strengths.

Referenced by CoolEvaluate(), and HyperfineCreate().

Here is the call graph for this function:

Variable Documentation

◆ Strengths

Ion* Strengths
static

Definition at line 389 of file atom_hyperfine.cpp.

Referenced by HyperfineCreate(), and HyperfineCS().