cooling.h File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void CoolZero (void)
void CoolAdd (const char *chLabel, float xlambda, double cool)
void CoolSum (double *total)
void CoolEvaluate (double *tot)
void coolpr (FILE *io, const char *chLabel, float lambda, double ratio, const char *chJOB)
void HeatSum (void)
void HeatZero (void)
void CoolAlum (void)
void CoolArgo (void)
void CoolCalc (void)
void CoolCarb (void)
void CoolChlo (void)
void CoolChro (void)
void CoolCoba (void)
void CoolDima (void)
void CoolFluo (void)
void CoolIron (void)
void CoolMagn (void)
void CoolMang (void)
void CoolNeon (void)
void CoolNick (void)
void CoolNitr (void)
void CoolOxyg (void)
void CoolPhos (void)
void CoolPota (void)
void CoolScan (void)
void CoolSili (void)
void CoolSodi (void)
void CoolSulf (void)
void CoolTita (void)
void CoolVana (void)
void CoolZinc (void)


Function Documentation

void CoolAdd ( const char *  chLabel,
float  xlambda,
double  cool 
)

void CoolAlum ( void   ) 

void CoolArgo ( void   ) 

void CoolCalc ( void   ) 

void CoolCarb ( void   ) 

Todo:
2 add term for protons from Rouef, E., & Le Bourlot, J. 1990, A&A, 236, 515

Todo:
1 add neutral helium Staemmler, V., & Flower, D. R. 1991, J. Phys. B, 24, 2343

Todo:
3 change to atom_level3

Definition at line 21 of file cool_carb.cpp.

References ASSERT, atom_level2(), atom_level3(), atom_pop3(), atoms, AtomSeqBeryllium(), AtomSeqBoron(), t_colden::C1Pops, t_colden::C2Pops, t_colden::C3Pops, t_carb::c8727, t_carb::c9850, carb, t_dense::cdsqte, co, colden, COLL_CONST, EmLine::cool, CoolAdd(), EmLine::cs, t_thermal::dCooldT, DEBUG_ENTRY, DEBUG_EXIT, dense, DumpLine(), E, t_dense::eden, t_dense::EdenHCorr, t_embesq::em13C1910, t_embesq::em1908, embesq, fnzone, h2, t_hmi::H2_total, t_thermal::halfte, t_dense::HCorrFac, hmi, t_hmi::Hmolec, ioQQQ, ipC2_2324, ipC2_2325, ipC2_2327, ipC2_2328, ipC2_2329, ipc31175, ipCARBON, ipHELIUM, ipHYDROGEN, ipMH2g, ipT1335, ipT1548, ipT1550, ipT157, ipT1656, ipT1909, ipT270, ipT274, ipT280, ipT291, ipT310, ipT312, ipT370, ipT386, ipT610, ipT8727, ipT977, ipT9830, ligbar(), MALLOC, MAX2, MIN2, nWindLine, nzone, t_h2::ortho_density, EmLine::Pesc, phycon, EmLine::PopHi, t_atoms::PopLevels, EmLine::PopLo, EmLine::PopOpc, EmLine::pump, PutCS(), t_carb::r9850, t_co::RatioC12O16_2_C13O16, SDIV(), t_phycon::sqrte, T1CM, TauDummy, TauLine2, TauLines, t_phycon::te, t_phycon::te001, t_phycon::te003, t_phycon::te005, t_phycon::te01, t_phycon::te02, t_phycon::te03, t_phycon::te05, t_phycon::te10, t_phycon::te20, t_phycon::te30, t_phycon::te32, t_phycon::te70, thermal, TotalInsanity(), t_thermal::tsq1, and t_dense::xIonDense.

Referenced by CoolEvaluate().

Here is the call graph for this function:

void CoolChlo ( void   ) 

void CoolChro ( void   ) 

void CoolCoba ( void   ) 

Definition at line 10 of file cool_coba.cpp.

References atom_level2(), DEBUG_ENTRY, DEBUG_EXIT, ipCo11527, PutCS(), and TauLines.

Referenced by CoolEvaluate().

Here is the call graph for this function:

void CoolDima ( void   ) 

void CoolEvaluate ( double *  tot  ) 

