Cloudy
Spectral Synthesis Code for Astrophysics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
lines.h File Reference
#include <cstdio>
#include "module.h"
#include "transition.h"
#include "atmdat_adfa.h"
Include dependency graph for lines.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  LineID
 
struct  t_LineSave
 
class  LinSv
 

Functions

void lines (void)
 
void lines_general (void)
 
void lines_hydro (void)
 
void LineStackCreate (void)
 
void lines_grains (void)
 
void lines_setup (void)
 
void lines_continuum (void)
 
void lines_molecules (void)
 
void lines_helium (void)
 
void lines_lv1_li_ne (void)
 
void lines_lv1_k_zn (void)
 
long int StuffComment (const char *chComment)
 
int lines_table ()
 
void cdEmis (const LinSv *line, double *emiss, bool lgEmergent)
 

Variables

static const int NHOLDCOMMENTS = 100
 
const realnum Hbeta_WavLen
 
t_LineSave LineSave
 

Function Documentation

void cdEmis ( const LinSv line,
double *  emiss,
bool  lgEmergent 
)

References DEBUG_ENTRY, and LinSv::emslin().

Here is the call graph for this function:

void lines ( void  )

lines main routine to put emission line intensities into line stack

References LinSv::addComponent(), t_phycon::alogte, atmdat, t_oxy::AugerO3, EmissionProxy::Aul(), t_prt::blend, cdEXIT, cdLine(), t_dense::cdsqte, chIonLbl(), t_hydro::cintot, t_rfield::cmheat, TransitionProxy::Coll(), colliders, CollisionProxy::ColUL(), t_rfield::comtot, t_hyperfine::cooling_max, t_hyperfine::cooling_total, t_thermal::ctot, t_oxy::d5007r, dBaseSpecies, dBaseTrans, DEBUG_ENTRY, dense, t_mole_local::dissoc_rate(), t_radius::dVeffAper, t_dense::eden, TransitionProxy::Emis(), TransitionList::Emis(), emit_frac(), energy(), t_yield::energy(), EXIT_FAILURE, exp10(), ExtraLymanLines, fixit, fprintf(), t_rt::fracin, t_thermal::FreeFreeTotHeat, t_thermal::GBarMax, GetLineRec(), getTransition(), t_atmdat::HCharExcRecTo_N0_2D, t_thermal::heating(), HFLines, TransitionProxy::Hi(), t_thermal::htot, hydro, hyperfine, Singleton< t_yield >::Inst(), Singleton< t_ADfA >::Inst(), t_yield::ion(), ionbal, ioQQQ, t_LineSave::ipass, ipCALCIUM, ipCARBON, ipExtraLymanLines, ipH_LIKE, ipHE_LIKE, ipHELIUM, ipHYDROGEN, ipIRON, t_thermal::ipMaxExtra, ipNITROGEN, ipoint(), t_yield::ipoint(), ipOXYGEN, iso_ctrl, iso_satellite_update(), iso_sp, iteration, t_atmdat::lgdBaseSourceExists, t_dense::lgElmtOn, t_trace::lgTrace, LIMELM, linadd(), lindst(), t_LineSave::lines, lines_continuum(), lines_general(), lines_grains(), lines_helium(), lines_hydro(), lines_iron_Ka(), lines_molecules(), LineSave, makeChemical(), matchGeneric(), MAX2, mole, t_iso_sp::nCollapsed_local, t_LineSave::nComment, t_yield::nelem(), NISO, t_yield::nlines(), t_isoCTRL::nLyman_max, NRECCOEFCNO, t_yield::nshell(), nSpecies, t_LineSave::nsum, t_iso_sp::numLevels_local, nWindLine, oxy, parsespect(), t_ionbal::PhotoRate_Shell, phycon, PntForLine(), pow(), POW2, t_thermal::power, prt, PrtLineSum(), PutLine(), radius, t_ADfA::rec_lines(), t_LineSave::RecCoefCNO, t_iso_sp::RecomInducCool_Rate, rfield, rt, S, t_oxy::s3727, t_oxy::s7325, safe_div(), SDIV(), LinSv::setBlendWavl(), t_LineSave::setSortWL(), ShowMe(), TransitionList::size(), SMALLFLOAT, SpeciesBandsAccum(), SpeciesPseudoContAccum(), t_phycon::sqrte, t_iso_sp::st, StuffComment(), TauLine2, t_phycon::te, t_phycon::te005, t_phycon::te03, t_phycon::te04, t_phycon::te10, t_phycon::te20, t_phycon::te30, t_phycon::te40, t_phycon::te70, thermal, TotalInsanity(), t_thermal::totcol, trace, UTALines, wlAirVac(), t_dense::xIonDense, EmissionProxy::xObsIntensity(), and t_yield::yield().

