Cloudy
Spectral Synthesis Code for Astrophysics
|
Go to the source code of this file.
Macros | |
#define | LOWDEN_LYMAN 0 |
Functions | |
LinSv * | linadd (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) |
#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, t_dense::cdsqte, 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 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
*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().
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, |
realnum | wavelength, | ||
const char * | chLab, | ||
char | chInfo, | ||
const char * | chComment | ||
) |
References DEBUG_ENTRY, and lincom().
Referenced by lines(), lines_continuum(), lines_general(), lines_grains(), lines_helium(), lines_hydro(), lines_iron_Ka(), lines_molecules(), PutLine(), and SpeciesBandsAccum().
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
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, and lindst().
Referenced by band_emission::insert(), lindst(), lines(), lines_continuum(), lines_general(), lines_hydro(), lines_iron_Ka(), and PutLine().
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
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, and lindst1().
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, t_radius::depth, TransitionProxy::Emis(), fprintf(), TransitionProxy::Hi(), ioQQQ, t_LineSave::ipass, TransitionProxy::ipCont(), lindst1(), t_LineSave::lines, LineSave, t_LineSave::nsum, nzone, EmissionProxy::Pesc_total(), phots(), radius, ExtraInten::v, TransitionProxy::WLAng(), EmissionProxy::xIntensity(), and EmissionProxy::xObsIntensity().
void outline_base | ( | double | dampXvel, |
double | damp, | ||
bool | lgTransStackLine, | ||
long int | ip, | ||
double | phots, | ||
realnum | inwd, | ||
double | nonScatteredFraction | ||
) |
References t_mesh::anu(), ASSERT, DEBUG_ENTRY, t_mesh::egamry(), t_mesh::emm(), fixit, get_ptr(), ipoint(), t_rfield::lgDoLineTrans, MAX2, MIN2, outline_base_bin(), 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 t_radius::BeamInIn, t_radius::BeamInOut, t_radius::BeamOutOut, DEBUG_ENTRY, t_rfield::DiffuseLineEmission, t_radius::dVolOutwrd, t_radius::dVolReflec, t_opac::ExpZone, opac, t_rfield::outlin, radius, t_rfield::reflin, rfield, and t_opac::tmn.
Referenced by outline_base().
void PntForLine | ( | double | 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, t_LineSave::ipass, ipLineEnergy(), LineSave, and wavelength.
Referenced by band_emission::insert(), lines(), and lines_general().
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.
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
S | line strength |
waveAng | 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(), and powi().
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(), t_rfield::convoc, DEBUG_ENTRY, TransitionProxy::Emis(), TransitionProxy::EnergyErg(), t_rfield::flux_isotropic, fprintf(), TransitionProxy::Hi(), ioQQQ, TransitionProxy::ipCont(), t_LineSave::lgIsoContSubSignif, t_save::lgSubtrCont, 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(), and lines_hydro().
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, t_LineSave::lines, LineSave, and t_LineSave::nsum.
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 t_LineSave::sig_figs_max.
Referenced by debugLine(), t_LineSave::findline(), GetOptLineInt(), lgCheckMonitors(), and PrtFinal().
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
wlAir | - air wavelength |
References DEBUG_ENTRY, t_prt::lgPrintLineAirWavelengths, and prt.
Referenced by LinSv::addComponent(), lines(), LinSv::makeBlend(), PrtComment(), and PrtFinal().
|
inline |
wn2ang convert energy in wavenumbers to walength in Angstrom
fenergyWN | energy in wavenumbers, cm^-1 |
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().