Cloudy
Spectral Synthesis Code for Astrophysics
|
#include "cddefines.h"
#include "version.h"
#include "dense.h"
#include "elementnames.h"
#include "lines.h"
#include "opacity.h"
#include "phycon.h"
#include "radius.h"
#include "rfield.h"
#include "rt.h"
#include "taulines.h"
#include "conv.h"
#include "lines_service.h"
#include "prt.h"
Functions | |
double | emit_frac (const TransitionProxy &t) |
double | GetLineRec (long int ip, long int lWl) |
void | DumpLine (const TransitionProxy &t) |
double | OccupationNumberLine (const TransitionProxy &t) |
double | TexcLine (const TransitionProxy &t) |
string | chIonLbl (const TransitionProxy &t) |
string | chIonLbl (const long &nelem, const long &IonStg) |
void | PutCS (double cs, const TransitionProxy &t) |
string | GenerateTransitionConfiguration (const TransitionProxy &t) |
void | PutLine (const TransitionProxy &t, const char *chComment, const char *chLabelTemp, const ExtraInten &extra) |
void | PutLine (const TransitionProxy &t, const char *chComment, const char *chLabelTemp) |
void | PutLine (const TransitionProxy &t, const char *chComment) |
void | LineConvRate2CS (const TransitionProxy &t, realnum rate) |
STATIC void | gbar0 (double ex, realnum *g) |
STATIC void | gbar1 (double ex, realnum *g) |
void | MakeCS (const TransitionProxy &t) |
Variables | |
map< std::string, std::vector < TransitionProxy > > | blends |
string chIonLbl | ( | const TransitionProxy & | t | ) |
generate null terminated line label from contents of line trans array
*t |
References chIonLbl(), qList::chLabel(), DEBUG_ENTRY, TransitionProxy::Hi(), TransitionProxy::list(), and TransitionListImpl::states.
Referenced by atom_level2(), chIonLbl(), TransitionProxy::chLabel(), ContCreatePointers(), ipShells(), lgCheckMonitors(), lines(), lines_continuum(), lines_general(), lines_helium(), lines_hydro(), PrtLinePres(), PutLine(), read_UTA_lines(), Save1Line(), Save1LineData(), and SaveLineData().
string chIonLbl | ( | const long & | nelem, |
const long & | IonStg | ||
) |
References ASSERT, t_elementnames::chElementSym, t_elementnames::chIonStage, DEBUG_ENTRY, elementnames, and LIMELM.
void DumpLine | ( | const TransitionProxy & | t | ) |
DumpLine print various information about an emission line vector, used in debugging
*t |
References t_opac::albedo, ASSERT, EmissionProxy::Aul(), chLineLbl(), CollisionProxy::col_str(), TransitionProxy::Coll(), CollisionProxy::cool(), DEBUG_ENTRY, dense, t_dense::eden, TransitionProxy::Emis(), fprintf(), CollisionProxy::heat(), TransitionProxy::Hi(), ioQQQ, TransitionProxy::ipCont(), TransitionProxy::Lo(), opac, t_opac::opacity_abs, EmissionProxy::ots(), EmissionProxy::Pdest(), EmissionProxy::Pelec_esc(), EmissionProxy::Pesc(), phycon, EmissionProxy::PopOpc(), EmissionProxy::pump(), EmissionProxy::TauIn(), EmissionProxy::TauTot(), t_phycon::te, and TexcLine().
Referenced by ConvBase(), CoolSum(), dBase_solve(), FindNeg(), RT_diffuse(), RT_line_all_escape(), and RT_line_escape().
double emit_frac | ( | const TransitionProxy & | t | ) |
returns fraction of populations that produce emission
*t |
References ASSERT, TransitionProxy::associated(), EmissionProxy::Aul(), t_dense::cdsqte, CollisionProxy::col_str(), TransitionProxy::Coll(), DEBUG_ENTRY, dense, TransitionProxy::Emis(), TransitionProxy::ipCont(), EmissionProxy::Pdest(), and EmissionProxy::Pesc_total().
Referenced by lines().
References DEBUG_ENTRY, phycon, POW2, and t_phycon::te.
Referenced by MakeCS().
References DEBUG_ENTRY, phycon, POW2, and t_phycon::te.
Referenced by MakeCS().
string GenerateTransitionConfiguration | ( | const TransitionProxy & | t | ) |
GenerateTransitionConfiguration - given const TransitionList::iterator &t, writes a label t->Lo->chConfig() - t->Hi->chConfig() (i.e., 2^3S - 2^3P)
t | transition |
References TransitionProxy::Hi(), and TransitionProxy::Lo().
Referenced by iso_comment_tran_levels().
double GetLineRec | ( | long int | ip, |
long int | lWl | ||
) |
References cdEXIT, DEBUG_ENTRY, dense, t_dense::eden, EXIT_FAILURE, fprintf(), ioQQQ, LineSave, t_LineSave::RecCoefCNO, and t_dense::xIonDense.
Referenced by lines().
void LineConvRate2CS | ( | const TransitionProxy & | t, |
realnum | rate | ||
) |
convert down coll rate back into electron cs in case other parts of code need this for reference
*t | - line struct collision strength is stored in t->cs |
rate | - deexcitation rate, units s-1 |
References ASSERT, t_dense::cdsqte, CollisionProxy::col_str(), TransitionProxy::Coll(), DEBUG_ENTRY, dense, and TransitionProxy::Hi().
void MakeCS | ( | const TransitionProxy & | t | ) |
MakeCS compute collision strength by g-bar approximations
*t |
References CollisionProxy::col_str(), TransitionProxy::Coll(), DEBUG_ENTRY, dense, TransitionProxy::Emis(), TransitionProxy::EnergyK(), TransitionProxy::EnergyWN(), gbar0(), gbar1(), EmissionProxy::gf(), TransitionProxy::Hi(), and t_dense::xIonDense.
Referenced by dBaseUpdateCollCoeffs(), and HyperfineCreate().
double OccupationNumberLine | ( | const TransitionProxy & | t | ) |
OccupationNumberLine - derive the photon occupation number at line center for any line
*t |
References ASSERT, DEBUG_ENTRY, TransitionProxy::Emis(), TransitionProxy::Hi(), TransitionProxy::ipCont(), TransitionProxy::Lo(), EmissionProxy::Pesc(), EmissionProxy::PopOpc(), and SMALLFLOAT.
Referenced by H21_cm_pops(), and SaveDo().
void PutCS | ( | double | cs, |
const TransitionProxy & | t | ||
) |
PutCS enter a collision strength into an individual line struc
cs | |
*t | the line struc |
References ASSERT, CollisionProxy::col_str(), TransitionProxy::Coll(), and DEBUG_ENTRY.
Referenced by CoolDima(), and CoolHyperfine().
void PutLine | ( | const TransitionProxy & | t, |
const char * | chComment, | ||
const char * | chLabelTemp, | ||
const ExtraInten & | extra | ||
) |
References ASSERT, EmissionProxy::Aul(), chIonLbl(), TransitionProxy::Coll(), colliders, EmissionProxy::ColOvTot(), CollisionProxy::ColUL(), CollisionProxy::cool(), DEBUG_ENTRY, TransitionProxy::Emis(), TransitionProxy::EnergyErg(), t_rt::fracin, EmissionProxy::FracInwd(), CollisionProxy::heat(), t_LineSave::ipass, TransitionProxy::ipCont(), linadd(), lindst(), LineSave, TransitionProxy::Lo(), NCHLAB, EmissionProxy::Pesc_total(), EmissionProxy::Ploss(), EmissionProxy::pump(), rt, ExtraInten::v, TransitionProxy::WLAng(), and EmissionProxy::xIntensity().
Referenced by DoSatelliteLines(), diatomics::H2_LinesAdd(), lines(), lines_helium(), lines_hydro(), and PutLine().
void PutLine | ( | const TransitionProxy & | t, |
const char * | chComment, | ||
const char * | chLabel | ||
) |
PutLine enter local line intensity into the intensity stack for eventual printout
*t | transition structure for line |
*chComment | a description of the line |
*chLabel | the line label |
References DEBUG_ENTRY, and PutLine().
void PutLine | ( | const TransitionProxy & | t, |
const char * | chComment | ||
) |
enter lines into the line storage array, called once per zone for each line
xInten | xInten - local emissivity per unit vol, no fill fac |
wavelength | lam integer wavelength |
*chLab | string label for ion |
chInfo | character type of entry for line - 'c' cooling, 'h' heating, 'i' info only, 'r' recom line |
*chComment | string explaining line PutLine enter local line intensity into the intensity stack for eventual printout |
*t | transition structure for line |
*chComment | a description of the line |
References DEBUG_ENTRY, NULL, and PutLine().
double TexcLine | ( | const TransitionProxy & | t | ) |
TexcLine derive excitation temperature of line from contents of line array
*t |
References DEBUG_ENTRY, TransitionProxy::EnergyK(), TransitionProxy::Hi(), TransitionProxy::Lo(), and SMALLFLOAT.
Referenced by DumpLine(), H21_cm_pops(), HyperfineTspin(), radius_increment(), and SaveDo().
map<std::string,std::vector<TransitionProxy> > blends |
Referenced by ParseMonitorResults().