Referenced by cloudy(), and LineStackCreate().

void lines_continuum ( void  )

enter all continua

Todo:
2 this block of lines should have nInu, InwT, InwC like main vector of continuum points

References t_mesh::anu(), t_mesh::anu2(), t_continuum::BandEdgeCorrHi, t_continuum::BandEdgeCorrLow, t_CoolHeavy::brems_cool_h, t_CoolHeavy::brems_cool_he, t_CoolHeavy::brems_cool_metals, t_CoolHeavy::brems_cool_net, t_CoolHeavy::brems_heat_total, t_continuum::chContBandLabels, chIonLbl(), t_continuum::cn1216, t_continuum::cn1367, t_continuum::cn2066, t_continuum::cn4861, t_CoolHeavy::colmet, t_rfield::ConEmitLocal, t_rfield::ConEmitOut, t_rfield::ConEmitReflec, t_rfield::ConRefIncid, t_continuum::ContBandWavelength, continuum, t_radius::Conv2PrtInten, CoolHeavy, t_geometry::covgeo, DEBUG_ENTRY, dense, t_rfield::DiffuseLineEmission, t_radius::dVeffAper, t_opac::E2TauAbsFace, t_dense::eden, t_CoolHeavy::eebrm, emergent_line(), t_iso_sp::fb, t_rfield::flux, flux_correct_isotropic(), fprintf(), geometry, t_CoolHeavy::heavfb, Heavy, t_geometry::iEmissPower, Singleton< T >::Inst(), ioQQQ, t_LineSave::ipass, t_continuum::ipContBandHi, t_continuum::ipContBandLow, ipH2p, ipH2s, ipH3d, ipH3p, ipH3s, ipH_LIKE, ipHYDROGEN, ipRecEsc, ipRecRad, iso_sp, t_prt::lgDiffuseInward, t_prt::lgDiffuseOutward, t_dense::lgElmtOn, t_prt::lgSourceReflected, t_prt::lgSourceTransmitted, LIMELM, linadd(), lindst(), t_LineSave::lines, LineSave, MAX2, t_continuum::nContBand, NISO, t_LineSave::nsum, t_iso_sp::numLevels_max, nzone, opac, t_rfield::outlin, phycon, prt, t_radius::r1r0sq, radius, t_Heavy::RadRecCon, RefIndex(), t_rfield::reflin, rfield, SDIV(), t_PredCont::set_offset(), sexp(), t_PredCont::size(), sprt_wl(), StuffComment(), t_phycon::te, t_opac::tmn, t_Heavy::Valence_IP_Ryd, t_mesh::widflx(), and t_dense::xIonDense.

Referenced by lines().

Here is the call graph for this function:

void lines_hydro ( void  )

the hydrogenic iso-sequence

