Cloudy
Spectral Synthesis Code for Astrophysics
|
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 |
void cdEmis | ( | const LinSv * | line, |
double * | emiss, | ||
bool | lgEmergent | ||
) |
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
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().
void lines_general | ( | void | ) |
general information at start of lines
References ASSERT, t_CoolHeavy::cextxx, t_thermal::char_tran_cool, t_thermal::char_tran_heat, chIonLbl(), t_rfield::cmheat, t_ionbal::CompHeating_Max, t_ionbal::CompRecoilHeatLocal, continuum, t_dynamics::Cool(), CoolHeavy, t_dynamics::CoolMax, t_thermal::ctot, t_CoolHeavy::cyntrn, dBaseSpecies, DEBUG_ENTRY, dense, t_radius::dVeffAper, dynamics, t_CoolHeavy::expans, fprintf(), t_dense::gas_phase, geometry, t_dynamics::Heat(), t_thermal::heating(), t_thermal::HeatLineMax, t_dynamics::HeatMax, t_thermal::htot, t_geometry::iEmissPower, ionbal, t_dense::IonHigh, t_dense::IonLow, ioQQQ, t_LineSave::ipass, ipH_LIKE, ipHE_LIKE, ipHELIUM, ipHYDROGEN, iso_sp, t_trace::lgTrace, LIMELM, linadd(), lindst(), LineSave, max(), MAX2, min(), NCHLAB, nSpecies, t_ionbal::PairProducPhotoRate, PntForLine(), radius, rfield, safe_div(), StuffComment(), t_CoolHeavy::tccool, thermal, t_continuum::totlsv, and trace.
Referenced by lines().
void lines_grains | ( | void | ) |
information about grains
References GrainVar::bin, GrainVar::dclmax, DEBUG_ENTRY, dense, GrainVar::dphmax, t_radius::dVeffAper, t_dense::EdenTrue, GrainVar::GasCoolColl, GrainVar::GrainHeatCollSum, GrainVar::GrainHeatDif, GrainVar::GrainHeatInc, GrainVar::GrainHeatLya, GrainVar::GrainHeatSum, GrainVar::GrnElecDonateMax, GrainVar::GrnElecHoldMax, gv, t_thermal::heating(), t_thermal::htot, GrainVar::lgGrainPhysicsOn, linadd(), MAX2, radius, safe_div(), SDIV(), StuffComment(), thermal, GrainVar::TotalDustHeat, and GrainVar::TotalEden.
Referenced by lines().
void lines_helium | ( | void | ) |
enter all helium iso seq into emission line stack
References ASSERT, atmdat, CaBDensities, CaBTemps, t_atmdat::CaseBWlHeI, chIonLbl(), DEBUG_ENTRY, dense, DoSatelliteLines(), t_dense::eden, TransitionProxy::Emis(), exp10(), fixit, fprintf(), GetStandardHeLines(), ioQQQ, t_LineSave::ipass, TransitionProxy::ipCont(), ipH2s, ipH_LIKE, ipHe1s1S, ipHe2p3P0, ipHe2p3P1, ipHe2p3P2, ipHe2s3S, ipHe3d3D, ipHe3p3P, ipHe3s3S, ipHE_LIKE, ipHELIUM, ipHYDROGEN, iso_comment_tran_levels(), iso_ctrl, iso_Max_Emitting_Level(), iso_sp, L_, t_isoCTRL::lgDielRecom, t_dense::lgElmtOn, lgFirstRun, t_prt::lgPrnIsoCollapsed, t_isoCTRL::lgRandErrGen, t_trace::lgTrace, LIMELM, linadd(), LineSave, linint(), N_, t_iso_sp::n_HighestResolved_max, t_LineSave::nsum, NUMDENS, NumLines, NUMTEMPS, phots(), phycon, prt, PutLine(), t_iso_sp::QN2Index(), randomize_inten(), set_xIntensity(), setup_multiplet(), StuffComment(), EmissionProxy::TauIn(), EmissionProxy::TauTot(), t_phycon::te, TempInterp2(), trace, t_iso_sp::trans(), t_iso_sp::TwoNu, t_LineSave::WavLNorm, wn2ang(), and t_dense::xIonDense.
Referenced by lines().
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().
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 | ) |
enter all molecules into emission line stack
References t_CoolHeavy::brems_cool_hminus, co, t_co::codfrc, t_co::CODissHeat, t_co::codtot, t_hmi::CoolH2DexcMax, CoolHeavy, t_thermal::ctot, DEBUG_ENTRY, dense, diatoms, t_radius::dVeffAper, t_mole_local::findrate(), findspecieslocal(), h2, t_hmi::h2dfrc, t_hmi::h2dtot, t_CoolHeavy::h2line, t_hmi::h2line_cool_frac, t_CoolHeavy::H2PlsCool, t_hmi::h2plus_heat, t_hmi::h2pmax, t_CoolHeavy::HD, t_hmi::HeatH2Dexc_used, t_hmi::HeatH2DexcMax, t_hmi::HeatH2Dish_used, t_thermal::heating(), hmi, t_hmi::hmicol, t_hmi::hmihet, t_hmi::hmitot, t_thermal::htot, ipHELIUM, ipHYDROGEN, diatomics::lgEnabled, linadd(), MAX2, mole, phycon, radius, safe_div(), StuffComment(), t_phycon::te, thermal, and t_dense::xIonDense.
Referenced by lines().
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().
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().
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().
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().
const realnum Hbeta_WavLen |
Referenced by ConvIterCheck(), IterStart(), lines_hydro(), ParseStop(), ParseTest(), PrtComment(), PrtFinal(), and t_LineSave::zero().
t_LineSave LineSave |
Referenced by badprt(), cdEmis(), cdEmis_ip(), cdLine(), cdLine_ip(), debugLine(), FindStrongestLineLabels(), diatomics::getLine(), GetLineRec(), GetOptLineInt(), getTransition(), diatomics::H2_LinesAdd(), diatomics::H2_PunchDo(), iter_end_check(), IterEnd(), IterStart(), lgCheckMonitors(), lincom(), lindst(), lindst1(), lines(), lines_continuum(), lines_general(), lines_helium(), lines_hydro(), lines_table(), LineStackCreate(), optimize_func(), ParseNorm(), ParsePrint(), ParseTest(), PntForLine(), PrintSpectrum(), prt_LineLabels(), prt_smooth_predictions(), prt_wl(), PrtComment(), PrtFinal(), PrtLineSum(), PrtOneMonitor(), PutLine(), save_line(), SaveDo(), SaveLineData(), SaveLineIntensity(), SaveResults(), SaveSpeciesBands(), set_xIntensity(), SetPrintLineCol(), setup_multiplet(), SpeciesPseudoContAccum(), sprt_wl(), StuffComment(), totlin(), and WavlenErrorGet().
|
static |
Referenced by StuffComment().