Cloudy
Spectral Synthesis Code for Astrophysics
Loading...
Searching...
No Matches
lines_service.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define LOWDEN_LYMAN   0
 

Functions

LinSvlinadd (double xInten, double xIntenIsoBkg, t_wavl wavelength, const char *chLab, char chInfo, const char *chComment)
 
LinSvlinadd (double xInten, t_wavl wavelength, const char *chLab, char chInfo, const char *chComment)
 
void outline_base (double dampXvel, double damp, bool lgTransStackLine, long int ip, double phots, realnum inwd, double nonScatteredFraction)
 
void outline_base_bin (bool lgTransStackLine, long int ip, double phots, realnum inwd, double nonScatteredFraction)
 
void lindst (double xInten, t_wavl wavelength, const char *chLab, long int ipnt, char chInfo, bool lgOutToo, const char *chComment)
 
void lindst (double dampXvel, double damp, double xInten, t_wavl wavelength, const char *chLab, long int ipnt, char chInfo, bool lgOutToo, const char *chComment)
 
void lindst (const TransitionProxy &t, const ExtraInten &extra, const char *chLab, char chInfo, bool lgOutToo, const char *chComment)
 
double emergent_line (double emissivity_in, double emissivity_out, long int ipCont)
 
void PntForLine (t_wavl wavelength, const char *chLabel, long int *ipnt)
 
double GetGF (double eina, double enercm, double gup)
 
double S2Aul (double S, double waveAng, double gup, const string &transType)
 
double eina (double gf, double enercm, double gup)
 
double abscf (double gf, double enercm, double gl)
 
realnum WavlenErrorGet (realnum wavelength, long sig_figs)
 
double ConvRate2CS (realnum gHi, realnum rate)
 
double ConvCrossSect2CollStr (double CrsSectCM2, double gLo, double E_ProjectileRyd, double reduced_mass_grams)
 
double totlin (int chInfo)
 
const TransitionProxy FndLineHt (long int *level)
 
void set_xIntensity (const TransitionProxy &t)
 
realnum wn2angVac (double fenergyWN)
 

Macro Definition Documentation

◆ LOWDEN_LYMAN

#define LOWDEN_LYMAN   0

setting true will use low-density Lyman branching ratios

Function Documentation

◆ abscf()

double abscf ( double gf,
double enercm,
double gl )

abscf convert gf into absorption coefficient

Parameters
gf
enercm
gl

References ASSERT, and DEBUG_ENTRY.

Referenced by ContCreatePointers(), FillExtraLymanLine(), diatomics::init(), iso_satellite_update(), and iso_setOpacity().

◆ ConvCrossSect2CollStr()

double ConvCrossSect2CollStr ( double CrsSectCM2,
double gLo,
double E_ProjectileRyd,
double reduced_mass_grams )

convert collisional deexcitation cross section for into collision strength

Parameters
CrsSectCM2- the cross section
gLo- statistical weight of lower level of transition
E_ProjectileRyd- initial projectile energy in Rydbergs
reduced_mass_grams- reduced mass MpMt/(Mp+Mt) of projectile-target system

References ASSERT, cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, fprintf(), and ioQQQ.

Referenced by collision_strength_VF01(), CS_l_mixing_S62(), and hydro_vs_coll_str().

Here is the call graph for this function:

◆ ConvRate2CS()

double ConvRate2CS ( realnum gHi,
realnum rate )

convert down coll rate back into electron cs in case other parts of code need this for reference

Parameters
gHi- stat weight of upper level
rate- deexcitation rate, units s-1

References ASSERT, DEBUG_ENTRY, and dense.

◆ eina()

double eina ( double gf,
double enercm,
double gup )

eina convert a gf into an Einstein A

Parameters
gf
enercm
gup

References DEBUG_ENTRY, and POW2.

Referenced by atmdat_STOUT_readin(), ContCreatePointers(), ForbiddenAuls(), and read_UTA_lines().

◆ emergent_line()

double emergent_line ( double emissivity_in,
double emissivity_out,
long int ipCont )

absorption due to continuous opacity

