|
Cloudy
Spectral Synthesis Code for Astrophysics
|
#include "cddefines.h"#include "atmdat_adfa.h"#include "conv.h"#include "cosmology.h"#include "elementnames.h"#include "helike_recom.h"#include "hydrogenic.h"#include "ionbal.h"#include "iso.h"#include "opacity.h"#include "phycon.h"#include "prt.h"#include "save.h"#include "thirdparty.h"#include "trace.h"#include "rt.h"#include "freebound.h"#include "dense.h"#include "integrate.h"#include "container_classes.h"
Functions | |
| STATIC double | TempInterp (double *TempArray, double *ValueArray, long NumElements, double temp) |
| STATIC double | iso_recomb_integrand (double EE) |
| STATIC void | iso_put_recomb_error (long ipISO, long nelem) |
| STATIC 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, double temp, long n) |
| double | iso_recomb_check (long ipISO, long nelem, long level, double temperature) |
| void | iso_recomb_alloc () |
| void | iso_recomb_auxiliary_free () |
| void | iso_recomb_setup (long ipISO) |
| double | iso_dielec_recomb_rate (long ipISO, long nelem, long ipLo) |
Variables | |
| static multi_arr< double, 4 > | RRCoef |
| static multi_arr< long, 2 > | NumLevRecomb |
| static multi_arr< double, 3 > | TotalRecomb |
| static double | TeRRCoef [N_ISO_TE_RECOMB] |
| static double | kTRyd |
| static double | global_EthRyd |
| 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 |
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 |
References t_phycon::alogte, ASSERT, DEBUG_ENTRY, freeBound::DielecRecombVsTemp, exp10(), t_iso_sp::fb, hunt_bisect(), ipHe1s1S, ipHE_LIKE, iso_ctrl, iso_sp, t_isoCTRL::lgDielRecom, NUM_DR_TEMPS, and phycon.
Referenced by iso_radiative_recomb().

| STATIC void iso_put_recomb_error | ( | long | ipISO, |
| long | nelem | ||
| ) |
References ASSERT, ipHE_LIKE, ipHELIUM, IPRAD, iso_put_error(), iso_sp, min(), t_iso_sp::numLevels_max, QN2ind(), and t_iso_sp::st.
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 |
References ASSERT, cdEXIT, t_elementnames::chElementSym, t_isoCTRL::chISO, conv, cosmology, DEBUG_ENTRY, dense, t_ionbal::DR_Badnell_rate_coef, t_ionbal::DR_Badnell_suppress_fact, t_dense::eden, elementnames, EXIT_FAILURE, t_iso_sp::fb, fp_equal(), fprintf(), t_ADfA::H_rad_rec(), t_iso_sp::HighestLevelOpacStack, Singleton< t_ADfA >::Inst(), ionbal, ioQQQ, t_save::ioRecom, ipH1s, ipHE_LIKE, ipHELIUM, t_trace::ipIsoTrace, IPRAD, ipRecEsc, ipRecNetEsc, ipRecRad, iso_ctrl, iso_dielec_recomb_rate(), iso_put_error(), iso_put_recomb_error(), iso_radrecomb_from_cross_section(), iso_RRCoef_Te(), iso_sp, t_opac::lgCaseB, t_isoCTRL::lgDielRecom, t_cosmology::lgDo, t_trace::lgHBug, t_trace::lgHeBug, t_save::lgioRecom, t_trace::lgIsoTraceFull, t_iso_sp::lgLevelsLowered, t_iso_sp::lgMustReeval, t_isoCTRL::lgNoRecombInterp, t_isoCTRL::lgRandErrGen, t_isoCTRL::lgTopoff, t_trace::lgTrace, LIMELM, MAX2, MIN2, N_, t_iso_sp::n_HighestResolved_local, t_iso_sp::nCollapsed_local, t_iso_sp::nCollapsed_max, NHYDRO_MAX_LEVEL, NISO, t_conv::nTotalIoniz, t_iso_sp::numLevels_local, t_iso_sp::numLevels_max, opac, t_opac::OpacStack, phycon, PrintEfmt, t_iso_sp::RadRec_caseB, t_iso_sp::RadRec_effec, 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 |
References ASSERT, t_iso_sp::BranchRatio, t_iso_sp::CascadeProb, DEBUG_ENTRY, dprintf(), t_iso_sp::fb, fprintf(), ioQQQ, IPRAD, ipRecRad, iso_ctrl, iso_sp, L_, t_isoCTRL::lgRandErrGen, MAX2, N_, t_iso_sp::numLevels_local, phycon, pow2(), prt_wl(), S_, t_phycon::te, and wavelength.
Referenced by iso_update_rates().