CoolEvaluate main routine to call others, to evaluate total cooling

Definition at line 40 of file cool_eval.cpp.

References t_wind::AccelTot, t_phycon::alogte, t_rfield::anu, ASSERT, atom_level2(), BOLTZMANN, t_CoolHeavy::brems_cool_h, t_CoolHeavy::brems_cool_he, t_CoolHeavy::brems_cool_hminus, t_CoolHeavy::brems_cool_metals, t_CoolHeavy::brems_cool_net, t_CoolHeavy::brems_heat_total, t_CoolHeavy::C12O16Rot, t_CoolHeavy::C13O16Rot, called, cdEXIT(), t_dense::cdsqte, t_thermal::cextpw, t_CoolHeavy::cextxx, t_thermal::char_tran_cool, t_hmi::chH2_small_model_type, t_iso::cLya_cool, t_rfield::cmcool, t_iso::coll_ion, t_CoolHeavy::colmet, t_rfield::ContBoltz, conv, EmLine::cool, t_dynamics::Cool, CoolAdd(), CoolAlum(), CoolArgo(), CoolCalc(), CoolCarb(), CoolChlo(), CoolChro(), CoolCoba(), CoolDima(), t_thermal::CoolExtra, CoolFluo(), CoolHeavy, t_hyperfine::cooling_total, CoolIron(), CoolMagn(), CoolMang(), CoolNeon(), CoolNick(), CoolNitr(), CoolOxyg(), CoolPhos(), CoolPota(), CoolScan(), CoolSili(), CoolSodi(), CoolSulf(), CoolSum(), CoolTita(), CoolVana(), CoolZero(), CoolZinc(), t_thermal::ctot, t_CoolHeavy::cyntrn, t_hydro::D2H_ratio, t_CoolHeavy::dC12O16Rot, t_CoolHeavy::dC13O16Rot, t_dynamics::dCooldT, t_thermal::dCooldT, t_dynamics::dDensityDT, DEBUG_ENTRY, DEBUG_EXIT, dense, t_hmi::deriv_HeatH2Dexc_BD96, t_hmi::deriv_HeatH2Dexc_BHT90, t_hmi::deriv_HeatH2Dexc_BigH2, t_hmi::deriv_HeatH2Dexc_ELWERT, t_hmi::deriv_HeatH2Dexc_TH85, t_hmi::deriv_HeatH2Dexc_used, t_dynamics::dHeatdT, t_thermal::dHeatdT, dynamics, t_dense::eden, t_dense::EdenTrue, t_CoolHeavy::eebrm, EN1RYD, t_CoolHeavy::expans, t_rfield::flux, fndneg(), fndstr(), fnzone, t_opac::FreeFreeOpacity, t_dense::gas_phase, t_gv::GasCoolColl, t_gv::GasHeatPhotoEl, t_gv::GasHeatTherm, t_rfield::gff, gv, h2, H21_cm_pops(), H21cm_electron(), H21cm_H_atom(), H2_Cooling(), t_hmi::H2_total, t_CoolHeavy::h2line, t_CoolHeavy::H2PlsCool, t_hmi::h2plus_heat, t_thermal::halfte, t_CoolHeavy::HD, t_dynamics::Heat, t_hmi::HeatH2Dexc_BD96, t_hmi::HeatH2Dexc_BHT90, t_hmi::HeatH2Dexc_BigH2, t_hmi::HeatH2Dexc_ELWERT, t_hmi::HeatH2Dexc_TH85, t_hmi::HeatH2Dexc_used, t_hmi::HeatH2Dish_BD96, t_hmi::HeatH2Dish_BHT90, t_hmi::HeatH2Dish_BigH2, t_hmi::HeatH2Dish_ELWERT, t_hmi::HeatH2Dish_TH85, t_hmi::HeatH2Dish_used, t_thermal::heating, t_CoolHeavy::heavfb, t_hyperfine::HFLabundance, HFLines, hmi, t_hmi::hmicol, t_hmi::hmihet, t_hmi::HMinus_photo_rate, t_hmi::Hmolec, t_thermal::htot, hydro, hyperfine, HyperfineCS(), ionbal, t_dense::IonHigh, t_dense::IonLow, EmLine::IonStg, ioQQQ, t_rfield::ipEnergyBremsThin, ipH1s, ipH_LIKE, ipHELIUM, t_opac::iphmra, ipHYDROGEN, ipLITHIUM, t_rfield::ipMaxBolt, ipMHm, iso, iso_cool(), iteration, t_gv::lgBakesPAH_heat, t_hmi::lgBigH2_evaluated, t_thermal::lgCExtraOn, t_thermal::lgCNegChk, t_thermal::lgColNeg, t_gv::lgDHetOn, t_gv::lgDustOn, t_dense::lgElmtOn, t_CoolHeavy::lgFreeOn, t_gv::lgGrainPhysicsOn, t_hmi::lgH2_Thermal_BigH2, t_h2::lgH2ON, t_hmi::lgNoH2Mole, t_NumDeriv::lgNumDeriv, t_conv::lgSearch, t_called::lgTalk, t_trace::lgTrace, t_thermal::lgTSetOn, LIMELM, magnetic, MAX2, MIN2, EmLine::nelem, t_rfield::nflux, nHFLines, NISO, t_conv::nPres2Ioniz, NumDeriv, t_rfield::nupper, nzone, opac, t_opac::OpacStack, t_dense::pden, phycon, PI8, t_iso::Pop2Ion, POW2, t_magnetic::pressure, PRT_DERIV, PutCS(), t_radius::Radius, radius, rfield, t_ionbal::RR_rate_coef_used, SDIV(), sexp(), ShowMe(), SMALLFLOAT, t_phycon::sqrte, t_CoolHeavy::tccool, t_phycon::te, t_phycon::teinv, tfidle(), thermal, TotalInsanity(), trace, t_rfield::widflx, wind, t_wind::windv, and t_dense::xIonDense.