Parameters
emissivity[erg cm-3 s-1] in inward direction
emissivity[erg cm-3 s-1] in outward direction
arrayindex for continuum frequency

References ASSERT, DEBUG_ENTRY, geometry, iteration, opac, and rfield.

Referenced by lincom(), lines_continuum(), RT_diffuse(), and RT_iso_integrate_RRC().

◆ FndLineHt()

const TransitionProxy FndLineHt ( long int * level)

FndLineHt search through line heat arrays to find the strongest heat source

Parameters
*level

References ASSERT, TransitionProxy::associated(), TransitionProxy::Coll(), dBaseTrans, DEBUG_ENTRY, fixit, CollisionProxy::heat(), HFLines, NISO, nSpecies, nWindLine, and TauLine2.

Referenced by PrtComment(), radius_next(), and SaveHeat().

Here is the call graph for this function:

◆ GetGF()

double GetGF ( double eina,
double enercm,
double gup )

◆ linadd() [1/2]

LinSv * linadd ( double xInten,
double xIntenIsoBkg,
t_wavl wavelength,
const char * chLab,
char chInfo,
const char * chComment )

linadd - Add line to line stack, but don't transfer it

This version of the function must be used with the 'Inwd' parts of transferred lines. See Issue #491 for problems that led to its inception.

Parameters
xInten[in] - local line emissivity, no filling factor
xIntenIsoBkg[in] - as above, but corrected for isotropic continua
wavelength[in] - line wavelength
chLab[in] - line label, e.g., 'Fe26'
chInfo[in] - line type: 'i' info, 'c' cooling, 'h' heating, 'r' recomb
chComment[in] - line comment, shown on output of 'save line labels'
Returns
A pointer to the newly added line on the line stack.

References DEBUG_ENTRY, lincom(), and wavelength.

Referenced by lines(), lines_continuum(), lines_general(), lines_grains(), lines_helium(), lines_hydro(), lines_iron_Ka(), lines_molecules(), PutLine(), and SpeciesBandsAccum().

Here is the call graph for this function:

◆ linadd() [2/2]

LinSv * linadd ( double xInten,
t_wavl wavelength,
const char * chLab,
char chInfo,
const char * chComment )

linadd - Add line to line stack, but don't transfer it

The original version of the function, uses the local emissivity as the value corrected for isotropic continua. For limitations to its use, see Issue #491.

Parameters
xInten[in] - local line emissivity, no filling factor
wavelength[in] - line wavelength
chLab[in] - line label, e.g., 'Fe26'
chInfo[in] - line type: 'i' info, 'c' cooling, 'h' heating, 'r' recomb
chComment[in] - line comment, shown on output of 'save line labels'
Returns
A pointer to the newly added line on the line stack.

References DEBUG_ENTRY, lincom(), and wavelength.

Here is the call graph for this function:

◆ lindst() [1/3]

void lindst ( const TransitionProxy & t,
const ExtraInten & extra,
const char * chLab,
char chInfo,
bool lgOutToo,
const char * chComment )

◆ lindst() [2/3]

void lindst ( double dampXvel,
double damp,
double xInten,
t_wavl wavelength,
const char * chLab,
long int ipnt,
char chInfo,
bool lgOutToo,
const char * chComment )

put forbidden line into stack, using index derived below

Parameters
dampXvel- damping constant times Doppler velocity
damp- damping constant
xInten- local emissivity per unit vol
wavelengthwavelength Angstroms
*chLabstring label for ion
ipntoffset of line in continuum mesh
chInfocharacter type of entry for line - 'c' cooling, 'h' heating, 'i' info only, 'r' recom line
lgOutTooshould line be included in outward beam?
*chCommentstring explaining line

References DEBUG_ENTRY, lindst1(), and wavelength.

Here is the call graph for this function:

◆ lindst() [3/3]

void lindst ( double xInten,
t_wavl wavelength,
const char * chLab,
long int ipnt,
char chInfo,
bool lgOutToo,
const char * chComment )

put forbidden line into stack, using index derived below

