Cloudy
Spectral Synthesis Code for Astrophysics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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, realnum 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, realnum wavelength, const char *chLab, long int ipnt, char chInfo, bool lgOutToo, const char *chComment)
 
void lindst (double dampXvel, double damp, double xInten, realnum 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 (double wavelength, const char *chLabel, long int *ipnt)
 
double GetGF (double eina, double enercm, double gup)
 
double S2Aul (double S, double EnergyAng, double gup, const string &transType)
 
double eina (double gf, double enercm, double gup)
 
double abscf (double gf, double enercm, double gl)
 
realnum wlAirVac (double wlAir)
 
double RefIndex (double EnergyWN)
 
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)
 
double wn2ang (double fenergyWN)
 

Macro Definition Documentation

#define LOWDEN_LYMAN   0

setting true will use low-density Lyman branching ratios

Function Documentation

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

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:

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, t_dense::cdsqte, DEBUG_ENTRY, and dense.

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

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 t_opac::albedo, ASSERT, DEBUG_ENTRY, t_opac::E2TauAbsFace, t_opac::E2TauAbsOut, t_opac::E2TauAbsTotal, geometry, iteration, t_geometry::lgSphere, t_rfield::nflux_with_check, opac, and rfield.

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

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, TransitionList::size(), and TauLine2.

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

Here is the call graph for this function:

double GetGF ( double  eina,
double  enercm,
double  gup 
)
LinSv* linadd ( double  xInten,
realnum  wavelength,
const char *  chLab,
char  chInfo,
const char *  chComment 
)
void lindst ( double  xInten,
realnum  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, and lindst().

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

Here is the call graph for this function:

void lindst ( double  dampXvel,
double  damp,
double  xInten,
realnum  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, and lindst1().

Here is the call graph for this function:

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 PntForLine ( double  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, t_LineSave::ipass, ipLineEnergy(), LineSave, and wavelength.

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

Here is the call graph for this function:

double RefIndex ( double  EnergyWN)

RefIndex calculates the index of refraction of air using the line energy in wavenumbers, used to convert vacuum wavelengths to air wavelengths.

Parameters
EnergyWN- energy in wavenumbers

References ASSERT, DEBUG_ENTRY, t_prt::lgPrintLineAirWavelengths, and prt.

Referenced by atmdat_LAMDA_readin(), diatomics::init(), lines_continuum(), and wn2ang().

double S2Aul ( double  S,
double  EnergyAng,
double  gup,
const string &  transType 
)
S2Aul convert line strength S into transition probability Aul
Parameters
Sline strength
waveAngwavelength 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(), and powi().

Referenced by atmdat_STOUT_readin().

Here is the call graph for this function:

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, t_LineSave::lines, LineSave, and t_LineSave::nsum.

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

Here is the call graph for this function:

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 t_LineSave::sig_figs_max.

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

Here is the call graph for this function:

realnum wlAirVac ( double  wlAir)

wlAirVac compute wavelength in air or vacuum given hardcoded air wavelengths, option set by parse option PRINT WAVELENGTH VACUUM returns wavelength in air or vac, depending on this flag

Parameters
wlAir- air wavelength

References DEBUG_ENTRY, t_prt::lgPrintLineAirWavelengths, and prt.

Referenced by LinSv::addComponent(), lines(), LinSv::makeBlend(), PrtComment(), and PrtFinal().

double wn2ang ( double  fenergyWN)
inline

wn2ang convert energy in wavenumbers to walength in Angstrom

Parameters
fenergyWNenergy in wavenumbers, cm^-1
Returns
wavelength in Angstrom

References RefIndex(), and safe_div().

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

Here is the call graph for this function: