Cloudy
Spectral Synthesis Code for Astrophysics
|
#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"
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_ColStr > | colstr |
const double | ENERGY_MIN_WN = 1e-10 |
void H21_cm_pops | ( | void | ) |
H21_cm_pops - fine level populations for 21 cm with Lya pumping included
References ASSERT, t_dense::cdsqte, t_hyperfine::CONSTANT, t_rfield::ContBoltz, conv, dense, e1(), e2(), TransitionList::Emis(), t_hyperfine::EXCITATION, fixit, fprintf(), HFLines, hyperfine, HyperfineTspin(), ioQQQ, ipH1s, ipH2p, ipH_LIKE, ipHYDROGEN, iso_sp, t_hyperfine::KINETIC, t_hyperfine::lgLya_pump_21cm, t_conv::lgSearch, t_hyperfine::LyaSourceFunctionShape_assumed, OccupationNumberLine(), phycon, powi(), rfield, SDIV(), set_xIntensity(), sexp(), t_iso_sp::st, t_phycon::te, TexcLine(), TotalInsanity(), and t_hyperfine::Tspin21cm.
Referenced by CoolHyperfine().
STATIC double h21_t_ge_10 | ( | double | temp | ) |
References MIN2, pow(), and pow2().
Referenced by H21cm_H_atom().
STATIC double h21_t_lt_10 | ( | double | temp | ) |
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
temp |
References exp10(), MIN2, powpq(), and sexp().
Referenced by CoolHyperfine(), and radius_increment().
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
temp | temperature |
References h21_t_ge_10(), and h21_t_lt_10().
Referenced by CoolHyperfine(), and radius_increment().
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
temp | temperature |
Referenced by CoolHyperfine().
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, DEBUG_ENTRY, dense, t_dense::eden, TransitionList::Emis(), t_mesh::emm(), EXIT_FAILURE, FFmtRead(), fprintf(), isotope::getAbn(), GetGF(), isotope::getMagMom(), isotope::getSpin(), t_hyperfine::HFLabundance, HFLines, hyperfine, HyperfineCS(), ioQQQ, t_abund::IsoAbn, t_trace::lgTrace, LIMELM, MakeCS(), MAX2, Ntemp, open_data(), phycon, read_whole_line(), TransitionList::resize(), rfield, isotope::rm_nuc_data(), TransitionList::size(), spline(), Split(), SPM_STRICT, t_phycon::sqrte, t_phycon::te, t_phycon::TEMP_LIMIT_HIGH, t_phycon::TEMP_LIMIT_LOW, trace, wavelength, and t_dense::xIonDense.
Referenced by atmdat_readin().
double HyperfineCS | ( | size_t | i | ) |
HyperfineCS - returns interpolated collision strength for element nelem and ion ion
i |
References ASSERT, DEBUG_ENTRY, exp10(), HFLines, Ntemp, phycon, TransitionList::size(), splint(), and t_phycon::te.
Referenced by CoolHyperfine(), and HyperfineCreate().
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.
t | [in] Transition |
References ASSERT, DEBUG_ENTRY, TransitionProxy::Hi(), phycon, SMALLFLOAT, t_phycon::te, and TexcLine().
Referenced by H21_cm_pops().
|
static |
|
static |
const double ENERGY_MIN_WN = 1e-10 |
|
static |
Referenced by HyperfineCreate(), and HyperfineCS().