Referenced by ConvBase(), and PunchLineData().

Here is the call graph for this function:

void CoolFluo ( void   ) 

Definition at line 11 of file cool_fluo.cpp.

References atom_level3(), DEBUG_ENTRY, DEBUG_EXIT, ipF0229, ipF0267, ipF425, ipF444, MIN2, phycon, PutCS(), TauDummy, TauLines, t_phycon::te001, t_phycon::te003, t_phycon::te01, t_phycon::te05, t_phycon::te10, and t_phycon::te20.

Referenced by CoolEvaluate().

Here is the call graph for this function:

void CoolIron ( void   ) 

Todo:
2 - ground term is actually a fix level system, the vectors are created, with pointers ipFe1_54m , ipFe1_111m, must add collision date, use larger model atom

Todo:
2 following to stop insane FeX strengths >>chng 96 jul 11, removed 1 / 10 factor, so using real data, 90.01 cs = cs * 0.1 >>chng 96 jun 03, transferred following >>chng 97 jan 31, I give up on this mess, use cs of unity

Todo:
2 update atomic data to Chidichimo et al 1999 AASup 137, 175

Todo:
2 * following not in cooling function

Definition at line 623 of file cool_iron.cpp.

References t_phycon::alogte, atom_level2(), atom_level3(), atom_pop2(), atom_pop3(), atoms, AtomSeqBeryllium(), AtomSeqBoron(), t_CoolHeavy::c1118, t_CoolHeavy::c1242, t_CoolHeavy::c1328, t_CoolHeavy::c2170, t_CoolHeavy::c242, t_CoolHeavy::c2568, t_CoolHeavy::c263, t_CoolHeavy::c3892, t_CoolHeavy::c5177, t_CoolHeavy::c5303, t_CoolHeavy::c592, t_CoolHeavy::c7082, CoolAdd(), CoolHeavy, t_thermal::dCooldT, DEBUG_ENTRY, DEBUG_EXIT, dense, DumpLine(), E, t_dense::eden, Fe11Lev5(), Fe13Lev5(), fe14cs(), Fe2_cooling(), Fe3Lev14(), Fe4Lev12(), Fe7Lev8(), Fe_10_11_13_cs(), EmLine::gHi, ioQQQ, ipFe106375, ipFe18975, ipFe1_24m, ipFe1_35m, ipFe22_217, ipFe22_247, ipFe22_253, ipFe22_292, ipFe22_348, ipFe22_846, ipFeI2966, ipFeI3021, ipFeI3457, ipFeI3729, ipFeI3884, ipHYDROGEN, ipIRON, ipT11, ipT1122, ipT192, ipT245, ipT255, ipT347, ipT352, ipT353, ipTFe13, ipTFe20_578, ipTFe20_721, ipTFe23, ligbar(), LineConvRate2CS(), MakeCS(), MALLOC, MAX2, nWindLine, phycon, EmLine::PopHi, t_atoms::PopLevels, EmLine::PopLo, EmLine::PopOpc, EmLine::pump, PutCS(), sexp(), TauDummy, TauLine2, TauLines, t_phycon::te, t_phycon::te0001, t_phycon::te0003, t_phycon::te0005, t_phycon::te001, t_phycon::te003, t_phycon::te01, t_phycon::te02, t_phycon::te03, t_phycon::te05, t_phycon::te10, t_phycon::te20, t_phycon::te40, thermal, TotalInsanity(), t_thermal::tsq1, and t_dense::xIonDense.

