Cloudy
Spectral Synthesis Code for Astrophysics
|
Go to the source code of this file.
Macros | |
#define | LOWDEN_LYMAN 0 |
Functions | |
LinSv * | linadd (double xInten, double xIntenIsoBkg, t_wavl wavelength, const char *chLab, char chInfo, const char *chComment) |
LinSv * | linadd (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) |
#define LOWDEN_LYMAN 0 |
setting true will use low-density Lyman branching ratios
double abscf | ( | double | gf, |
double | enercm, | ||
double | gl ) |
abscf convert gf into absorption coefficient
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
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().
convert down coll rate back into electron cs in case other parts of code need this for reference
gHi | - stat weight of upper level |
rate | - deexcitation rate, units s-1 |
References ASSERT, DEBUG_ENTRY, and dense.
double eina | ( | double | gf, |
double | enercm, | ||
double | gup ) |
eina convert a gf into an Einstein A
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
emissivity | [erg cm-3 s-1] in inward direction |
emissivity | [erg cm-3 s-1] in outward direction |
array | index for continuum frequency |
References ASSERT, DEBUG_ENTRY, geometry, iteration, 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
*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().
double GetGF | ( | double | eina, |
double | enercm, | ||
double | gup ) |
GetGF convert Einstein A into oscillator strength
eina | |
enercm | |
gup |
References ASSERT, DEBUG_ENTRY, and POW2.
Referenced by atmdat_CHIANTI_readin(), atmdat_LAMDA_readin(), atmdat_STOUT_readin(), FillExtraLymanLine(), hydro_vs_coll_str(), hydro_vs_deexcit(), HyperfineCreate(), diatomics::init(), iso_get_collision_strength(), iso_satellite_update(), iso_setOpacity(), and ReadBadnellAIData().
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.
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' |
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().
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.
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' |
References DEBUG_ENTRY, lincom(), and wavelength.
void lindst | ( | const TransitionProxy & | t, |
const ExtraInten & | extra, | ||
const char * | chLab, | ||
char | chInfo, | ||
bool | lgOutToo, | ||
const char * | chComment ) |
References EmissionProxy::damp(), EmissionProxy::dampXvel(), DEBUG_ENTRY, TransitionProxy::Emis(), TransitionProxy::ipCont(), lindst1(), TransitionProxy::twav(), ExtraInten::v, EmissionProxy::xIntensity(), and EmissionProxy::xObsIntensity().
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
dampXvel | - damping constant times Doppler velocity |
damp | - damping constant |
xInten | - local emissivity per unit vol |
wavelength | wavelength Angstroms |
*chLab | string label for ion |
ipnt | offset of line in continuum mesh |
chInfo | character type of entry for line - 'c' cooling, 'h' heating, 'i' info only, 'r' recom line |
lgOutToo | should line be included in outward beam? |
*chComment | string explaining line |
References DEBUG_ENTRY, lindst1(), and wavelength.
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
xInten | - local emissivity per unit vol |
wavelength | wavelength Angstroms |
*chLab | string label for ion |
ipnt | offset of line in continuum mesh |
chInfo | character type of entry for line - 'c' cooling, 'h' heating, 'i' info only, 'r' recom line |
lgOutToo | should line be included in outward beam? |
*chComment | string explaining line |
References DEBUG_ENTRY, lindst(), and wavelength.
Referenced by band_emission::insert(), lindst(), lines(), lines_continuum(), lines_general(), lines_hydro(), and PutLine().
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().
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().
void PntForLine | ( | t_wavl | wavelength, |
const char * | chLabel, | ||
long int * | ipnt ) |
PntForLine generate pointer for forbidden line
wavelength | wavelength of line in Angstroms |
*chLabel | label for the line |
*ipnt | this 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().
double S2Aul | ( | double | S, |
double | waveAng, | ||
double | gup, | ||
const string & | transType ) |
S2Aul convert line strength S into transition probability Aul
S | line strength |
waveAng | vacuum wavelength in Angstrom |
gup | statistical weight of the upper level |
transType | transition 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().
void set_xIntensity | ( | const TransitionProxy & | t | ) |
set_xIntensity: compute gross and net number of emitted line photons
References EmissionProxy::Aul(), TransitionProxy::chLabel(), DEBUG_ENTRY, TransitionProxy::Emis(), TransitionProxy::EnergyErg(), fprintf(), TransitionProxy::Hi(), ioQQQ, TransitionProxy::ipCont(), LineSave, TransitionProxy::Lo(), MAX2, MIN2, EmissionProxy::Pesc_total(), rfield, save, EmissionProxy::xIntensity(), and EmissionProxy::xObsIntensity().
Referenced by atom_level2(), dBase_solve(), H21_cm_pops(), diatomics::H2_LevelPops(), lines_helium(), lines_hydro(), and RT_diffuse().
double totlin | ( | int | chInfo | ) |
totlin sum total intensity of cooling, recombination, or intensity lines
chInfo | chInfor 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().
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,
wavelength |
References ASSERT, DEBUG_ENTRY, exp10(), LineSave, and wavelength.
Referenced by debugLine(), t_LineSave::findline(), GetOptLineInt(), lgCheckMonitors(), and PrtFinal().
|
inline |
wn2angVac convert energy in wavenumbers to vacuum wavelength in angstrom
fenergyWN | energy in wavenumbers, cm^-1 |
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().