cloudy trunk
Loading...
Searching...
No Matches
Functions | Variables
transition.cpp File Reference
#include "cddefines.h"
#include "transition.h"
#include "version.h"
#include "dense.h"
#include "elementnames.h"
#include "lines.h"
#include "lines_service.h"
#include "opacity.h"
#include "phycon.h"
#include "radius.h"
#include "rfield.h"
#include "rt.h"
#include "taulines.h"
#include "conv.h"
Include dependency graph for transition.cpp:

Go to the source code of this file.

Functions

double emit_frac (const TransitionProxy &t)
 
void DumpLine (const TransitionProxy &t)
 
double OccupationNumberLine (const TransitionProxy &t)
 
double TexcLine (const TransitionProxy &t)
 
void chIonLbl (char *chIonLbl_v, 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)
 
STATIC void PutLine_base (const TransitionProxy &t, const char *chComment, const char *chLabelTemp, bool lgLabel)
 
void PutLine (const TransitionProxy &t, const char *chComment, const char *chLabelTemp)
 
void PutLine (const TransitionProxy &t, const char *chComment)
 
void PutExtra (double Extra)
 
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

static realnum ExtraInten
 

Function Documentation

◆ chIonLbl() [1/2]

void chIonLbl ( char *  chIonLbl_v,
const long &  nelem,
const long &  IonStg 
)

◆ chIonLbl() [2/2]

void chIonLbl ( char *  chIonLbl_v,
const TransitionProxy t 
)

generate null terminated line label from contents of line trans array

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

Here is the call graph for this function:

◆ chLineLbl()

char * chLineLbl ( const TransitionProxy t)

chLineLbl use information in line transfer arrays to generate a line label
this label is null terminated

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

Here is the call graph for this function:

◆ DumpLine()

void DumpLine ( const TransitionProxy t)

◆ emit_frac()

double emit_frac ( const TransitionProxy t)

returns fraction of populations the produce emission

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

Here is the call graph for this function:

◆ gbar0()

STATIC void gbar0 ( double  ex,
realnum g 
)

Definition at line 538 of file transition.cpp.

References DEBUG_ENTRY, ex, g, phycon, POW2, and t_phycon::te.

Referenced by MakeCS().

◆ gbar1()

STATIC void gbar1 ( double  ex,
realnum g 
)

Definition at line 587 of file transition.cpp.

References DEBUG_ENTRY, ex, g, phycon, POW2, and t_phycon::te.

Referenced by MakeCS().

◆ GenerateTransitionConfiguration()

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)

Parameters
t\char *chComment

Definition at line 330 of file transition.cpp.

References TransitionProxy::Hi(), and TransitionProxy::Lo().

Referenced by lines_hydro().

Here is the call graph for this function:

◆ LineConvRate2CS()

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

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

Here is the call graph for this function:

◆ MakeCS()

void MakeCS ( const TransitionProxy t)

MakeCS compute collision strength by g-bar approximations

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

Here is the call graph for this function:

◆ OccupationNumberLine()

double OccupationNumberLine ( const TransitionProxy t)

OccupationNumberLine - derive the photon occupation number at line center for any line

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

Here is the call graph for this function:

◆ PutCS()

void PutCS ( double  cs,
const TransitionProxy t 
)

PutCS enter a collision strength into an individual line struc

Parameters
cs
*tthe 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().

Here is the call graph for this function:

◆ PutExtra()

void PutExtra ( double  Extra)

PutExtra enter and 'extra' intensity source for some line

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

◆ PutLine() [1/2]

void PutLine ( const TransitionProxy t,
const char *  chComment 
)

enter lines into the line storage array, called once per zone for each line

Parameters
xIntenxInten - local emissivity per unit vol, no fill fac
wavelengthlam integer wavelength
*chLabstring label for ion
chInfocharacter type of entry for line - 'c' cooling, 'h' heating, 'i' info only, 'r' recom line
*chCommentstring explaining line PutLine enter local line intensity into the intensity stack for eventual printout
*ttransition structure for line
*chCommenta description of the line

Definition at line 457 of file transition.cpp.

References DEBUG_ENTRY, and PutLine_base().

Here is the call graph for this function:

◆ PutLine() [2/2]

void PutLine ( const TransitionProxy t,
const char *  chComment,
const char *  chLabel 
)

PutLine enter local line intensity into the intensity stack for eventual printout

Parameters
*ttransition structure for line
*chCommenta description of the line
*chLabelthe 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().

Here is the call graph for this function:

◆ PutLine_base()

STATIC void PutLine_base ( const TransitionProxy t,
const char *  chComment,
const char *  chLabelTemp,
bool  lgLabel 
)

◆ TexcLine()

double TexcLine ( const TransitionProxy t)

TexcLine derive excitation temperature of line from contents of line array

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

Here is the call graph for this function:

Variable Documentation

◆ ExtraInten

realnum ExtraInten
static

Definition at line 338 of file transition.cpp.

Referenced by PutExtra(), and PutLine_base().