Referenced by CoolEvaluate().

Here is the call graph for this function:

void CoolMagn ( void   ) 

void CoolMang ( void   ) 

void CoolNeon ( void   ) 

void CoolNick ( void   ) 

void CoolNitr ( void   ) 

void CoolOxyg ( void   ) 

Todo:
2 add proper temperature dependence when good coll strength calculations become available

Todo:
2 put all these in cooling

Definition at line 32 of file cool_oxyg.cpp.

References t_phycon::alnte, atom_level2(), atom_level3(), atom_oi_calc(), atom_pop3(), atom_pop5(), atoms, AtomSeqBeryllium(), AtomSeqBoron(), EmLine::Aul, t_atoms::c12, t_atoms::c13, t_CoolHeavy::c3727, t_CoolHeavy::c4363, t_CoolHeavy::c5007, t_CoolHeavy::c5577, t_CoolHeavy::c5577_frac_emit, t_CoolHeavy::c6300, t_CoolHeavy::c6300_frac_emit, t_CoolHeavy::c6363, t_CoolHeavy::c7325, t_dense::cdsqte, CO_findrate(), colden, ConvRate2CS(), EmLine::cool, CoolAdd(), CoolHeavy, t_CoolHeavy::coolOi, EmLine::cs, t_oxy::d5007r, t_oxy::d5007t, t_oxy::d6300, t_thermal::dCooldT, DEBUG_ENTRY, DEBUG_EXIT, dense, DumpLine(), E, t_dense::EdenHCorr, t_embesq::em1218, embesq, EmLine::EnergyErg, EmLine::EnergyK, fnzone, h2, t_hmi::H2_total, t_thermal::halfte, hmi, ioQQQ, ipHELIUM, ipHYDROGEN, ipO4_1397, ipO4_1400, ipO4_1401, ipO4_1405, ipO4_1407, ipOXYGEN, ipT1032, ipT1037, ipT1214, ipT146, ipT150, ipT1661, ipT1666, ipT26, ipT304, ipT52, ipT5577, ipT63, ipT630, ipT6300, ipT6363, ipT789, ipT834, ipT835, ipTO88, t_dense::lgAsChoose, ligbar(), MALLOC, MAX2, MIN2, nWindLine, t_colden::O1Pops, t_CoolHeavy::O2471, t_CoolHeavy::O2_A2_tot, t_CoolHeavy::O2_A3_tot, t_CoolHeavy::O3726, t_CoolHeavy::O3730, t_oxy::o3br32, t_oxy::o3cs12, t_oxy::o3cs13, t_oxy::o3enro, t_oxy::o3ex23, t_CoolHeavy::O7323, t_CoolHeavy::O7332, oi3Pcs(), t_h2::ortho_density, oxy, EmLine::Pesc, phycon, t_oxy::poiexc, t_oxy::poiii2, t_oxy::poiii3, EmLine::PopHi, t_atoms::PopLevels, EmLine::PopLo, EmLine::PopOpc, EmLine::pump, PutCS(), SDIV(), sexp(), SMALLFLOAT, t_phycon::sqrte, TauDummy, TauLine2, TauLines, t_phycon::te, t_phycon::te0001, t_phycon::te0002, t_phycon::te0003, t_phycon::te0004, t_phycon::te0005, t_phycon::te0007, t_phycon::te001, t_phycon::te002, t_phycon::te003, t_phycon::te004, t_phycon::te005, t_phycon::te007, t_phycon::te01, t_phycon::te02, t_phycon::te03, t_phycon::te04, t_phycon::te05, t_phycon::te07, t_phycon::te10, t_phycon::te20, t_phycon::te30, t_phycon::te32, t_phycon::te70, thermal, TotalInsanity(), t_thermal::tsq1, and t_dense::xIonDense.

