Cloudy
Spectral Synthesis Code for Astrophysics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 SecIoniz (void)
 
void HeatZero (void)
 
void CoolDima (void)
 

Variables

const bool lgConvBaseHeatTest =false
 

Function Documentation

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

References ASSERT, t_thermal::chClntLab, t_thermal::collam, t_thermal::cooling, DEBUG_ENTRY, t_thermal::heatnt, t_thermal::lgCoolEvalOK, MAX2, t_thermal::ncltot, NCOLNT, NCOLNT_LAB_LEN, and thermal.

Referenced by atom_level2(), CoolEvaluate(), dBase_solve(), and iso_cool().

void CoolEvaluate ( double *  tot)

CoolEvaluate main routine to call others, to evaluate total cooling

Parameters
tottotal cooling

References Wind::AccelTotalOutward, t_phycon::alogte, t_mesh::anu(), ASSERT, atmdat, t_gaunt::brems_cool(), 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_gaunt::brems_sum_ions(), called, cdEXIT, t_thermal::cextpw, t_CoolHeavy::cextxx, t_thermal::char_tran_cool, t_mole_local::chem_heat(), t_hmi::chH2_small_model_type, t_rfield::cmcool, t_CoolHeavy::colmet, conv, t_dynamics::Cool(), CoolAdd(), CoolDima(), t_thermal::CoolExtra, CoolH2_GA08(), CoolHeavy, CoolHyperfine(), CoolSum(), CoolZero(), t_thermal::ctot, t_CoolHeavy::cyntrn, dBase_solve(), dBaseSpecies, dBaseTrim(), dBaseUpdateCollCoeffs(), t_dynamics::dCooldT(), t_thermal::dCooldT, DEBUG_ENTRY, t_brems_den::den_Hep, t_brems_den::den_Hepp, t_brems_den::den_Hm, t_brems_den::den_Hp, t_brems_den::den_ion, dense, t_hmi::deriv_HeatH2Dexc_BD96, t_hmi::deriv_HeatH2Dexc_BHT90, t_hmi::deriv_HeatH2Dexc_ELWERT, t_hmi::deriv_HeatH2Dexc_TH85, t_hmi::deriv_HeatH2Dexc_used, t_dynamics::dHeatdT, t_thermal::dHeatdT, diatoms, dynamics, t_dense::eden, t_dense::EdenTrue, eeBremsCooling(), t_CoolHeavy::eebrm, t_thermal::elementcool, EXIT_FAILURE, exp10(), t_CoolHeavy::expans, findspecieslocal(), fixit, t_rfield::flux, fndneg(), fndstr(), fnzone, fp_equal(), fprintf(), t_opac::FreeFreeOpacity, t_dense::gas_phase, GrainVar::GasCoolColl, GrainVar::GasHeatPhotoEl, GrainVar::GasHeatTherm, t_gaunt::gauntff(), gv, h2, t_hmi::H2_total, t_CoolHeavy::h2line, t_CoolHeavy::H2PlsCool, t_hmi::h2plus_heat, t_thermal::halfte, hd, t_CoolHeavy::HD, t_hmi::HD_total, t_dynamics::Heat(), diatomics::HeatDexc, diatomics::HeatDexc_deriv, diatomics::HeatDiss, t_hmi::HeatH2Dexc_BD96, t_hmi::HeatH2Dexc_BHT90, t_hmi::HeatH2Dexc_ELWERT, t_hmi::HeatH2Dexc_TH85, t_hmi::HeatH2Dexc_used, t_hmi::HeatH2Dish_BD96, t_hmi::HeatH2Dish_BHT90, t_hmi::HeatH2Dish_ELWERT, t_hmi::HeatH2Dish_TH85, t_hmi::HeatH2Dish_used, t_CoolHeavy::heavfb, hmi, t_hmi::hmicol, t_hmi::hmihet, t_hmi::HMinus_photo_rate, t_thermal::htot, Singleton< t_gaunt >::Inst(), ionbal, t_dense::IonHigh, t_dense::IonLow, ioQQQ, t_rfield::ipEnergyBremsThin, ipH_LIKE, ipHYDROGEN, ipLITHIUM, t_rfield::ipMaxBolt, t_dynamics::isInitialRelaxIteration(), iso_cool(), iso_sp, iteration, GrainVar::lgBakesPAH_heat, Wind::lgBallistic(), t_thermal::lgCExtraOn, t_atmdat::lgChiantiOn, t_thermal::lgCNegChk, GrainVar::lgDHetOn, GrainVar::lgDustOn(), t_dense::lgElmtOn, diatomics::lgEnabled, diatomics::lgEvaluated, t_CoolHeavy::lgFreeOn, GrainVar::lgGrainPhysicsOn, t_hmi::lgH2_Thermal_BigH2, t_dense::lgIonChiantiOn, t_dense::lgIonStoutOn, lgMustPrintHeader, t_mole_global::lgNoMole, t_NumDeriv::lgNumDeriv, t_conv::lgSearch, t_mole_global::lgStancil, t_atmdat::lgStoutOn, t_called::lgTalk, t_thermal::lgTemperatureConstant, t_dynamics::lgTimeDependentStatic, t_trace::lgTrace, LIMELM, magnetic, MAX2, min(), MIN2, mole, mole_global, t_rfield::nflux, t_rfield::nflux_with_check, NISO, t_conv::nPres2Ioniz, nSpecies, NumDeriv, nzone, opac, phycon, pow(), pow2(), t_pressure::PresGasCurr, pressure, t_magnetic::pressure, PRT_DERIV, radius, t_radius::Radius, rfield, t_ionbal::RR_rate_coef_used, scalingDensity(), SDIV(), t_thermal::setHeating(), ShowMe(), t_phycon::sqrte, t_CoolHeavy::tccool, t_phycon::te, t_phycon::teinv, TempChange(), thermal, t_dynamics::timestep, TotalInsanity(), trace, t_dynamics::Upstream_density, wind, Wind::windv, and t_dense::xIonDense.

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

