Cloudy
Spectral Synthesis Code for Astrophysics
Loading...
Searching...
No Matches
transition.cpp File Reference
#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"
Include dependency graph for transition.cpp:

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
 

Function Documentation

◆ chIonLbl() [1/2]

string chIonLbl ( const long & nelem,
const long & IonStg )

References ASSERT, DEBUG_ENTRY, elementnames, and LIMELM.

◆ chIonLbl() [2/2]

◆ DumpLine()

◆ emit_frac()

double emit_frac ( const TransitionProxy & t)

returns fraction of populations that produce emission

Parameters
*t

References ASSERT, TransitionProxy::associated(), EmissionProxy::Aul(), CollisionProxy::col_str(), TransitionProxy::Coll(), DEBUG_ENTRY, dense, TransitionProxy::Emis(), TransitionProxy::ipCont(), and EmissionProxy::Pdest().

Referenced by lines().

Here is the call graph for this function:

◆ gbar0()

STATIC void gbar0 ( double ex,
realnum * g )

References DEBUG_ENTRY, phycon, POW2, and STATIC.

Referenced by MakeCS().

◆ gbar1()

STATIC void gbar1 ( double ex,
realnum * g )

References DEBUG_ENTRY, phycon, POW2, and STATIC.

Referenced by MakeCS().

◆ GenerateTransitionConfiguration()

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)

Parameters
ttransition
Returns
comment string

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

Referenced by extraLymanJ_comment_tran_levels(), and iso_comment_tran_levels().

Here is the call graph for this function:

◆ GetLineRec()

double GetLineRec ( long int ip,
long int lWl )

References cdEXIT, DEBUG_ENTRY, dense, EXIT_FAILURE, fprintf(), ioQQQ, and LineSave.

Referenced by lines().

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

References ASSERT, CollisionProxy::col_str(), TransitionProxy::Coll(), DEBUG_ENTRY, dense, and TransitionProxy::Hi().

Here is the call graph for this function:

◆ MakeCS()

void MakeCS ( const TransitionProxy & t)

MakeCS compute collision strength by g-bar approximations

Parameters
*t

References CollisionProxy::col_str(), TransitionProxy::Coll(), DEBUG_ENTRY, dense, TransitionProxy::Emis(), TransitionProxy::EnergyK(), TransitionProxy::EnergyWN(), gbar0(), gbar1(), EmissionProxy::gf(), and TransitionProxy::Hi().

Referenced by dBaseUpdateCollCoeffs(), and HyperfineCreate().

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

References ASSERT, DEBUG_ENTRY, TransitionProxy::Emis(), TransitionProxy::Hi(), TransitionProxy::ipCont(), TransitionProxy::Lo(), 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

References ASSERT, CollisionProxy::col_str(), TransitionProxy::Coll(), and DEBUG_ENTRY.

Referenced by CoolDima(), and CoolHyperfine().

Here is the call graph for this function:

◆ PutLine() [1/3]

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

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

Parameters
*ttransition structure for line
*chCommenta description of the line

References DEBUG_ENTRY, NULL, and PutLine().

Here is the call graph for this function:

◆ PutLine() [2/3]

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

References DEBUG_ENTRY, and PutLine().

Here is the call graph for this function:

◆ PutLine() [3/3]

◆ TexcLine()

double TexcLine ( const TransitionProxy & t)

TexcLine derive excitation temperature of line from contents of line array

Parameters
*t

References DEBUG_ENTRY, TransitionProxy::EnergyK(), TransitionProxy::Hi(), TransitionProxy::Lo(), and SMALLFLOAT.

Referenced by DumpLine(), H21_cm_pops(), HyperfineTspin(), radius_increment(), and SaveDo().

Here is the call graph for this function:

Variable Documentation

◆ blends

map<std::string,std::vector<TransitionProxy> > blends

Referenced by ParseMonitorResults().