Referenced by CoolEvaluate().

Here is the call graph for this function:

void CoolPhos ( void   ) 

void CoolPota ( void   ) 

void coolpr ( FILE *  io,
const char *  chLabel,
float  lambda,
double  ratio,
const char *  chJOB 
)

coolpr stores coolants before block printed, when printing cooling agents

Parameters:
*io the label for the coolant
*chLabel 
lambda the wavelength
ratio the ratio of this coolant, to total cooling, may be negative
*chJOB which job, either ZERO, DOIT, or DONE

Definition at line 9 of file cool_pr.cpp.

References cdEXIT(), DEBUG_ENTRY, DEBUG_EXIT, ioQQQ, MIN2, NCOLNT_LAB_LEN, NCOLSAV, and ShowMe().

Referenced by dmpary(), fndstr(), and map_do().

Here is the call graph for this function:

void CoolScan ( void   ) 

void CoolSili ( void   ) 

void CoolSodi ( void   ) 

void CoolSulf ( void   ) 

Todo:
1 upgrade SV to more levels there is intercombination line at 0.7634 ryd upgrade to atomic data described in >>refer s5 cs Hudson, C.E> & Bell, K.L. 2006, A&A, 452, 1113

Definition at line 36 of file cool_sulf.cpp.

References t_phycon::alogte, atom_level2(), atom_level3(), atom_pop2(), atom_pop3(), atom_pop5(), atoms, AtomSeqBeryllium(), AtomSeqBoron(), t_CoolHeavy::c10330, t_CoolHeavy::c1213, t_CoolHeavy::c1715, t_CoolHeavy::c1826, t_CoolHeavy::c488, t_CoolHeavy::c6312, t_CoolHeavy::c6731, t_CoolHeavy::c9532, CoolAdd(), CoolHeavy, t_thermal::dCooldT, DEBUG_ENTRY, DEBUG_EXIT, dense, DumpLine(), t_dense::eden, t_embesq::em1198, embesq, EmLine::gHi, t_thermal::halfte, ioQQQ, ipfsS1114, ipfsS1119, ipfsS1207, ipfsS810, ipfsS912, ipfsS938, ipHYDROGEN, ipS12_520, ipS1_25m, ipS1_56m, ipS4_1398, ipS4_1405, ipS4_1407, ipS4_1417, ipS4_1424, ipSULPHUR, ipT1194, ipT1198, ipT1256, ipT786, ipT933, ipT944, ipTS11, ipTS1720, ipTS19, ipTS34, ipTSu30, ipTSu418, ipTSu446, ligbar(), LineConvRate2CS(), MALLOC, MAX2, MIN2, nWindLine, phycon, t_atoms::PopLevels, EmLine::pump, PutCS(), t_CoolHeavy::S10289, t_CoolHeavy::S10323, t_CoolHeavy::S10339, t_CoolHeavy::S10373, S2cs(), t_CoolHeavy::S4070, t_CoolHeavy::S4078, t_CoolHeavy::S6718, t_CoolHeavy::S6733, t_phycon::sqrte, TauDummy, TauLine2, TauLines, t_phycon::te, t_phycon::te0002, t_phycon::te0004, t_phycon::te001, t_phycon::te003, t_phycon::te004, t_phycon::te005, t_phycon::te01, t_phycon::te02, t_phycon::te03, t_phycon::te04, t_phycon::te05, t_phycon::te10, t_phycon::te20, t_phycon::te30, thermal, TotalInsanity(), t_thermal::tsq1, and t_dense::xIonDense.

Referenced by CoolEvaluate().

Here is the call graph for this function:

void CoolSum ( double *  total  ) 

