cloudy  trunk
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Data Structures | Functions | Variables
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.

Data Structures

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
 
t_LineSave LineSave
 

Function Documentation

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

Definition at line 550 of file lines.cpp.

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

Definition at line 35 of file prt_lines.cpp.

References LinSv::addComponent(), t_phycon::alogte, TransitionProxy::associated(), atmdat, t_oxy::AugerO3, EmissionProxy::Aul(), 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(), Drive_cdLine(), 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, LinSv::getComponent(), GetLineRec(), t_atmdat::HCharExcRecTo_N0_2D, t_thermal::heating(), HFLines, TransitionProxy::Hi(), t_thermal::htot, hydro, hyperfine, Singleton< t_ADfA >::Inst(), Singleton< t_yield >::Inst(), t_yield::ion(), ionbal, ioQQQ, ipALUMINIUM, ipARGON, t_LineSave::ipass, ipCALCIUM, ipCARBON, ipCHLORINE, ipExtraLymanLines, ipH_LIKE, ipHE_LIKE, ipHELIUM, ipHYDROGEN, ipIRON, ipMAGNESIUM, t_thermal::ipMaxExtra, ipNEON, ipNITROGEN, ipoint(), t_yield::ipoint(), ipOXYGEN, ipSILICON, ipSODIUM, ipSULPHUR, iso_ctrl, iso_satellite_update(), iso_sp, iteration, t_atmdat::lgdBaseSourceExists, t_trace::lgDrv_cdLine, 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, LinSv::makeBlend(), 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, t_ionbal::PhotoRate_Shell, phycon, PntForLine(), POW2, t_thermal::power, 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(), 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

Definition at line 22 of file prt_lines_continuum.cpp.

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::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_general ( void  )
void lines_grains ( void  )
void lines_helium ( void  )
void lines_hydro ( void  )

the hydrogenic iso-sequence

Definition at line 136 of file prt_lines_hydro.cpp.

References t_phycon::alogte, ASSERT, atmdat, atmdat_HS_caseB(), chIonLbl(), collectSkipTrans(), 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, t_hydro::HCollIonMax, t_atmdat::HIonFrac, t_atmdat::HIonFracMax, HS_NZ, hydro, t_geometry::iEmissPower, t_dense::IonHigh, ioQQQ, t_LineSave::ipass, ipH1s, ipH2p, ipH2s, ipH3p, ipH3s, ipH4p, ipH4s, ipH_LIKE, ipHELIUM, ipHYDROGEN, iso_comment_tran_levels(), iso_ctrl, iso_sp, isSkipTransSet, isTransSkipped(), t_dense::lgElmtOn, t_atmdat::lgHCaseBOK, 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, POW2, prt, PutLine(), t_rfield::qhtot, t_iso_sp::QuantumNumbers2Index, 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, TransitionProxy::WLAng(), 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_molecules ( void  )
void lines_setup ( void  )

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

Definition at line 11 of file atmdat_lines_setup.cpp.

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

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

Definition at line 1727 of file parse_table.cpp.

References cdGetLineList(), species::chLabel, chLINE_LIST, DEBUG_ENTRY, t_LineSave::findline(), fprintf(), ioQQQ, LineSave, and prt_wl().

Referenced by lgCheckMonitors().

Here is the call graph for this function:

void LineStackCreate ( void  )

create vectors to save line intensities

Definition at line 30 of file lines_service.cpp.

References ASSERT, t_LineSave::clear(), DEBUG_ENTRY, fprintf(), ioQQQ, t_LineSave::ipass, t_trace::lgTrace, lines(), t_LineSave::lines, LineSave, t_LineSave::nsum, t_LineSave::resize(), 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

Definition at line 1938 of file prt_final.cpp.

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(), and lines_molecules().

Here is the call graph for this function:

Variable Documentation

t_LineSave LineSave
const int NHOLDCOMMENTS = 100
static

Definition at line 72 of file lines.h.

Referenced by StuffComment().