#include "cddefines.h"#include "lines_service.h"#include "dense.h"#include "geometry.h"#include "hydrogenic.h"#include "ipoint.h"#include "iso.h"#include "lines.h"#include "trace.h"#include "opacity.h"#include "physconst.h"#include "radius.h"#include "rfield.h"#include "rt.h"#include "taulines.h"#include "thirdparty.h"Go to the source code of this file.
Functions | |
| void | LineStackCreate () | 
| double | eina (double gf, double enercm, double gup) | 
| double | GetGF (double trans_prob, double enercm, double gup) | 
| double | abscf (double gf, double enercm, double gl) | 
| double | RefIndex (double EnergyWN) | 
| realnum | WavlenErrorGet (realnum wavelength) | 
| STATIC void | lincom (double xInten, realnum wavelength, const char *chLab, long int ipnt, char chInfo, const char *chComment, bool lgAdd) | 
| void | linadd (double xInten, realnum wavelength, const char *chLab, char chInfo, const char *chComment) | 
| double | emergent_line (double emissivity_in, double emissivity_out, long int ipCont) | 
| 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 char *chLab, char chInfo, bool lgOutToo, const char *chComment) | 
| void | PntForLine (double wavelength, const char *chLabel, long int *ipnt) | 
| 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) | 
| double abscf | ( | double | gf, | |
| double | enercm, | |||
| double | gl | |||
| ) | 
abscf convert gf into absorption coefficient
| gf | ||
| enercm | ||
| gl | 
Definition at line 122 of file lines_service.cpp.
References ASSERT, and DEBUG_ENTRY.
Referenced by ContCreatePointers(), FeIIPoint(), FillExtraLymanLine(), diatomics::init(), iso_create(), and iso_satellite_update().
| 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 | 
Definition at line 672 of file lines_service.cpp.
References ASSERT, BOHR_RADIUS_CM, DEBUG_ENTRY, ELECTRON_MASS, and PI.
Referenced by collision_strength_VF01(), hydro_vs_coll_str(), and S62_Therm_ave_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 | 
Definition at line 653 of file lines_service.cpp.
References ASSERT, t_dense::cdsqte, DEBUG_ENTRY, and dense.
Referenced by oi_cs().
| double eina | ( | double | gf, | |
| double | enercm, | |||
| double | gup | |||
| ) | 
eina convert a gf into an Einstein A
| gf | ||
| enercm | ||
| gup | 
Definition at line 84 of file lines_service.cpp.
References DEBUG_ENTRY, POW2, and TRANS_PROB_CONST.
Referenced by atmdat_readin(), ContCreatePointers(), and ForbiddenAuls().
| 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 | 
Definition at line 340 of file lines_service.cpp.
References t_opac::albedo, ASSERT, DEBUG_ENTRY, t_opac::E2TauAbsFace, t_opac::E2TauAbsOut, t_opac::E2TauAbsTotal, geometry, iteration, t_geometry::lgSphere, t_rfield::nupper, 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 | 
Definition at line 734 of file lines_service.cpp.
References ASSERT, TransitionProxy::associated(), TransitionProxy::Coll(), dBaseTrans, DEBUG_ENTRY, fixit(), CollisionProxy::heat(), HFLines, nHFLines, NISO, nLevel1, nSpecies, nWindLine, TauLine2, and TauLines.
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 | 
Definition at line 101 of file lines_service.cpp.
References ASSERT, DEBUG_ENTRY, POW2, and TRANS_PROB_CONST.
Referenced by atmdat_CHIANTI_readin(), atmdat_LAMDA_readin(), atmdat_readin(), atmdat_STOUT_readin(), ContCreatePointers(), FillExtraLymanLine(), hydro_vs_coll_str(), hydro_vs_deexcit(), HyperfineCreate(), diatomics::init(), iso_collide(), iso_create(), iso_satellite_update(), and ReadBadnellAIData().
| void linadd | ( | double | xInten, | |
| realnum | wavelength, | |||
| const char * | chLab, | |||
| char | chInfo, | |||
| const char * | chComment | |||
| ) | 
Definition at line 321 of file lines_service.cpp.
References DEBUG_ENTRY, and lincom().
Referenced by lines(), lines_continuum(), lines_general(), lines_grains(), lines_helium(), lines_hydro(), lines_lv1_k_zn(), lines_lv1_li_ne(), lines_lv1_na_ar(), lines_molecules(), and PutLine_base().
| STATIC void lincom | ( | double | xInten, | |
| realnum | wavelength, | |||
| const char * | chLab, | |||
| long int | ipnt, | |||
| char | chInfo, | |||
| const char * | chComment, | |||
| bool | lgAdd | |||
| ) | 
Definition at line 209 of file lines_service.cpp.
References t_rfield::AnuOrg, ASSERT, t_tag_LineSv::chALab, t_tag_LineSv::chComment, t_tag_LineSv::chSumTyp, DEBUG_ENTRY, t_radius::dVeffAper, emergent_line(), t_tag_LineSv::emslin, t_rt::fracin, t_LineSave::ipass, LineSave, LineSv, MAX2, t_rfield::nflux, t_LineSave::nsum, radius, rfield, rt, RYDLAM, t_tag_LineSv::SumLine, t_tag_LineSv::wavelength, and t_rfield::widflx.
Referenced by linadd(), and lindst().
| void lindst | ( | const TransitionProxy & | t, | |
| const char * | chLab, | |||
| char | chInfo, | |||
| bool | lgOutToo, | |||
| const char * | chComment | |||
| ) | 
Definition at line 569 of file lines_service.cpp.
References EmissionProxy::damp(), EmissionProxy::dampXvel(), DEBUG_ENTRY, TransitionProxy::Emis(), TransitionProxy::ipCont(), lindst(), TransitionProxy::WLAng(), and EmissionProxy::xIntensity().
| 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 | 
Definition at line 520 of file lines_service.cpp.
References t_rfield::anu, ASSERT, t_geometry::covrt, DEBUG_ENTRY, EN1RYD, geometry, t_LineSave::ipass, lincom(), LineSave, outline_base(), and rfield.
| 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 | 
Definition at line 473 of file lines_service.cpp.
References t_rfield::anu, ASSERT, t_geometry::covrt, DEBUG_ENTRY, EN1RYD, geometry, t_LineSave::ipass, lincom(), LineSave, outline_base_bin(), and rfield.
Referenced by diatomics::H2_LinesAdd(), lindst(), lines(), lines_continuum(), lines_general(), lines_hydro(), lines_lv1_k_zn(), lines_lv1_li_ne(), lines_lv1_na_ar(), and PutLine_base().
| void LineStackCreate | ( | void | ) | 
create vectors to save line intensities
Definition at line 32 of file lines_service.cpp.
References ASSERT, DEBUG_ENTRY, ioQQQ, t_LineSave::ipass, t_trace::lgTrace, lines(), LineSave, LineSv, LineSvSortWL, MALLOC, t_LineSave::nsum, t_LineSave::nsumAllocated, and trace.
Referenced by cloudy().
| void outline_base | ( | double | dampXvel, | |
| double | damp, | |||
| bool | lgTransStackLine, | |||
| long int | ip, | |||
| double | phots, | |||
| realnum | inwd, | |||
| double | nonScatteredFraction | |||
| ) | 
Definition at line 401 of file lines_service.cpp.
References t_rfield::anu, ASSERT, DEBUG_ENTRY, t_rfield::egamry, t_rfield::emm, get_ptr(), ipoint(), t_rfield::lgDoLineTrans, MAX2, MIN2, outline_base_bin(), rfield, SPEEDLIGHT, and VoigtU().
Referenced by lindst(), and TransitionProxy::outline().
| void outline_base_bin | ( | bool | lgTransStackLine, | |
| long int | ip, | |||
| double | phots, | |||
| realnum | inwd, | |||
| double | nonScatteredFraction | |||
| ) | 
Definition at line 440 of file lines_service.cpp.
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 lindst(), and 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 | 
Definition at line 588 of file lines_service.cpp.
References ASSERT, cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, ioQQQ, t_LineSave::ipass, ipLineEnergy(), LineSave, and RYDLAM.
Referenced by lines(), lines_general(), lines_lv1_k_zn(), lines_lv1_li_ne(), and lines_lv1_na_ar().
| 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 | 
Definition at line 141 of file lines_service.cpp.
References ASSERT, and DEBUG_ENTRY.
Referenced by atmdat_CHIANTI_readin(), atmdat_LAMDA_readin(), atmdat_STOUT_readin(), Fe3Lev14(), FeIICreate(), FillExtraLymanLine(), diatomics::init(), iso_create(), lines_continuum(), and lines_setup().
| 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  | 
Definition at line 695 of file lines_service.cpp.
References cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, ioQQQ, LineSave, LineSv, t_LineSave::nsum, and t_tag_LineSv::SumLine.
Referenced by badprt(), lgConserveEnergy(), 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 | 
Definition at line 182 of file lines_service.cpp.
References ASSERT, DEBUG_ENTRY, LineSave, pow(), and t_LineSave::sig_figs.
Referenced by cdEmis(), cdLine(), debugLine(), GetOptLineInt(), lgCheckMonitors(), ParseNorm(), and PrtFinal().
 1.6.1