void CoolTita ( void   ) 

void CoolVana ( void   ) 

void CoolZero ( void   ) 

CoolZero set cooling and heating stack to zero

Definition at line 52 of file cool_etc.cpp.

References t_thermal::cooling, t_thermal::dCooldT, DEBUG_ENTRY, DEBUG_EXIT, t_thermal::heatnt, t_thermal::lgCoolEvalOK, t_thermal::ncltot, NCOLNT, and thermal.

Referenced by CoolEvaluate(), and zero().

void CoolZinc ( void   ) 

Definition at line 10 of file cool_zinc.cpp.

References atom_level2(), DEBUG_ENTRY, DEBUG_EXIT, ipZn04363, PutCS(), and TauLines.

Referenced by CoolEvaluate().

Here is the call graph for this function:

void HeatSum ( void   ) 

HeatSum evaluate all heating agents to determine total heating for this zone, called at end of ionize

Todo:
1 add part of hard heat to secondaries

Todo:
2 find correct high-energy limit for these

Definition at line 32 of file heat_sum.cpp.

References ASSERT, t_CoolHeavy::brems_heat_total, called, cdEXIT(), t_thermal::char_tran_heat, t_ionbal::CollIonRate_Ground, t_CoolHeavy::colmet, COmole, t_ionbal::CompRecoilHeatLocal, t_ionbal::CompRecoilHeatRate, conv, CoolHeavy, t_ionbal::CosRayHeatRate, t_ionbal::CosRayIonRate, t_secondaries::csupra, t_secondaries::csupra_effic, t_thermal::ctot, t_FeII::ddT_Fe2_large_cool, DEBUG_ENTRY, DEBUG_EXIT, dense, t_hmi::deriv_HeatH2Dexc_used, t_gv::dHeatdT, t_thermal::dHeatdT, t_iso::dLTot, t_dense::eden, t_secondaries::efionz, EN1RYD, t_secondaries::exctef, t_ionbal::ExtraHeatRate, FAINT_HEAT, t_FeII::Fe2_large_heat, FeII, findspecies(), t_dense::gas_phase, gv, t_hmi::H2_photo_heat_hard, t_hmi::H2_photo_heat_soft, t_hmi::H2_total, t_secondaries::heatef, t_hmi::HeatH2Dexc_used, t_thermal::heating, t_thermal::heatl, t_thermal::heatnt, Heavy, molecule::hevmol, hmi, t_hmi::Hmolec, t_thermal::htot, ionbal, t_dense::IonHigh, t_dense::IonLow, ioQQQ, ipCARBON, ipH1s, ipH_LIKE, ipHE_LIKE, ipHELIUM, ipHYDROGEN, ipMH2g, ipMH2p, ipMH2s, ipMH3p, ipMHm, ipOXYGEN, iso, t_secondaries::lgCSetOn, t_dense::lgElmtOn, t_trace::lgHeatBug, t_NumDeriv::lgNumDeriv, t_conv::lgSearch, t_trace::lgSecIon, t_secondaries::lgSecOFF, t_called::lgTalk, t_trace::lgTrace, t_thermal::lgTSetOn, LIMELM, MAX2, MIN2, mole, t_thermal::ncltot, NISO, t_Heavy::nsShells, t_mole::num_comole_calc, NumDeriv, nzone, t_ionbal::PairProducPhotoRate, t_ionbal::PhotoRate_Shell, phycon, t_iso::Pop2Ion, PRT_DERIV, t_iso::RateLevel2Cont, SDIV(), t_secondaries::sec2prim, secondaries, t_secondaries::SetCsupra, ShowMe(), SMALLFLOAT, t_phycon::te, thermal, trace, t_ionbal::UTA_heat_rate, t_secondaries::x12tot, t_dense::xIonDense, and t_ionbal::xNeutronHeatRate.

Referenced by ConvBase().

Here is the call graph for this function:

void HeatZero ( void   ) 

HeatZero zeroes out the heating array, called at start of ionize

Definition at line 868 of file heat_sum.cpp.

References DEBUG_EXIT, t_thermal::heating, LIMELM, and thermal.

Referenced by ConvBase(), and zero().


Generated for cloudy by doxygen 1.5.9