#include "cddefines.h"#include "dynamics.h"#include "atmdat.h"#include "conv.h"#include "cosmology.h"#include "dense.h"#include "elementnames.h"#include "helike.h"#include "helike_recom.h"#include "hydrogenic.h"#include "ionbal.h"#include "iso.h"#include "opacity.h"#include "phycon.h"#include "physconst.h"#include "prt.h"#include "save.h"#include "thermal.h"#include "thirdparty.h"#include "trace.h"#include "rt.h"#include "taulines.h"Go to the source code of this file.
Functions | |
| STATIC double | TempInterp (double *TempArray, double *ValueArray, long NumElements) |
| STATIC double | iso_recomb_integrand (double EE) |
| STATIC void | iso_put_recomb_error (long ipISO, long nelem) |
| double | iso_radrecomb_from_cross_section (long ipISO, double temp, long nelem, long ipLo) |
| double | iso_cross_section (double EgammaRyd, double EthRyd, long n, long l, long S, long globalZ, long globalISO) |
| void | iso_radiative_recomb (long ipISO, long nelem) |
| void | iso_radiative_recomb_effective (long ipISO, long nelem) |
| double | iso_RRCoef_Te (long ipISO, long nelem, long n) |
| double | iso_recomb_check (long ipISO, long nelem, long level, double temperature) |
| void | iso_recomb_malloc (void) |
| void | iso_recomb_auxiliary_free (void) |
| void | iso_recomb_setup (long ipISO) |
| double | iso_dielec_recomb_rate (long ipISO, long nelem, long ipLo) |
Variables | |
| static double **** | RRCoef |
| static long ** | NumLevRecomb |
| static double *** | TotalRecomb |
| static double | TeRRCoef [N_ISO_TE_RECOMB] |
| static double | kTRyd |
| static double | global_EthRyd |
| static long int | ipLev |
| static long int | globalZ |
| static long int | globalISO |
| static long int | globalN |
| static long int | globalL |
| static long int | globalS |
| double iso_cross_section | ( | double | ERyd, | |
| double | EthRyd, | |||
| long | n, | |||
| long | l, | |||
| long | S, | |||
| long | globalZ, | |||
| long | globalISO | |||
| ) |
iso_cross_section get cross section for a particular level of an iso sequence ion
| ERyd | ||
| EthRyd | ||
| n | ||
| l | ||
| S | ||
| Z | ||
| ipISO |
Definition at line 133 of file iso_radiative_recomb.cpp.
References cross_section(), DEBUG_ENTRY, H_cross_section(), He_cross_section(), ipH_LIKE, ipHE_LIKE, and TotalInsanity().
Referenced by iso_recomb_integrand().
| double iso_dielec_recomb_rate | ( | long | ipISO, | |
| long | nelem, | |||
| long | ipLo | |||
| ) |
iso_dielec_recomb_rate - get state-specific dielectronic recombination rate
| ipISO | ||
| nelem | ||
| ipLo |
Definition at line 1125 of file iso_radiative_recomb.cpp.
References t_phycon::alogte, ASSERT, DEBUG_ENTRY, t_iso::DielecRecombVsTemp, hunt_bisect(), ipHe1s1S, ipHE_LIKE, iso, t_iso::lgDielRecom, NUM_DR_TEMPS, t_iso::numLevels_max, phycon, and pow().
Referenced by iso_radiative_recomb().
| STATIC void iso_put_recomb_error | ( | long | ipISO, | |
| long | nelem | |||
| ) |
Definition at line 536 of file iso_radiative_recomb.cpp.
References ASSERT, ipHE_LIKE, ipHELIUM, IPRAD, iso, iso_put_error(), L_, MIN2, t_iso::nCollapsed_max, t_iso::numLevels_max, t_iso::QuantumNumbers2Index, and S_.
Referenced by iso_radiative_recomb().
| void iso_radiative_recomb | ( | long | ipISO, | |
| long | nelem | |||
| ) |
iso_radiative_recomb - get rad recomb rate coefficients for iso sequences.
| ipISO | ||
| nelem |
Definition at line 150 of file iso_radiative_recomb.cpp.
References ASSERT, cdEXIT, t_elementnames::chElementSym, t_iso::chISO, t_iso::ConOpacRatio, conv, cosmology, DEBUG_ENTRY, t_iso::DielecRecomb, t_ionbal::DR_Badnell_rate_coef, dynamics, elementnames, t_iso::Error, t_iso::ErrorFactor, fp_equal(), fudge(), Singleton< T >::Inst(), ionbal, ioQQQ, t_save::ioRecom, ipH1s, ipHELIUM, t_iso::ipIsoLevNIonCon, t_trace::ipIsoTrace, IPRAD, ipRecEsc, ipRecNetEsc, ipRecRad, iso, iso_dielec_recomb_rate(), iso_put_error(), iso_put_recomb_error(), iso_radrecomb_from_cross_section(), iso_RRCoef_Te(), iteration, t_opac::lgCaseB, t_iso::lgDielRecom, t_cosmology::lgDo, t_trace::lgHBug, t_trace::lgHeBug, t_save::lgioRecom, t_trace::lgIsoTraceFull, t_iso::lgLevelsLowered, t_iso::lgMustReeval, t_iso::lgNoRecombInterp, t_iso::lgRandErrGen, t_iso::lgTopoff, t_trace::lgTrace, LIMELM, MAX2, MIN2, MyGaussRand(), N_, t_iso::n_HighestResolved_local, t_dynamics::n_initial_relax, t_iso::nCollapsed_local, t_iso::nCollapsed_max, NHYDRO_MAX_LEVEL, NISO, t_conv::nTotalIoniz, t_iso::numLevels_local, t_iso::numLevels_max, opac, phycon, PrintEfmt, t_iso::RadRec_caseB, t_iso::RadRec_effec, t_iso::RadRecomb, Recomb_Seaton59(), RT_recom_effic(), save, ShowMe(), SumUpToThisN, t_opac::TauAbsGeo, t_phycon::te, and trace.
Referenced by iso_update_rates().
| void iso_radiative_recomb_effective | ( | long | ipISO, | |
| long | nelem | |||
| ) |
iso_radiative_recomb_effective - get effective recomb rate coefficients into each level (including indirect)
| ipISO | ||
| nelem |
Definition at line 578 of file iso_radiative_recomb.cpp.
References ASSERT, t_iso::BranchRatio, t_iso::CascadeProb, DEBUG_ENTRY, dprintf(), EN1RYD, t_iso::Error, ioQQQ, IPRAD, ipRecRad, iso, L_, t_iso::lgRandErrGen, MAX2, N_, t_iso::numLevels_local, t_iso::numLevels_max, phycon, pow(), prt_wl(), t_iso::RadEffec, t_iso::RadRecomb, RYDLAM, S_, t_iso::SigmaAtot, t_iso::SigmaCascadeProb, t_iso::SigmaRadEffec, StatesElemNEW, t_phycon::te, wavelength, and t_iso::xIsoLevNIonRyd.
Referenced by iso_update_rates().
| double iso_radrecomb_from_cross_section | ( | long | ipISO, | |
| double | temp, | |||
| long | nelem, | |||
| long | ipLo | |||
| ) |
Definition at line 47 of file iso_radiative_recomb.cpp.
References DEBUG_ENTRY, global_EthRyd, globalISO, globalL, globalN, globalS, globalZ, Singleton< T >::Inst(), ipH_LIKE, ipHE_LIKE, ipLev, iso, iso_recomb_integrand(), kTRyd, L_, MAX2, MILNE_CONST, MIN2, N_, pow(), qg32(), S_, SMALLDOUBLE, StatesElemNEW, TE1RYD, TotalInsanity(), and t_iso::xIsoLevNIonRyd.
Referenced by iso_radiative_recomb(), iso_recomb_check(), and iso_recomb_setup().
| void iso_recomb_auxiliary_free | ( | void | ) |
iso_recomb_auxiliary_free - free up some auxiliary space associated with iso recombination tables.
Definition at line 801 of file iso_radiative_recomb.cpp.
References DEBUG_ENTRY, NISO, and NumLevRecomb.
Referenced by iso_create().
| double iso_recomb_check | ( | long | ipISO, | |
| long | nelem, | |||
| long | level, | |||
| double | temperature | |||
| ) |
iso_recomb_check - called by SanityCheck to confirm that recombination coef are ok, return value is relative error between new calculation of recom, and interp value
| ipISO | ||
| nelem | the chemical element, 1 for He | |
| level | the level, 0 for ground | |
| temperature | the temperature to be used |
Definition at line 710 of file iso_radiative_recomb.cpp.
References DEBUG_ENTRY, iso_radrecomb_from_cross_section(), iso_RRCoef_Te(), MAX2, phycon, t_phycon::te, and TempChange().
Referenced by SanityCheckBegin().
| STATIC double iso_recomb_integrand | ( | double | EE | ) |
Definition at line 121 of file iso_radiative_recomb.cpp.
References global_EthRyd, globalISO, globalL, globalN, globalS, globalZ, iso_cross_section(), kTRyd, and x1.
Referenced by iso_radrecomb_from_cross_section().
| void iso_recomb_malloc | ( | void | ) |
iso_recomb_malloc - malloc space needed for iso recombination tables.
Definition at line 741 of file iso_radiative_recomb.cpp.
References DEBUG_ENTRY, dense, iso, iso_get_total_num_levels(), t_dense::lgElmtOn, LIKE_RREC_MAXN, LIMELM, MALLOC, MAX2, N_ISO_TE_RECOMB, NISO, t_iso::numLevels_max, NumLevRecomb, RRCoef, RREC_MAXN, TeRRCoef, and TotalRecomb.
Referenced by iso_create().
| void iso_recomb_setup | ( | long | ipISO | ) |
iso_recomb_setup - read in or compile iso recombination tables.
| ipISO |
Establish radiative recombination rate coefficients - RRC
Definition at line 814 of file iso_radiative_recomb.cpp.
References AS_LOCAL_ONLY, ASSERT, cdEXIT, t_elementnames::chElementSym, t_iso::chISO, chLine_LENGTH, DEBUG_ENTRY, dense, elementnames, FFmtRead(), INPUT_LINE_LENGTH, Singleton< T >::Inst(), ioQQQ, ipHe1s1S, iso, iso_radrecomb_from_cross_section(), t_iso::lgCompileRecomb, t_dense::lgElmtOn, t_iso::lgNoRecombInterp, t_trace::lgTrace, LIKE_RREC_MAXN, LIMELM, t_iso::n_HighestResolved_max, N_ISO_TE_RECOMB, t_iso::nCollapsed_max, NHYDRO_MAX_LEVEL, NISO, t_iso::numLevels_max, NumLevRecomb, open_data(), pow(), read_whole_line(), Recomb_Seaton59(), RECOMBMAGIC, RRCoef, RREC_MAXN, SumUpToThisN, TeRRCoef, TotalRecomb, and trace.
Referenced by iso_create().
| double iso_RRCoef_Te | ( | long | ipISO, | |
| long | nelem, | |||
| long | n | |||
| ) |
iso_RRCoef_Te - interpolate iso recomb coeff as function of temperature
| ipISO | ||
| nelem | ||
| n |
Definition at line 684 of file iso_radiative_recomb.cpp.
References ASSERT, DEBUG_ENTRY, iso, t_iso::lgNoRecombInterp, N_ISO_TE_RECOMB, t_iso::nCollapsed_max, t_iso::numLevels_max, pow(), RRCoef, TempInterp(), TeRRCoef, and TotalRecomb.
Referenced by iso_radiative_recomb(), and iso_recomb_check().
| STATIC double TempInterp | ( | double * | TempArray, | |
| double * | ValueArray, | |||
| long | NumElements | |||
| ) |
Definition at line 1199 of file iso_radiative_recomb.cpp.
References t_phycon::alogte, ASSERT, cdEXIT, DEBUG_ENTRY, hunt_bisect(), ioQQQ, lagrange(), max(), min(), phycon, and t_phycon::te.
Referenced by iso_RRCoef_Te().
double global_EthRyd [static] |
Definition at line 39 of file iso_radiative_recomb.cpp.
Referenced by iso_radrecomb_from_cross_section(), and iso_recomb_integrand().
long int globalISO [static] |
Definition at line 40 of file iso_radiative_recomb.cpp.
Referenced by iso_radrecomb_from_cross_section(), and iso_recomb_integrand().
long int globalL [static] |
Definition at line 41 of file iso_radiative_recomb.cpp.
Referenced by iso_radrecomb_from_cross_section(), and iso_recomb_integrand().
long int globalN [static] |
Definition at line 41 of file iso_radiative_recomb.cpp.
Referenced by iso_radrecomb_from_cross_section(), and iso_recomb_integrand().
long int globalS [static] |
Definition at line 41 of file iso_radiative_recomb.cpp.
Referenced by iso_radrecomb_from_cross_section(), and iso_recomb_integrand().
long int globalZ [static] |
Definition at line 40 of file iso_radiative_recomb.cpp.
Referenced by iso_radrecomb_from_cross_section(), and iso_recomb_integrand().
long int ipLev [static] |
Definition at line 40 of file iso_radiative_recomb.cpp.
Referenced by atmdat_CHIANTI_readin(), atmdat_LAMDA_readin(), cross_section(), and iso_radrecomb_from_cross_section().
double kTRyd [static] |
Definition at line 39 of file iso_radiative_recomb.cpp.
Referenced by iso_radrecomb_from_cross_section(), and iso_recomb_integrand().
long** NumLevRecomb [static] |
Definition at line 34 of file iso_radiative_recomb.cpp.
Referenced by iso_recomb_auxiliary_free(), iso_recomb_malloc(), and iso_recomb_setup().
double**** RRCoef [static] |
Definition at line 33 of file iso_radiative_recomb.cpp.
Referenced by iso_recomb_malloc(), iso_recomb_setup(), and iso_RRCoef_Te().
double TeRRCoef[N_ISO_TE_RECOMB] [static] |
Definition at line 38 of file iso_radiative_recomb.cpp.
Referenced by iso_recomb_malloc(), iso_recomb_setup(), and iso_RRCoef_Te().
double*** TotalRecomb [static] |
Definition at line 35 of file iso_radiative_recomb.cpp.
Referenced by iso_recomb_malloc(), iso_recomb_setup(), and iso_RRCoef_Te().
1.6.1