cloudy trunk
Loading...
Searching...
No Matches
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, realnum xlambda, double cool)
void CoolSum (double *total)
void CoolEvaluate (double *tot)
void coolpr (FILE *io, const char *chLabel, realnum 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 CoolIron (void)
void CoolMagn (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 oi_cs (double &cs3P23P1, double &cs3P23P0, double &cs3P13P0, double &cs3P1D2, double &cs1D21S0, double &cs3P1S0)
void oi_othercs (double &csh01, double &cshe01, double &csh201, double &csh12, double &cshe12, double &csh212, double &csh02, double &cshe02, double &csh202, double &csh2o01, double &csh2o02, double &csh2o12, double &csh2p01, double &csh2p02, double &csh2p12, double &csp01, double &csp02, double &csp12)
void oii_cs (double &oii_cs4S32D5, double &oii_cs4S32D3, double &oii_cs2D52D3, double &oii_cs4S32P3, double &oii_cs2D52P3, double &oii_cs2D32P3, double &oii_cs4S32P1, double &oii_cs2D52P1, double &oii_cs2D32P1, double &oii_cs2P32P1, double &oii_cs4S34P)
void oiii_cs (double &oiii_cs3P25S2, double &oiii_cs3P15S2, double &oiii_cs3P05S2, double &oiii_cs3P1D2, double &oiii_cs1D21S0, double &oiii_cs3P1S0, double &oiii_cs3P03P1, double &oiii_cs3P13P2, double &oiii_cs3P03P2, double &oiii_cs3P3D)
void oiv_cs (double &oiv_cs2P2D, double &oiv_cs2P12P3)
void ov_cs (double &ov_cs1S01P1, double &ov_cs1S03P)
void sii_cs (double &sii_cs4S32D3, double &sii_cs4S32D5, double &sii_cs4S32P1, double &sii_cs4S32P3, double &sii_cs2D32D5, double &sii_cs2D32P1, double &sii_cs2D52P1, double &sii_cs2D32P3, double &sii_cs2D52P3, double &sii_cs2P12P3, double &sii_cs4S34P)
void siii_cs (double &siii_cs3P03P1, double &siii_cs3P03P2, double &siii_cs3P01D2, double &siii_cs3P01S0, double &siii_cs3P13P2, double &siii_cs3P11D2, double &siii_cs3P11S0, double &siii_cs3P21D2, double &siii_cs3P21S0, double &siii_cs1D21S0, double &siii_cs3P3D, double &siii_cs3P5S2)
void siv_cs (double &siv_cs2P12P3)
void sviii_cs (double &sviii_cs2P32P1)
void neiii_cs (double &neiii_cs3P13P0, double &neiii_cs3P23P1, double &neiii_cs3P23P0, double &neiii_cs3P1D2, double &neiii_cs3P1S0)
double Fe3_cs (long ipLo, long ipHi)
double Fe4_cs (long ipLo, long ipHi)
double Fe5_cs (long ipLo, long ipHi)

Function Documentation

◆ CoolAdd()

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

CoolAdd add coolants to the cooling stack, called in evaluation of cooling function

Parameters
*chLabel
xlambda
cool

Definition at line 13 of file cool_etc.cpp.

References ASSERT, DEBUG_ENTRY, MAX2, NCOLNT, NCOLNT_LAB_LEN, and thermal.

Referenced by atom_level2(), atom_level3(), AtomSeqBeryllium(), AtomSeqBoron(), CoolAlum(), CoolArgo(), CoolCalc(), CoolCarb(), CoolChlo(), CoolChro(), CoolEvaluate(), CoolIron(), CoolMagn(), CoolNeon(), CoolNitr(), CoolOxyg(), CoolPhos(), CoolScan(), CoolSili(), CoolSodi(), CoolSulf(), dBase_solve(), Fe2_cooling(), Fe3Lev14(), Fe4Lev12(), and iso_cool().

◆ CoolAlum()

◆ CoolArgo()

void CoolArgo ( void )

Definition at line 15 of file cool_argo.cpp.

References atom_level2(), atom_level3(), atom_pop3(), atom_pop5(), CoolAdd(), CoolHeavy, DEBUG_ENTRY, dense, ipAr06453, ipARGON, ipTAr13, ipTAr22, ipTAr7, ipTAr8, ipTAr9, MAX2, MIN2, phycon, PutCS(), TauDummy, TauLines, and thermal.

Referenced by CoolEvaluate().

Here is the call graph for this function:

◆ CoolCalc()

void CoolCalc ( void )

◆ CoolCarb()

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 22 of file cool_carb.cpp.

References ASSERT, atom_level2(), atom_level3(), atom_pop3(), atoms, AtomSeqBeryllium(), AtomSeqBoron(), carb, co, colden, COLL_CONST, CoolAdd(), DEBUG_ENTRY, molezone::den, dense, dprintf(), DumpLine(), embesq, findspecieslocal(), fnzone, fp_equal(), g, h2, hmi, ioQQQ, ipC2_2324, ipC2_2325, ipC2_2327, ipC2_2328, ipC2_2329, ipc31175, ipCARBON, ipHELIUM, ipHYDROGEN, ipT1335, ipT1548, ipT1550, ipT157, ipT1656, ipT1909, ipT270, ipT274, ipT280, ipT291, ipT310, ipT312, ipT370, ipT386, ipT610, ipT8727, ipT977, ipT9830, ligbar(), MAX2, MIN2, nWindLine, nzone, phycon, pow2(), PutCS(), SDIV(), SMALLFLOAT, T1CM, TauDummy, TauLine2, TauLines, thermal, and TotalInsanity().

Referenced by CoolEvaluate().

Here is the call graph for this function:

◆ CoolChlo()

void CoolChlo ( void )

◆ CoolChro()

void CoolChro ( void )

Definition at line 14 of file cool_chro.cpp.

References atom_pop2(), atom_pop3(), CoolAdd(), CoolHeavy, DEBUG_ENTRY, dense, and ipCHROMIUM.

Referenced by CoolEvaluate().

Here is the call graph for this function:

◆ CoolCoba()

void CoolCoba ( void )

Definition at line 10 of file cool_coba.cpp.

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

Referenced by CoolEvaluate().

Here is the call graph for this function:

◆ CoolDima()

void CoolDima ( void )

Definition at line 25 of file cool_dima.cpp.

References atmdat, atom_level2(), ColStrGBar(), cs1_flag_lev2, DEBUG_ENTRY, dense, GetDopplerWidth(), NISO, nWindLine, PutCS(), RT_line_one(), and TauLine2.

Referenced by CoolEvaluate().

Here is the call graph for this function:

◆ CoolEvaluate()

void CoolEvaluate ( double * tot)

CoolEvaluate main routine to call others, to evaluate total cooling

Parameters
tottotal cooling

Definition at line 45 of file cool_eval.cpp.

References ASSERT, atmdat, atom_level2(), BOLTZMANN, called, cdEXIT, conv, CoolAdd(), CoolAlum(), CoolArgo(), CoolCalc(), CoolCarb(), CoolChlo(), CoolChro(), CoolCoba(), CoolDima(), CoolHeavy, CoolIron(), CoolMagn(), CoolNeon(), CoolNick(), CoolNitr(), CoolOxyg(), CoolPhos(), CoolPota(), CoolScan(), CoolSili(), CoolSodi(), CoolSulf(), CoolSum(), CoolZero(), dBase_solve(), dBaseSpecies, DEBUG_ENTRY, molezone::den, dense, diatoms, dynamics, EN1RYD, EXIT_FAILURE, findspecieslocal(), fixit(), fndneg(), fndstr(), fnzone, fp_equal(), GetDopplerWidth(), gv, h2, H21_cm_pops(), H21cm_electron(), H21cm_H_atom(), H21cm_proton(), hd, HFLines, hmi, hydro, hyperfine, HyperfineCS(), ionbal, ioQQQ, ipALUMINIUM, ipARGON, ipCALCIUM, ipCARBON, ipCHLORINE, ipCHROMIUM, ipCOBALT, ipH1s, ipH_LIKE, ipHELIUM, ipHYDROGEN, ipIRON, ipLITHIUM, ipMAGNESIUM, ipNEON, ipNICKEL, ipNITROGEN, ipOXYGEN, ipPHOSPHORUS, ipPOTASSIUM, ipSCANDIUM, ipSILICON, ipSODIUM, ipSULPHUR, iso_cool(), iso_sp, iteration, lgMustPrintHeader, LIMELM, magnetic, MAX2, MIN2, mole, mole_global, N21CM_TE, nHFLines, NISO, nSpecies, NumDeriv, nzone, opac, phycon, PI8, POW2, pressure, PRT_DERIV, PutCS(), radius, rfield, RT_line_one(), save, scalingDensity(), SDIV(), sexp(), ShowMe(), SMALLFLOAT, TempChange(), thermal, TotalInsanity(), trace, and wind.

Referenced by ConvBase(), RT_tau_inc(), and SaveLineData().

Here is the call graph for this function:

◆ CoolIron()

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

Definition at line 494 of file cool_iron.cpp.

References atom_level2(), atom_level3(), atom_pop2(), CoolAdd(), CoolHeavy, DEBUG_ENTRY, dense, Fe2_cooling(), Fe3Lev14(), Fe4Lev12(), ipFe1_24m, ipFe1_35m, ipFeI2966, ipFeI3021, ipFeI3457, ipFeI3729, ipFeI3884, ipHYDROGEN, ipIRON, ipT1122, LineConvRate2CS(), MakeCS(), phycon, PutCS(), TauDummy, and TauLines.

Referenced by CoolEvaluate().

Here is the call graph for this function:

◆ CoolMagn()

◆ CoolNeon()

void CoolNeon ( void )

◆ CoolNick()

void CoolNick ( void )

Definition at line 12 of file cool_nick.cpp.

References atom_level3(), DEBUG_ENTRY, dense, ipHYDROGEN, ipNi1_11m, ipNi1_7m, LineConvRate2CS(), MAX2, MIN2, phycon, TauDummy, and TauLines.

Referenced by CoolEvaluate().

Here is the call graph for this function:

◆ CoolNitr()

void CoolNitr ( void )
Todo
1 update cs these to following reference:

>refer n2 cs Hudson, C.E. & Bell, K.L. 2004, MNRAS, 348, 1275 and A&A, 430, 725 they agree with Lennon & Burke >chng 10 feb 24 ML: cs values updated with Hudson & Bell. Not sure why they were wrong.

Definition at line 119 of file cool_nitr.cpp.

References ASSERT, atom_level2(), atom_level3(), atom_pop3(), atom_pop5(), atoms, AtomSeqBeryllium(), AtomSeqBoron(), CoolAdd(), DEBUG_ENTRY, dense, dprintf(), DumpLine(), embesq, fp_equal(), g, ioQQQ, ipN3_1747, ipN3_1749, ipN3_1751, ipN3_1752, ipN3_1754, ipNI_pumpDirect, ipNI_pumpIndirect, ipNITROGEN, ipT1085, ipT1200, ipT122, ipT1239, ipT1243, ipT1486, ipT205, ipT209, ipT2140, ipT315, ipT324, ipT333, ipT374g, ipT57, ipT765, ipT990, ligbar(), MAX2, min(), MIN2, NI_NDP, nitro, nWindLine, phycon, PutCS(), SDIV(), TauDummy, TauLine2, TauLines, thermal, TotalInsanity(), and xNI_coll_stren().

Referenced by CoolEvaluate().

Here is the call graph for this function:

◆ CoolOxyg()

◆ CoolPhos()

void CoolPhos ( void )
Todo
2 update to Tayal data, email of April 22 2003, must be published

Definition at line 13 of file cool_phos.cpp.

References atom_level2(), atom_level3(), atom_pop3(), CoolAdd(), CoolHeavy, DEBUG_ENTRY, dense, ipP0233, ipP0260, ipP0318, ipP713, ipPHOSPHORUS, phycon, PutCS(), TauDummy, and TauLines.

Referenced by CoolEvaluate().

Here is the call graph for this function:

◆ CoolPota()

void CoolPota ( void )

Definition at line 11 of file cool_pota.cpp.

References atom_level2(), atom_level3(), DEBUG_ENTRY, ipKI7745, ipxK03462, ipxK04154, ipxK04598, ipxK07319, phycon, PutCS(), TauDummy, and TauLines.

Referenced by CoolEvaluate().

Here is the call graph for this function:

◆ coolpr()

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

coolpr stores coolants before block printed, when printing cooling agents

Parameters
*iothe label for the coolant
*chLabel
lambdathe wavelength
ratiothe ratio of this coolant, to total cooling, may be negative
*chJOBwhich job, either ZERO, DOIT, or DONE

Definition at line 9 of file cool_pr.cpp.

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

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

Here is the call graph for this function:

◆ CoolScan()

void CoolScan ( void )

Definition at line 12 of file cool_scan.cpp.

References atom_level2(), atom_pop2(), atom_pop3(), CoolAdd(), CoolHeavy, DEBUG_ENTRY, dense, ipSc05231, ipSc13264, ipSCANDIUM, PutCS(), and TauLines.

Referenced by CoolEvaluate().

Here is the call graph for this function:

◆ CoolSili()

void CoolSili ( void )

◆ CoolSodi()

void CoolSodi ( void )

Definition at line 13 of file cool_sodi.cpp.

References atom_level2(), atom_level3(), atom_pop3(), CoolAdd(), CoolHeavy, DEBUG_ENTRY, dense, ipfsNa373, ipfsNa421, ipfsNa490, ipSODIUM, ipT5895, ipxNa0746, ipxNa6143, ipxNa6862, MAX2, MIN2, phycon, PutCS(), TauDummy, and TauLines.

Referenced by CoolEvaluate().

Here is the call graph for this function:

◆ CoolSulf()

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 20 of file cool_sulf.cpp.

References atom_level2(), atom_level3(), atom_pop3(), atom_pop5(), atoms, AtomSeqBeryllium(), AtomSeqBoron(), CoolAdd(), CoolHeavy, DEBUG_ENTRY, dense, dprintf(), DumpLine(), embesq, fp_equal(), g, ioQQQ, ipHYDROGEN, ipS1_25m, ipS1_56m, ipS4_1398, ipS4_1405, ipS4_1407, ipS4_1417, ipS4_1424, ipSULPHUR, ipT1194, ipT1198, ipT1256, ipT786, ipTS11, ipTS1720, ipTS19, ipTS34, LineConvRate2CS(), MAX2, MIN2, nWindLine, phycon, PutCS(), sii_cs(), siii_cs(), siv_cs(), TauDummy, TauLine2, TauLines, thermal, and TotalInsanity().

Referenced by CoolEvaluate().

Here is the call graph for this function:

◆ CoolSum()

void CoolSum ( double * total)

CoolSum total cooling from all entries into cooling stack

Definition at line 76 of file cool_etc.cpp.

References dBaseSpecies, dBaseTrans, DEBUG_ENTRY, DumpLine(), ioQQQ, NISO, nLevel1, nSpecies, nWindLine, TauLine2, TauLines, and thermal.

Referenced by CoolEvaluate().

Here is the call graph for this function:

◆ CoolZero()

void CoolZero ( void )

CoolZero set cooling and heating stack to zero

Definition at line 50 of file cool_etc.cpp.

References DEBUG_ENTRY, LIMELM, NCOLNT, and thermal.

Referenced by CoolEvaluate(), and zero().

◆ Fe3_cs()

double Fe3_cs ( long ipLo,
long ipHi )
Todo
2 put in temperature dependence

Definition at line 1036 of file cool_iron.cpp.

References ASSERT, and col_str.

Referenced by dBase_solve(), and Fe3Lev14().

◆ Fe4_cs()

double Fe4_cs ( long ipLo,
long ipHi )

Definition at line 1159 of file cool_iron.cpp.

References ASSERT.

Referenced by dBase_solve(), and Fe4Lev12().

◆ Fe5_cs()

double Fe5_cs ( long ipLo,
long ipHi )

Definition at line 1187 of file cool_iron.cpp.

References ASSERT, and col_str.

Referenced by dBase_solve().

◆ HeatSum()

void HeatSum ( void )

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

total number of neutral colliders (atoms & molecules)

Todo
1 add part of hard heat to secondaries
Todo
2 find correct high-energy limit for these

Definition at line 33 of file heat_sum.cpp.

References ASSERT, called, cdEXIT, conv, CoolHeavy, DEBUG_ENTRY, molezone::den, dense, deut, diatoms, EN1RYD, EXIT_FAILURE, FAINT_HEAT, FeII, findspecieslocal(), fixit(), fp_equal(), gv, Heavy, hmi, ionbal, ioQQQ, ipARGON, ipCARBON, ipH_LIKE, ipHE_LIKE, ipHELIUM, ipHYDROGEN, ipKRYPTON, ipNEON, ipOXYGEN, iso_sp, LIMELM, MAX2, MIN2, mole, mole_global, NISO, NumDeriv, nzone, phycon, PRT_DERIV, save, SDIV(), secondaries, ShowMe(), SMALLFLOAT, thermal, and trace.

Referenced by ConvBase().

Here is the call graph for this function:

◆ HeatZero()

void HeatZero ( void )

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

Definition at line 928 of file heat_sum.cpp.

References DEBUG_ENTRY, LIMELM, and thermal.

Referenced by ConvBase(), and zero().

◆ neiii_cs()

void neiii_cs ( double & neiii_cs3P13P0,
double & neiii_cs3P23P1,
double & neiii_cs3P23P0,
double & neiii_cs3P1D2,
double & neiii_cs3P1S0 )

Definition at line 251 of file cool_neon.cpp.

References DEBUG_ENTRY, and phycon.

Referenced by CoolNeon(), and CoolOxyg().

◆ oi_cs()

void oi_cs ( double & cs3P23P1,
double & cs3P23P0,
double & cs3P13P0,
double & cs3P1D2,
double & cs1D21S0,
double & cs3P1S0 )

Definition at line 747 of file cool_oxyg.cpp.

References ConvRate2CS(), DEBUG_ENTRY, dense, ipHYDROGEN, MIN2, phycon, POW2, and sexp().

Referenced by CoolOxyg().

Here is the call graph for this function:

◆ oi_othercs()

void oi_othercs ( double & csh01,
double & cshe01,
double & csh201,
double & csh12,
double & cshe12,
double & csh212,
double & csh02,
double & cshe02,
double & csh202,
double & csh2o01,
double & csh2o02,
double & csh2o12,
double & csh2p01,
double & csh2p02,
double & csh2p12,
double & csp01,
double & csp02,
double & csp12 )

Definition at line 865 of file cool_oxyg.cpp.

References DEBUG_ENTRY, dense, h2, hmi, ipHYDROGEN, MAX2, MIN2, phycon, and SDIV().

Referenced by CoolOxyg().

Here is the call graph for this function:

◆ oii_cs()

void oii_cs ( double & oii_cs4S32D5,
double & oii_cs4S32D3,
double & oii_cs2D52D3,
double & oii_cs4S32P3,
double & oii_cs2D52P3,
double & oii_cs2D32P3,
double & oii_cs4S32P1,
double & oii_cs2D52P1,
double & oii_cs2D32P1,
double & oii_cs2P32P1,
double & oii_cs4S34P )

Definition at line 1000 of file cool_oxyg.cpp.

References DEBUG_ENTRY, and phycon.

Referenced by CoolOxyg().

◆ oiii_cs()

void oiii_cs ( double & oiii_cs3P25S2,
double & oiii_cs3P15S2,
double & oiii_cs3P05S2,
double & oiii_cs3P1D2,
double & oiii_cs1D21S0,
double & oiii_cs3P1S0,
double & oiii_cs3P03P1,
double & oiii_cs3P13P2,
double & oiii_cs3P03P2,
double & oiii_cs3P3D )

Definition at line 1039 of file cool_oxyg.cpp.

References DEBUG_ENTRY, and phycon.

Referenced by CoolOxyg().

◆ oiv_cs()

void oiv_cs ( double & oiv_cs2P2D,
double & oiv_cs2P12P3 )

Definition at line 1182 of file cool_oxyg.cpp.

References DEBUG_ENTRY, MAX2, MIN2, and phycon.

Referenced by CoolOxyg().

◆ ov_cs()

void ov_cs ( double & ov_cs1S01P1,
double & ov_cs1S03P )

Definition at line 1214 of file cool_oxyg.cpp.

References DEBUG_ENTRY, MIN2, and phycon.

Referenced by CoolOxyg().

◆ sii_cs()

void sii_cs ( double & sii_cs4S32D3,
double & sii_cs4S32D5,
double & sii_cs4S32P1,
double & sii_cs4S32P3,
double & sii_cs2D32D5,
double & sii_cs2D32P1,
double & sii_cs2D52P1,
double & sii_cs2D32P3,
double & sii_cs2D52P3,
double & sii_cs2P12P3,
double & sii_cs4S34P )

Definition at line 337 of file cool_sulf.cpp.

References DEBUG_ENTRY, MAX2, MIN2, and phycon.

Referenced by CoolOxyg(), and CoolSulf().

◆ siii_cs()

void siii_cs ( double & siii_cs3P03P1,
double & siii_cs3P03P2,
double & siii_cs3P01D2,
double & siii_cs3P01S0,
double & siii_cs3P13P2,
double & siii_cs3P11D2,
double & siii_cs3P11S0,
double & siii_cs3P21D2,
double & siii_cs3P21S0,
double & siii_cs1D21S0,
double & siii_cs3P3D,
double & siii_cs3P5S2 )

Definition at line 434 of file cool_sulf.cpp.

References DEBUG_ENTRY, and phycon.

Referenced by CoolOxyg(), and CoolSulf().

◆ siv_cs()

void siv_cs ( double & siv_cs2P12P3)

Definition at line 545 of file cool_sulf.cpp.

References DEBUG_ENTRY, MIN2, and phycon.

Referenced by CoolOxyg(), and CoolSulf().

◆ sviii_cs()

void sviii_cs ( double & sviii_cs2P32P1)

Definition at line 578 of file cool_sulf.cpp.

References DEBUG_ENTRY, and phycon.

Referenced by CoolOxyg().