cloudy
trunk
|
#include "cddefines.h"
#include "cool_eval.h"
#include "taulines.h"
#include "wind.h"
#include "coolheavy.h"
#include "radius.h"
#include "conv.h"
#include "h2.h"
#include "rt.h"
#include "opacity.h"
#include "ionbal.h"
#include "trace.h"
#include "dynamics.h"
#include "grainvar.h"
#include "atmdat.h"
#include "atoms.h"
#include "called.h"
#include "hmi.h"
#include "numderiv.h"
#include "magnetic.h"
#include "phycon.h"
#include "hyperfine.h"
#include "iso.h"
#include "thermal.h"
#include "cooling.h"
#include "pressure.h"
#include "mole.h"
#include "rfield.h"
#include "doppvel.h"
#include "freebound.h"
#include "dense.h"
#include "atmdat_gaunt.h"
#include "iterations.h"
#include "vectorize.h"
Go to the source code of this file.
Macros | |
#define | N21CM_TE 16 |
Functions | |
STATIC double | CoolH2_GA08 (double Temp) |
STATIC void | fndneg (void) |
STATIC void | fndstr (double tot, double dc) |
STATIC void | CoolHyperfine (void) |
STATIC double | eeBremsCooling (double Te, double eden) |
void | CoolEvaluate (double *tot) |
STATIC double | ga08_sum (double Temp, double *coeff, int ncoeff) |
STATIC double | ga08_oH2_H_b100 (double Temp) |
STATIC double | ga08_oH2_H_b1000 (double Temp) |
STATIC double | ga08_oH2_H_b6000 (double Temp) |
STATIC double | ga08_oH2_H_stitch_100 (double Temp) |
STATIC double | ga08_oH2_H_stitch_1000 (double Temp) |
STATIC double | ga08_oH2_H (double Temp) |
STATIC double | ga08_pH2_H_b100 (double Temp) |
STATIC double | ga08_pH2_H_b1000 (double Temp) |
STATIC double | ga08_pH2_H_b6000 (double Temp) |
STATIC double | ga08_pH2_H_stitch_100 (double Temp) |
STATIC double | ga08_pH2_H (double Temp) |
STATIC double | ga08_pH2_pH2_a100_b6000 (double Temp) |
STATIC double | ga08_pH2_pH2 (double Temp) |
STATIC double | ga08_pH2_oH2_a100_b6000 (double Temp) |
STATIC double | ga08_pH2_oH2 (double Temp) |
STATIC double | ga08_oH2_pH2_a100_b6000 (double Temp) |
STATIC double | ga08_oH2_pH2 (double Temp) |
STATIC double | ga08_oH2_oH2_a100_b6000 (double Temp) |
STATIC double | ga08_oH2_oH2 (double Temp) |
STATIC double | ga08_pH2_He_b6000 (double Temp) |
STATIC double | ga08_pH2_He (double Temp) |
STATIC double | ga08_oH2_He_b6000 (double Temp) |
STATIC double | ga08_oH2_He (double Temp) |
STATIC double | ga08_pH2_p_a10_b1e4 (double Temp) |
STATIC double | ga08_pH2_p (double Temp) |
STATIC double | ga08_oH2_p_a10_b1e4 (double Temp) |
STATIC double | ga08_oH2_p (double Temp) |
STATIC double | ga08_pH2_e_a10_b1000 (double Temp) |
STATIC double | ga08_pH2_e_a1000_b1e4 (double Temp) |
STATIC double | ga08_pH2_e (double Temp) |
STATIC double | ga08_oH2_e_a10_b1e4 (double Temp) |
STATIC double | ga08_oH2_e (double Temp) |
void | eeBremsSpectrum (double Te, realnum jnu[], double knu[]) |
Variables | |
static const bool | PRT_DERIV = false |
static const double | EPS = 0.01 |
static const double | aI [11][11] |
static const double | bI [11] |
static const double | aII [9][3] |
static const double | bII [9][2] |
static const double | cII [7][5] |
static const double | Gf1 [3][5] |
static const double | Gf2 [2][5] |
static const double | aIII [9][3] |
static const double | bIII [9][2] |
#define N21CM_TE 16 |
Referenced by CoolHyperfine().
void CoolEvaluate | ( | double * | tot | ) |
CoolEvaluate main routine to call others, to evaluate total cooling
tot | total cooling |
Definition at line 58 of file cool_eval.cpp.
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, 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_dynamics::n_initial_relax, t_rfield::nflux, t_rfield::nflux_with_check, NISO, t_conv::nPres2Ioniz, nSpecies, NumDeriv, nzone, opac, phycon, 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().
STATIC double CoolH2_GA08 | ( | double | Temp | ) |
Definition at line 1292 of file cool_eval.cpp.
References DEBUG_ENTRY, dense, t_dense::eden, ga08_oH2_e(), ga08_oH2_H(), ga08_oH2_He(), ga08_oH2_oH2(), ga08_oH2_p(), ga08_oH2_pH2(), ga08_pH2_e(), ga08_pH2_H(), ga08_pH2_He(), ga08_pH2_oH2(), ga08_pH2_p(), ga08_pH2_pH2(), t_dense::gas_phase, h2, t_hmi::H2_total, hmi, diatomics::interpolate_LTE_Cooling(), ipHELIUM, ipHYDROGEN, iterations, t_iterations::lgLastIt, diatomics::ortho_density, diatomics::para_density, and t_dense::xIonDense.
Referenced by CoolEvaluate().
STATIC void CoolHyperfine | ( | void | ) |
Definition at line 1367 of file cool_eval.cpp.
References atom_level2(), t_dense::AtomicWeight, cdEXIT, t_dense::cdsqte, t_hyperfine::cooling_total, t_thermal::dCooldT, DEBUG_ENTRY, dense, t_thermal::dHeatdT, t_dense::eden, t_ionbal::ExcitationGround, EXIT_FAILURE, t_iso_sp::fb, fp_equal(), fprintf(), GetDopplerWidth(), H21_cm_pops(), H21cm_electron(), H21cm_H_atom(), H21cm_proton(), t_hyperfine::HFLabundance, HFLines, hyperfine, HyperfineCS(), ionbal, ioQQQ, ipH_LIKE, ipHYDROGEN, iso_sp, t_dense::lgElmtOn, LIMELM, N21CM_TE, NISO, phycon, PRT_DERIV, PutCS(), RT_line_one_escape(), save, TransitionList::size(), t_phycon::te, thermal, and t_dense::xIonDense.
Referenced by CoolEvaluate().
STATIC double eeBremsCooling | ( | double | Te, |
double | eden | ||
) |
Definition at line 1712 of file cool_eval.cpp.
References aII, aIII, bI, bII, bIII, cII, DEBUG_ENTRY, Gf1, Gf2, pow2(), and powpq().
Referenced by CoolEvaluate().
void eeBremsSpectrum | ( | double | Te, |
realnum | jnu[], | ||
double | knu[] | ||
) |
Definition at line 1798 of file cool_eval.cpp.
References aI, aII, aIII, t_mesh::anu(), t_mesh::anu2(), t_mesh::anuln(), bII, bIII, cII, t_rfield::ContBoltz, DEBUG_ENTRY, e1_scaled(), fp_equal(), get_ptr(), t_mesh::ithreshC(), max(), min(), t_rfield::nflux, phycon, pow2(), pow3(), powpq(), avx_ptr< T, lgBC >::ptr0(), rfield, t_phycon::te, vexp(), vexpm1(), vlog10(), t_mesh::widflx(), x1, and x2.
Referenced by OpacityAddTotal().
STATIC void fndneg | ( | void | ) |
Definition at line 1496 of file cool_eval.cpp.
References t_thermal::chClntLab, t_thermal::collam, t_thermal::cooling, DEBUG_ENTRY, EPS, fprintf(), t_thermal::heatnt, t_thermal::htot, ioQQQ, t_thermal::ncltot, and thermal.
Referenced by CoolEvaluate().
STATIC void fndstr | ( | double | tot, |
double | dc | ||
) |
Definition at line 1524 of file cool_eval.cpp.
References ASSERT, t_thermal::chClntLab, t_thermal::collam, t_thermal::cooling, coolpr(), t_thermal::ctot, DEBUG_ENTRY, dense, t_dense::eden, EPS, fprintf(), t_thermal::heating(), t_thermal::heatnt, ioQQQ, t_trace::lgCoolTr, t_thermal::ncltot, NCOLNT_LAB_LEN, nzone, phycon, t_phycon::te, thermal, and trace.
Referenced by CoolEvaluate().
STATIC double ga08_oH2_e | ( | double | Temp | ) |
Definition at line 1269 of file cool_eval.cpp.
References DEBUG_ENTRY, dsexp(), and ga08_oH2_e_a10_b1e4().
Referenced by CoolH2_GA08().
STATIC double ga08_oH2_e_a10_b1e4 | ( | double | Temp | ) |
Definition at line 1260 of file cool_eval.cpp.
References DEBUG_ENTRY, and ga08_sum().
Referenced by ga08_oH2_e().
STATIC double ga08_oH2_H | ( | double | Temp | ) |
Definition at line 850 of file cool_eval.cpp.
References DEBUG_ENTRY, ga08_oH2_H_b100(), ga08_oH2_H_b1000(), ga08_oH2_H_b6000(), ga08_oH2_H_stitch_100(), and ga08_oH2_H_stitch_1000().
Referenced by CoolH2_GA08().
STATIC double ga08_oH2_H_b100 | ( | double | Temp | ) |
Definition at line 770 of file cool_eval.cpp.
References DEBUG_ENTRY, and dsexp().
Referenced by ga08_oH2_H(), and ga08_oH2_H_stitch_100().
STATIC double ga08_oH2_H_b1000 | ( | double | Temp | ) |
Definition at line 779 of file cool_eval.cpp.
References DEBUG_ENTRY, and ga08_sum().
Referenced by ga08_oH2_H(), ga08_oH2_H_stitch_100(), and ga08_oH2_H_stitch_1000().
STATIC double ga08_oH2_H_b6000 | ( | double | Temp | ) |
Definition at line 789 of file cool_eval.cpp.
References DEBUG_ENTRY, and ga08_sum().
Referenced by ga08_oH2_H(), and ga08_oH2_H_stitch_1000().
STATIC double ga08_oH2_H_stitch_100 | ( | double | Temp | ) |
Definition at line 803 of file cool_eval.cpp.
References DEBUG_ENTRY, ga08_oH2_H_b100(), and ga08_oH2_H_b1000().
Referenced by ga08_oH2_H().
STATIC double ga08_oH2_H_stitch_1000 | ( | double | Temp | ) |
Definition at line 827 of file cool_eval.cpp.
References DEBUG_ENTRY, ga08_oH2_H_b1000(), and ga08_oH2_H_b6000().
Referenced by ga08_oH2_H().
STATIC double ga08_oH2_He | ( | double | Temp | ) |
Definition at line 1135 of file cool_eval.cpp.
References DEBUG_ENTRY, and ga08_oH2_He_b6000().
Referenced by CoolH2_GA08().
STATIC double ga08_oH2_He_b6000 | ( | double | Temp | ) |
Definition at line 1125 of file cool_eval.cpp.
References DEBUG_ENTRY, and ga08_sum().
Referenced by ga08_oH2_He().
STATIC double ga08_oH2_oH2 | ( | double | Temp | ) |
Definition at line 1075 of file cool_eval.cpp.
References DEBUG_ENTRY, and ga08_oH2_oH2_a100_b6000().
Referenced by CoolH2_GA08().
STATIC double ga08_oH2_oH2_a100_b6000 | ( | double | Temp | ) |
Definition at line 1065 of file cool_eval.cpp.
References DEBUG_ENTRY, and ga08_sum().
Referenced by ga08_oH2_oH2().
STATIC double ga08_oH2_p | ( | double | Temp | ) |
Definition at line 1194 of file cool_eval.cpp.
References DEBUG_ENTRY, and ga08_oH2_p_a10_b1e4().
Referenced by CoolH2_GA08().
STATIC double ga08_oH2_p_a10_b1e4 | ( | double | Temp | ) |
Definition at line 1185 of file cool_eval.cpp.
References DEBUG_ENTRY, and ga08_sum().
Referenced by ga08_oH2_p().
STATIC double ga08_oH2_pH2 | ( | double | Temp | ) |
Definition at line 1045 of file cool_eval.cpp.
References DEBUG_ENTRY, and ga08_oH2_pH2_a100_b6000().
Referenced by CoolH2_GA08().
STATIC double ga08_oH2_pH2_a100_b6000 | ( | double | Temp | ) |
Definition at line 1035 of file cool_eval.cpp.
References DEBUG_ENTRY, and ga08_sum().
Referenced by ga08_oH2_pH2().
STATIC double ga08_pH2_e | ( | double | Temp | ) |
Definition at line 1234 of file cool_eval.cpp.
References DEBUG_ENTRY, dsexp(), ga08_pH2_e_a1000_b1e4(), and ga08_pH2_e_a10_b1000().
Referenced by CoolH2_GA08().
STATIC double ga08_pH2_e_a1000_b1e4 | ( | double | Temp | ) |
Definition at line 1225 of file cool_eval.cpp.
References DEBUG_ENTRY, and ga08_sum().
Referenced by ga08_pH2_e().
STATIC double ga08_pH2_e_a10_b1000 | ( | double | Temp | ) |
Definition at line 1215 of file cool_eval.cpp.
References DEBUG_ENTRY, and ga08_sum().
Referenced by ga08_pH2_e().
STATIC double ga08_pH2_H | ( | double | Temp | ) |
Definition at line 939 of file cool_eval.cpp.
References DEBUG_ENTRY, ga08_pH2_H_b100(), ga08_pH2_H_b1000(), ga08_pH2_H_b6000(), and ga08_pH2_H_stitch_100().
Referenced by CoolH2_GA08().
STATIC double ga08_pH2_H_b100 | ( | double | Temp | ) |
Definition at line 886 of file cool_eval.cpp.
References DEBUG_ENTRY, and dsexp().
Referenced by ga08_pH2_H(), and ga08_pH2_H_stitch_100().
STATIC double ga08_pH2_H_b1000 | ( | double | Temp | ) |
Definition at line 895 of file cool_eval.cpp.
References DEBUG_ENTRY, and ga08_sum().
Referenced by ga08_pH2_H(), and ga08_pH2_H_stitch_100().
STATIC double ga08_pH2_H_b6000 | ( | double | Temp | ) |
Definition at line 905 of file cool_eval.cpp.
References DEBUG_ENTRY, and ga08_sum().
Referenced by ga08_pH2_H().
STATIC double ga08_pH2_H_stitch_100 | ( | double | Temp | ) |
Definition at line 916 of file cool_eval.cpp.
References DEBUG_ENTRY, ga08_pH2_H_b100(), and ga08_pH2_H_b1000().
Referenced by ga08_pH2_H().
STATIC double ga08_pH2_He | ( | double | Temp | ) |
Definition at line 1105 of file cool_eval.cpp.
References DEBUG_ENTRY, and ga08_pH2_He_b6000().
Referenced by CoolH2_GA08().
STATIC double ga08_pH2_He_b6000 | ( | double | Temp | ) |
Definition at line 1096 of file cool_eval.cpp.
References DEBUG_ENTRY, and ga08_sum().
Referenced by ga08_pH2_He().
STATIC double ga08_pH2_oH2 | ( | double | Temp | ) |
Definition at line 1014 of file cool_eval.cpp.
References DEBUG_ENTRY, and ga08_pH2_oH2_a100_b6000().
Referenced by CoolH2_GA08().
STATIC double ga08_pH2_oH2_a100_b6000 | ( | double | Temp | ) |
Definition at line 1004 of file cool_eval.cpp.
References DEBUG_ENTRY, and ga08_sum().
Referenced by ga08_pH2_oH2().
STATIC double ga08_pH2_p | ( | double | Temp | ) |
Definition at line 1165 of file cool_eval.cpp.
References DEBUG_ENTRY, and ga08_pH2_p_a10_b1e4().
Referenced by CoolH2_GA08().
STATIC double ga08_pH2_p_a10_b1e4 | ( | double | Temp | ) |
Definition at line 1156 of file cool_eval.cpp.
References DEBUG_ENTRY, and ga08_sum().
Referenced by ga08_pH2_p().
STATIC double ga08_pH2_pH2 | ( | double | Temp | ) |
Definition at line 985 of file cool_eval.cpp.
References DEBUG_ENTRY, and ga08_pH2_pH2_a100_b6000().
Referenced by CoolH2_GA08().
STATIC double ga08_pH2_pH2_a100_b6000 | ( | double | Temp | ) |
Definition at line 975 of file cool_eval.cpp.
References DEBUG_ENTRY, and ga08_sum().
Referenced by ga08_pH2_pH2().
STATIC double ga08_sum | ( | double | Temp, |
double * | coeff, | ||
int | ncoeff | ||
) |
Definition at line 753 of file cool_eval.cpp.
References DEBUG_ENTRY.
Referenced by ga08_oH2_e_a10_b1e4(), ga08_oH2_H_b1000(), ga08_oH2_H_b6000(), ga08_oH2_He_b6000(), ga08_oH2_oH2_a100_b6000(), ga08_oH2_p_a10_b1e4(), ga08_oH2_pH2_a100_b6000(), ga08_pH2_e_a1000_b1e4(), ga08_pH2_e_a10_b1000(), ga08_pH2_H_b1000(), ga08_pH2_H_b6000(), ga08_pH2_He_b6000(), ga08_pH2_oH2_a100_b6000(), ga08_pH2_p_a10_b1e4(), and ga08_pH2_pH2_a100_b6000().
|
static |
Definition at line 1607 of file cool_eval.cpp.
Referenced by eeBremsSpectrum().
|
static |
Definition at line 1639 of file cool_eval.cpp.
Referenced by eeBremsCooling(), and eeBremsSpectrum().
|
static |
Definition at line 1688 of file cool_eval.cpp.
Referenced by eeBremsCooling(), and eeBremsSpectrum().
|
static |
Definition at line 1633 of file cool_eval.cpp.
Referenced by eeBremsCooling().
|
static |
Definition at line 1651 of file cool_eval.cpp.
Referenced by eeBremsCooling(), and eeBremsSpectrum().
|
static |
Definition at line 1700 of file cool_eval.cpp.
Referenced by eeBremsCooling(), and eeBremsSpectrum().
|
static |
Definition at line 1664 of file cool_eval.cpp.
Referenced by eeBremsCooling(), and eeBremsSpectrum().
|
static |
Definition at line 1493 of file cool_eval.cpp.
|
static |
Definition at line 1675 of file cool_eval.cpp.
Referenced by eeBremsCooling().
|
static |
Definition at line 1682 of file cool_eval.cpp.
Referenced by eeBremsCooling().
|
static |
Definition at line 56 of file cool_eval.cpp.
Referenced by CoolEvaluate(), and CoolHyperfine().