#include "count_ptr.h"
#include "emission.h"
#include "collision.h"
#include "proxy_iterator.h"
#include "quantumstate.h"
Go to the source code of this file.
Data Structures | |
class | TransitionProxy |
class | TransitionConstProxy |
class | TransitionListImpl |
class | TransitionList |
Functions | |
void | PutLine (const TransitionProxy &t, const char *chComment) |
void | PutLine (const TransitionProxy &t, const char *chComment, const char *chLabel) |
double | TexcLine (const TransitionProxy &t) |
void | DumpLine (const TransitionProxy &t) |
double | emit_frac (const TransitionProxy &t) |
void | chIonLbl (char *, const TransitionProxy &t) |
void | chIonLbl (char *chIonLbl_v, const long &nelem, const long &IonStg) |
char * | chLineLbl (const TransitionProxy &t) |
void | PutCS (double cs, const TransitionProxy &t) |
void | GenerateTransitionConfiguration (const TransitionProxy &t, char *chComment) |
double | OccupationNumberLine (const TransitionProxy &t) |
void | PutExtra (double Extra) |
void | LineConvRate2CS (const TransitionProxy &t, realnum rate) |
bool | lgTauGood (const TransitionProxy &t) |
void | MakeCS (const TransitionProxy &t) |
Variables | |
EmissionProxy | DummyEmis |
void chIonLbl | ( | char * | chIonLbl_v, | |
const long & | nelem, | |||
const long & | IonStg | |||
) |
Definition at line 219 of file transition.cpp.
References ASSERT, t_elementnames::chElementSym, t_elementnames::chIonStage, DEBUG_ENTRY, elementnames, and LIMELM.
void chIonLbl | ( | char * | , | |
const TransitionProxy & | t | |||
) |
generate null terminated line label from contents of line trans array
*t |
Definition at line 195 of file transition.cpp.
References chIonLbl(), DEBUG_ENTRY, and TransitionProxy::Hi().
Referenced by atom_level2(), atom_level3(), AtomSeqBeryllium(), chIonLbl(), ContCreatePointers(), lines_continuum(), lines_helium(), lines_hydro(), lines_setup(), PrtLinePres(), PutLine_base(), and Save1LineData().
char* chLineLbl | ( | const TransitionProxy & | t | ) |
chLineLbl use information in line transfer arrays to generate a line label
this label is null terminated
*t |
Definition at line 237 of file transition.cpp.
References ASSERT, t_elementnames::chElementSym, t_elementnames::chIonStage, chSpecies, DEBUG_ENTRY, elementnames, TransitionProxy::Hi(), and TransitionProxy::WLAng().
Referenced by atom_level3(), ContCreatePointers(), DumpLine(), PresTotCurrent(), prme(), PrtComment(), radius_next(), RT_line_one_tau_reset(), Save1Line(), Save_Line_RT(), and SaveHeat().
void DumpLine | ( | const TransitionProxy & | t | ) |
DumpLine print various information about an emission line vector, used in debugging
*t |
Definition at line 100 of file transition.cpp.
References t_opac::albedo, ASSERT, EmissionProxy::Aul(), chLineLbl(), CollisionProxy::col_str(), TransitionProxy::Coll(), CollisionProxy::cool(), DEBUG_ENTRY, dense, t_dense::eden, TransitionProxy::Emis(), 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(), CoolCarb(), CoolNitr(), CoolOxyg(), CoolSili(), CoolSulf(), CoolSum(), FeIIRadPress(), FindNeg(), RT_diffuse(), RT_line_all(), and RT_line_escape().
double emit_frac | ( | const TransitionProxy & | t | ) |
returns fraction of populations the produce emission
*t |
Definition at line 84 of file transition.cpp.
References ASSERT, EmissionProxy::Aul(), t_dense::cdsqte, CollisionProxy::col_str(), TransitionProxy::Coll(), DEBUG_ENTRY, dense, TransitionProxy::Emis(), TransitionProxy::ipCont(), EmissionProxy::Pdest(), EmissionProxy::Pelec_esc(), and EmissionProxy::Pesc().
Referenced by lines_lv1_li_ne(), and lines_lv1_na_ar().
void GenerateTransitionConfiguration | ( | const TransitionProxy & | t, | |
char * | chComment | |||
) |
GenerateTransitionConfiguration - given const TransitionList::iterator &t, writes a label t->Lo->chConfig() - t->Hi->chConfig() (i.e., 2^3S - 2^3P)
t | *chComment |
Definition at line 330 of file transition.cpp.
References TransitionProxy::Hi(), and TransitionProxy::Lo().
Referenced by lines_hydro().
bool lgTauGood | ( | const TransitionProxy & | t | ) | [inline] |
lgTauGood returns true is we have good (positive) outward optical depths not true if we have overrun optical depth scale from previous iteration
*t |
Definition at line 570 of file transition.h.
References TransitionProxy::Emis(), iteration, EmissionProxy::TauIn(), and EmissionProxy::TauTot().
Referenced by RT_line_all(), and RT_line_one().
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 |
Definition at line 521 of file transition.cpp.
References ASSERT, t_dense::cdsqte, CollisionProxy::col_str(), TransitionProxy::Coll(), DEBUG_ENTRY, dense, g, and TransitionProxy::Hi().
Referenced by CoolChlo(), CoolIron(), CoolNick(), CoolSili(), and CoolSulf().
void MakeCS | ( | const TransitionProxy & | t | ) |
MakeCS compute collision strength by g-bar approximations
*t |
Definition at line 613 of file transition.cpp.
References CollisionProxy::col_str(), TransitionProxy::Coll(), DEBUG_ENTRY, dense, TransitionProxy::Emis(), TransitionProxy::EnergyK(), TransitionProxy::EnergyWN(), gbar0(), gbar1(), EmissionProxy::gf(), TransitionProxy::Hi(), WAVNRYD, and t_dense::xIonDense.
Referenced by CoolAlum(), CoolCalc(), CoolIron(), CoolMagn(), CoolSili(), and dBase_solve().
double OccupationNumberLine | ( | const TransitionProxy & | t | ) |
OccupationNumberLine - derive the photon occupation number at line center for any line
*t |
Definition at line 142 of file transition.cpp.
References ASSERT, DEBUG_ENTRY, TransitionProxy::Emis(), g, 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 |
Definition at line 317 of file transition.cpp.
References ASSERT, CollisionProxy::col_str(), TransitionProxy::Coll(), and DEBUG_ENTRY.
Referenced by CoolAlum(), CoolArgo(), CoolCalc(), CoolCarb(), CoolChlo(), CoolCoba(), CoolDima(), CoolEvaluate(), CoolIron(), CoolMagn(), CoolNeon(), CoolNitr(), CoolOxyg(), CoolPhos(), CoolPota(), CoolScan(), CoolSili(), CoolSodi(), CoolSulf(), Fe2_cooling(), and oi_level_pops().
void PutExtra | ( | double | Extra | ) |
PutExtra enter and 'extra' intensity source for some line
Extra |
Definition at line 468 of file transition.cpp.
References DEBUG_ENTRY, and ExtraInten.
Referenced by lines(), lines_lv1_li_ne(), and lines_lv1_na_ar().
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 |
Definition at line 449 of file transition.cpp.
References DEBUG_ENTRY, and PutLine_base().
Referenced by DoSatelliteLines(), diatomics::H2_LinesAdd(), lines(), lines_helium(), lines_hydro(), lines_lv1_k_zn(), lines_lv1_li_ne(), and lines_lv1_na_ar().
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 |
Definition at line 457 of file transition.cpp.
References DEBUG_ENTRY, and PutLine_base().
double TexcLine | ( | const TransitionProxy & | t | ) |
TexcLine derive excitation temperature of line from contents of line array
*t |
Definition at line 169 of file transition.cpp.
References DEBUG_ENTRY, TransitionProxy::EnergyK(), g, TransitionProxy::Hi(), TransitionProxy::Lo(), and SMALLFLOAT.
Referenced by DumpLine(), H21_cm_pops(), radius_increment(), and SaveDo().
AddLine2Stack add generic emission line to GenericLines and return pointer to that state.
Definition at line 61 of file taulines.cpp.
Referenced by InitDefaultsPreparse().