| STATIC double iso_radrecomb_from_cross_section | ( | long | ipISO, |
| double | temp, | ||
| long | nelem, | ||
| long | ipLo | ||
| ) |
References DEBUG_ENTRY, t_iso_sp::fb, global_EthRyd, globalISO, globalL, globalN, globalS, globalZ, t_ADfA::H_rad_rec(), Singleton< t_ADfA >::Inst(), ipH_LIKE, ipHE_LIKE, iso_recomb_integrand(), iso_sp, kTRyd, L_, MAX2, MIN2, N_, powpq(), qg32(), S_, SMALLDOUBLE, t_iso_sp::st, and TotalInsanity().
Referenced by iso_radiative_recomb(), iso_recomb_check(), and iso_recomb_setup().

| void iso_recomb_alloc | ( | ) |
iso_recomb_alloc - allocate space needed for iso recombination tables.
References multi_arr< T, d, ALLOC, lgBC >::alloc(), DEBUG_ENTRY, dense, iso_get_total_num_levels(), iso_sp, t_dense::lgElmtOn, LIKE_RREC_MAXN(), LIMELM, MAX2, N_ISO_TE_RECOMB, NISO, multi_arr< T, d, ALLOC, lgBC >::reserve(), RREC_MAXN, and TeRRCoef.
Referenced by iso_create().

| void iso_recomb_auxiliary_free | ( | ) |
iso_recomb_auxiliary_free - free up some auxiliary space associated with iso recombination tables.
References multi_arr< T, d, ALLOC, lgBC >::clear(), and DEBUG_ENTRY.
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 |
References DEBUG_ENTRY, iso_radrecomb_from_cross_section(), iso_RRCoef_Te(), and MAX2.
Referenced by SanityCheckBegin().

| STATIC double iso_recomb_integrand | ( | double | EE | ) |
References global_EthRyd, globalISO, globalL, globalN, globalS, globalZ, iso_cross_section(), kTRyd, and x1.
Referenced by iso_radrecomb_from_cross_section().

| void iso_recomb_setup | ( | long | ipISO | ) |
iso_recomb_setup - read in or compile iso recombination tables.
| ipISO |
Establish radiative recombination rate coefficients - RRC
References AS_OPTIONAL, ASSERT, cdEXIT, t_elementnames::chElementSym, t_isoCTRL::chISO, DEBUG_ENTRY, dense, elementnames, EXIT_FAILURE, EXIT_SUCCESS, exp10(), FFmtRead(), fprintf(), t_ADfA::H_rad_rec(), Singleton< t_ADfA >::Inst(), ioQQQ, ipHe1s1S, iso_ctrl, iso_radrecomb_from_cross_section(), iso_sp, t_isoCTRL::lgCompileRecomb, t_dense::lgElmtOn, t_isoCTRL::lgNoRecombInterp, t_trace::lgTrace, LIKE_RREC_MAXN(), LIMELM, N_ISO_TE_RECOMB, t_iso_sp::nCollapsed_max, NHYDRO_MAX_LEVEL, NISO, NULL, t_iso_sp::numLevels_max, open_data(), read_whole_line(), Recomb_Seaton59(), RECOMBMAGIC, RREC_MAXN, SumUpToThisN, TeRRCoef, and trace.
Referenced by iso_create().

| double iso_RRCoef_Te | ( | long | ipISO, |
| long | nelem, | ||
| double | temp, | ||
| long | n | ||
| ) |
iso_RRCoef_Te - interpolate iso recomb coeff as function of temperature
| ipISO | |
| nelem | |
| temp | - the electron temperature |
| n |
References ASSERT, DEBUG_ENTRY, exp10(), iso_ctrl, iso_sp, t_isoCTRL::lgNoRecombInterp, N_ISO_TE_RECOMB, TempInterp(), and TeRRCoef.
Referenced by iso_radiative_recomb(), iso_recomb_check(), and SaveDo().

| STATIC double TempInterp | ( | double * | TempArray, |
| double * | ValueArray, | ||
| long | NumElements, | ||
| double | temp | ||
| ) |
References ASSERT, cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, fprintf(), hunt_bisect(), ioQQQ, lagrange(), max(), and min().
Referenced by iso_RRCoef_Te().

|
static |
Referenced by iso_radrecomb_from_cross_section(), and iso_recomb_integrand().
|
static |
Referenced by iso_radrecomb_from_cross_section(), and iso_recomb_integrand().
|
static |
Referenced by iso_radrecomb_from_cross_section(), and iso_recomb_integrand().
|
static |
Referenced by iso_radrecomb_from_cross_section(), and iso_recomb_integrand().
|
static |
Referenced by iso_radrecomb_from_cross_section(), and iso_recomb_integrand().
|
static |
Referenced by iso_radrecomb_from_cross_section(), and iso_recomb_integrand().
|
static |
Referenced by iso_radrecomb_from_cross_section(), and iso_recomb_integrand().
|
static |
|
static |
|
static |
Referenced by iso_recomb_alloc(), iso_recomb_setup(), and iso_RRCoef_Te().
|
static |