References t_phycon::alogte, ASSERT, atmdat, atmdat_HS_caseB(), chIonLbl(), t_geometry::covgeo, DEBUG_ENTRY, dense, t_hydro::dstfe2lya, t_radius::dVeffAper, t_dense::eden, TransitionProxy::Emis(), TransitionProxy::EnergyErg(), exp10(), fixit, fprintf(), geometry, t_hydro::H_ion_frac_collis, Hbeta_WavLen, t_hydro::HCollIonMax, t_atmdat::HIonFrac, t_atmdat::HIonFracMax, HS_NZ, hydro, hydro_energy(), t_geometry::iEmissPower, t_dense::IonHigh, ioQQQ, t_LineSave::ipass, ipH1s, ipH2p, ipH2s, ipH3p, ipH3s, ipH4p, ipH4s, ipH_LIKE, ipHELIUM, ipHYDROGEN, ipoint(), iso_comment_tran_levels(), iso_ctrl, iso_Max_Emitting_Level(), iso_sp, l2str(), L_, t_dense::lgElmtOn, t_atmdat::lgHCaseBOK, t_isoCTRL::lgKeepFS, t_prt::lgPrnIsoCollapsed, t_trace::lgTrace, LIMELM, linadd(), lindst(), t_LineSave::lines, LineSave, MAX2, MIN2, N_, t_iso_sp::n_HighestResolved_max, t_iso_sp::nCollapsed_max, t_atmdat::ncut, t_LineSave::nsum, t_iso_sp::numLevels_max, nzone, EmissionProxy::ots(), phycon, pow(), POW2, prt, PutLine(), t_rfield::qhtot, t_iso_sp::QN2Index(), radius, t_iso_sp::RadRec_caseB, rfield, t_secondaries::sec2total, t_secondaries::SecHIonMax, secondaries, set_xIntensity(), t_isoCTRL::SmallA, t_iso_sp::st, StuffComment(), t_phycon::te, t_phycon::te03, t_phycon::te10, t_phycon::te70, trace, t_iso_sp::trans(), t_iso_sp::TwoNu, t_atmdat::WaveLengthCaseB, wn2ang(), t_secondaries::x12tot, EmissionProxy::xIntensity(), t_dense::xIonDense, and EmissionProxy::xObsIntensity().

Referenced by lines().

Here is the call graph for this function:

void lines_lv1_k_zn ( void  )

lines_lv1_k_zn place lines of elements potassium and heavier into lines storage stack

void lines_lv1_li_ne ( void  )

lines_lv1_li_ne place lines of elements lithium through neon into lines storage stack

void lines_setup ( void  )

lines_setup convert level 1 and level 2 line parameters and pointers into internal form used by code

References ASSERT, DEBUG_ENTRY, TransitionList::Emis(), HFLines, ipCRD, ipPRD, LIMELM, nWindLine, opac, POW2, TransitionList::size(), TauLine2, t_opac::taumin, UTALines, and wn2ang().

Referenced by atmdat_readin().

Here is the call graph for this function:

int lines_table ( )

lines_table invoked by table lines command, check if we can find all lines in a given list returns 0 if ok, n is n lines not found

References cdGetLineList(), chLINE_LIST, DEBUG_ENTRY, t_LineSave::findline(), fprintf(), ioQQQ, lineids, LineSave, and prt_line_err().

Referenced by lgCheckMonitors().

Here is the call graph for this function:

void LineStackCreate ( void  )

create vectors to save line intensities

References ASSERT, TransitionProxy::chLabel(), t_LineSave::clear(), DEBUG_ENTRY, t_rfield::fine_lstack, fprintf(), ioQQQ, t_LineSave::ipass, t_trace::lgTrace, lines(), t_LineSave::lines, LineSave, t_LineSave::nsum, t_LineSave::resize(), rfield, and trace.

Referenced by cloudy().

Here is the call graph for this function:

long int StuffComment ( const char *  chComment)

routine to stuff comments into the stack of comments, return is index to this comment

References cdEXIT, t_LineSave::chHoldComments, t_line_col::column_len, DEBUG_ENTRY, EXIT_FAILURE, fprintf(), ioQQQ, t_LineSave::ipass, LineSave, t_LineSave::nComment, NHOLDCOMMENTS, and prt_linecol.

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

Here is the call graph for this function:

Variable Documentation

const int NHOLDCOMMENTS = 100
static

Referenced by StuffComment().