Parameters
xInten- local emissivity per unit vol
wavelengthwavelength Angstroms
*chLabstring label for ion
ipntoffset of line in continuum mesh
chInfocharacter type of entry for line - 'c' cooling, 'h' heating, 'i' info only, 'r' recom line
lgOutTooshould line be included in outward beam?
*chCommentstring explaining line

References DEBUG_ENTRY, lindst(), and wavelength.

Referenced by band_emission::insert(), lindst(), lines(), lines_continuum(), lines_general(), lines_hydro(), and PutLine().

Here is the call graph for this function:

◆ outline_base()

void outline_base ( double dampXvel,
double damp,
bool lgTransStackLine,
long int ip,
double phots,
realnum inwd,
double nonScatteredFraction )

References ASSERT, DEBUG_ENTRY, fixit, get_ptr(), ipoint(), MAX2, MIN2, outline_base_bin(), phots(), rfield, and VoigtU().

Referenced by lindst1(), and TransitionProxy::outline().

Here is the call graph for this function:

◆ outline_base_bin()

void outline_base_bin ( bool lgTransStackLine,
long int ip,
double phots,
realnum inwd,
double nonScatteredFraction )

References DEBUG_ENTRY, opac, phots(), radius, and rfield.

Referenced by outline_base().

Here is the call graph for this function:

◆ PntForLine()

void PntForLine ( t_wavl wavelength,
const char * chLabel,
long int * ipnt )

PntForLine generate pointer for forbidden line

Parameters
wavelengthwavelength of line in Angstroms
*chLabellabel for the line
*ipntthis is array index on the f, not c scale, for the continuum cell holding the line

References ASSERT, cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, fprintf(), ioQQQ, ipLineEnergy(), LineSave, and wavelength.

Referenced by band_emission::insert(), lines(), and lines_general().

Here is the call graph for this function:

◆ S2Aul()

double S2Aul ( double S,
double waveAng,
double gup,
const string & transType )

S2Aul convert line strength S into transition probability Aul

Parameters
Sline strength
waveAngvacuum wavelength in Angstrom
gupstatistical weight of the upper level
transTypetransition type, "E1", "M1", "E2", etc.

Bohr Magneton, 9.2740096e-21 erg/G

References cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, fprintf(), ioQQQ, pow2, pow3, pow4(), powi(), and S.

Referenced by atmdat_STOUT_readin().

Here is the call graph for this function:

◆ set_xIntensity()

◆ totlin()

double totlin ( int chInfo)

totlin sum total intensity of cooling, recombination, or intensity lines

Parameters
chInfochInfor is 1 char,
'i' information,
'r' recombination or
'c' collision

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

Referenced by badprt(), ConserveEnergy(), and PrtFinal().

Here is the call graph for this function:

◆ WavlenErrorGet()

realnum WavlenErrorGet ( realnum wavelength,
long sig_figs )

WavlenErrorGet - given the real wavelength in A for a line routine will find the error expected between the real wavelength and the wavelength printed in the output, with 4 sig figs,

Parameters
wavelength
Returns
function returns difference between exact and 4 sig fig wl, so we have found correct line is fabs(d wl) < return

References ASSERT, DEBUG_ENTRY, exp10(), LineSave, and wavelength.

Referenced by debugLine(), t_LineSave::findline(), GetOptLineInt(), lgCheckMonitors(), and PrtFinal().

Here is the call graph for this function:

◆ wn2angVac()

realnum wn2angVac ( double fenergyWN)
inline

wn2angVac convert energy in wavenumbers to vacuum wavelength in angstrom

Parameters
fenergyWNenergy in wavenumbers, cm^-1
Returns
vacuum wavelength in angstrom

References safe_div().

Referenced by atmdat_CHIANTI_readin(), atmdat_LAMDA_readin(), atmdat_STOUT_readin(), FillExtraLymanLine(), GetStandardHeLines(), diatomics::init(), iso_create(), lines_continuum(), lines_helium(), lines_hydro(), lines_setup(), read_UTA_lines(), and LinSv::setBlendWavl().

Here is the call graph for this function: