cloudy trunk
|
#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 | 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 132 of file iso_radiative_recomb.cpp.
References cross_section(), DEBUG_ENTRY, globalISO, globalZ, H_cross_section(), He_cross_section(), ipH_LIKE, ipHE_LIKE, S, 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 1149 of file iso_radiative_recomb.cpp.
References ASSERT, DEBUG_ENTRY, freeBound::DielecRecombVsTemp, hunt_bisect(), ipHe1s1S, ipHE_LIKE, iso_ctrl, iso_sp, NUM_DR_TEMPS, and phycon.
Referenced by iso_radiative_recomb().
STATIC void iso_put_recomb_error | ( | long | ipISO, |
long | nelem ) |
Definition at line 560 of file iso_radiative_recomb.cpp.
References ASSERT, ipHE_LIKE, ipHELIUM, IPRAD, iso_put_error(), iso_sp, L_, MIN2, S_, and STATIC.
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 149 of file iso_radiative_recomb.cpp.
References ASSERT, cdEXIT, conv, cosmology, DEBUG_ENTRY, elementnames, EXIT_FAILURE, fp_equal(), t_ADfA::H_rad_rec(), Singleton< t_ADfA >::Inst(), ionbal, ioQQQ, ipH1s, ipHELIUM, 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, LIMELM, MAX2, MIN2, N_, NHYDRO_MAX_LEVEL, NISO, opac, phycon, PrintEfmt, Recomb_Seaton59(), RT_recom_effic(), save, ShowMe(), SumUpToThisN, 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 602 of file iso_radiative_recomb.cpp.
References ASSERT, DEBUG_ENTRY, dprintf(), EN1RYD, ex, ioQQQ, IPRAD, ipRecRad, iso_ctrl, iso_sp, L_, MAX2, N_, phycon, prt_wl(), RYDLAM, S_, and wavelength.
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, t_ADfA::H_rad_rec(), Singleton< t_ADfA >::Inst(), ipH_LIKE, ipHE_LIKE, iso_recomb_integrand(), iso_sp, kTRyd, L_, MAX2, MILNE_CONST, MIN2, N_, qg32(), S_, SMALLDOUBLE, TE1RYD, and TotalInsanity().
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 825 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 734 of file iso_radiative_recomb.cpp.
References DEBUG_ENTRY, iso_radrecomb_from_cross_section(), iso_RRCoef_Te(), MAX2, phycon, and TempChange().
Referenced by SanityCheckBegin().
STATIC double iso_recomb_integrand | ( | double | EE | ) |
Definition at line 120 of file iso_radiative_recomb.cpp.
References global_EthRyd, globalISO, globalL, globalN, globalS, globalZ, iso_cross_section(), kTRyd, STATIC, 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 765 of file iso_radiative_recomb.cpp.
References DEBUG_ENTRY, dense, iso_get_total_num_levels(), iso_sp, LIKE_RREC_MAXN, LIMELM, MALLOC, MAX2, N_ISO_TE_RECOMB, NISO, 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 838 of file iso_radiative_recomb.cpp.
References AS_LOCAL_ONLY, ASSERT, cdEXIT, chLine_LENGTH, DEBUG_ENTRY, dense, elementnames, EXIT_FAILURE, EXIT_SUCCESS, FFmtRead(), t_ADfA::H_rad_rec(), Singleton< t_ADfA >::Inst(), ioQQQ, ipHe1s1S, iso_ctrl, iso_radrecomb_from_cross_section(), iso_sp, LIKE_RREC_MAXN, LIMELM, N_ISO_TE_RECOMB, NHYDRO_MAX_LEVEL, NISO, NumLevRecomb, open_data(), 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 708 of file iso_radiative_recomb.cpp.
References ASSERT, DEBUG_ENTRY, iso_ctrl, iso_sp, N_ISO_TE_RECOMB, 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 1224 of file iso_radiative_recomb.cpp.
References ASSERT, cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, hunt_bisect(), ioQQQ, lagrange(), max(), min(), phycon, and STATIC.
Referenced by iso_RRCoef_Te().
|
static |
Definition at line 39 of file iso_radiative_recomb.cpp.
Referenced by iso_radrecomb_from_cross_section(), and iso_recomb_integrand().
|
static |
Definition at line 40 of file iso_radiative_recomb.cpp.
Referenced by iso_cool(), iso_cross_section(), iso_radrecomb_from_cross_section(), and iso_recomb_integrand().
|
static |
Definition at line 41 of file iso_radiative_recomb.cpp.
Referenced by iso_radrecomb_from_cross_section(), and iso_recomb_integrand().
|
static |
Definition at line 41 of file iso_radiative_recomb.cpp.
Referenced by iso_radrecomb_from_cross_section(), and iso_recomb_integrand().
|
static |
Definition at line 41 of file iso_radiative_recomb.cpp.
Referenced by iso_radrecomb_from_cross_section(), and iso_recomb_integrand().
|
static |
Definition at line 40 of file iso_radiative_recomb.cpp.
Referenced by iso_cool(), iso_cross_section(), iso_radrecomb_from_cross_section(), and iso_recomb_integrand().
|
static |
Definition at line 39 of file iso_radiative_recomb.cpp.
|
static |
Definition at line 34 of file iso_radiative_recomb.cpp.
Referenced by iso_recomb_auxiliary_free(), iso_recomb_malloc(), and iso_recomb_setup().
|
static |
Definition at line 33 of file iso_radiative_recomb.cpp.
Referenced by iso_recomb_malloc(), iso_recomb_setup(), and iso_RRCoef_Te().
|
static |
Definition at line 38 of file iso_radiative_recomb.cpp.
Referenced by iso_recomb_malloc(), iso_recomb_setup(), and iso_RRCoef_Te().
|
static |
Definition at line 35 of file iso_radiative_recomb.cpp.
Referenced by iso_recomb_malloc(), iso_recomb_setup(), and iso_RRCoef_Te().