Here is the call graph for this function:

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

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

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

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

References ASSERT, t_CoolHeavy::brems_heat_total, called, cdEXIT, t_thermal::char_tran_heat, t_rfield::cmheat, t_ionbal::CollIonRate_Ground, t_CoolHeavy::colmet, t_ionbal::CompRecoilHeatLocal, t_ionbal::CompRecoilHeatRate, conv, CoolHeavy, t_ionbal::CosRayHeatNeutralParticles, t_ionbal::CosRayHeatThermalElectrons, t_thermal::ctot, DEBUG_ENTRY, molezone::den, dense, t_hmi::deriv_HeatH2Dexc_used, t_thermal::dHeatdT, GrainVar::dHeatdT, diatoms, t_iso_sp::dLTot, t_dense::eden, ElectronFractions(), EXIT_FAILURE, t_ionbal::ExtraHeatRate, FAINT_HEAT, findspecieslocal(), fixit, fp_equal(), fprintf(), t_dense::gas_phase, gv, t_hmi::H2_total, t_secondaries::HeatEfficPrimary, t_hmi::HeatH2Dexc_used, t_thermal::heating(), t_thermal::heatl, t_thermal::heatnt, Heavy, t_thermal::heavycollcool, hmi, t_thermal::htot, ionbal, t_dense::IonHigh, t_dense::IonLow, ioQQQ, ipCARBON, ipH_LIKE, ipHELIUM, ipHYDROGEN, ipOXYGEN, iso_sp, lgConvBaseHeatTest, t_dense::lgElmtOn, t_trace::lgHeatBug, t_NumDeriv::lgNumDeriv, t_conv::lgSearch, t_secondaries::lgSecOFF, t_called::lgTalk, t_thermal::lgTemperatureConstant, t_trace::lgTrace, LIMELM, MAX2, MIN2, t_thermal::ncltot, NISO, t_Heavy::nsShells, NumDeriv, nzone, t_ionbal::PairProducPhotoRate, t_ionbal::PhotoRate_Shell, phycon, PRT_DERIV, rfield, save, SecIoniz(), secondaries, t_thermal::setHeating(), ShowMe(), t_phycon::te, thermal, trace, t_ionbal::UTA_heat_rate, t_dense::xIonDense, and t_ionbal::xNeutronHeatRate.

Referenced by ConvBase(), and ConvEdenIoniz().

Here is the call graph for this function:

void HeatZero ( void  )

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

References DEBUG_ENTRY, LIMELM, t_thermal::setHeating(), and thermal.

Referenced by ConvBase(), and t_thermal::zero().

Here is the call graph for this function:

Variable Documentation

const bool lgConvBaseHeatTest =false

Referenced by ConvBase(), ConvEdenIoniz(), and HeatSum().