#include "cddefines.h"
#include "atmdat.h"
#include "conv.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 "punch.h"
#include "thermal.h"
#include "thirdparty.h"
#include "trace.h"
#include "rt.h"
Include dependency graph for iso_radiative_recomb.cpp:
Go to the source code of this file.
Functions | |
STATIC double | TempInterp (double *TempArray, double *ValueArray, long NumElements) |
double | iso_radrecomb_from_cross_section (long ipISO, double temp, long nelem, long ipLo) |
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] |
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 985 of file iso_radiative_recomb.cpp.
References t_phycon::alogte, ASSERT, DEBUG_ENTRY, t_iso::DielecRecombVsTemp, ipHe1s1S, ipHE_LIKE, iso, NUM_DR_TEMPS, t_iso::numLevels_max, and phycon.
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 57 of file iso_radiative_recomb.cpp.
References ASSERT, conv, DEBUG_ENTRY, t_iso::DielecRecomb, t_iso::ErrorFactor, hydro, Singleton< T >::Inst(), IPRAD, ipRecRad, iso, iso_dielec_recomb_rate(), iso_radrecomb_from_cross_section(), iso_RRCoef_Te(), t_iso::lgDielRecom, t_iso::lgNoRecombInterp, t_iso::lgRandErrGen, t_hydro::lgReevalRecom, t_iso::lgTopoff, LIMELM, N_, t_iso::nCollapsed_local, NISO, t_conv::nTotalIoniz, t_iso::numLevels_local, t_iso::numLevels_max, phycon, t_iso::RadRecomb, and t_phycon::te.
Here is the call graph for this function:
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 440 of file iso_radiative_recomb.cpp.
References ASSERT, t_iso::CascadeProb, DEBUG_ENTRY, ipRecRad, iso, t_iso::numLevels_local, t_iso::RadEffec, and t_iso::RadRecomb.
double iso_radrecomb_from_cross_section | ( | long | ipISO, | |
double | temp, | |||
long | nelem, | |||
long | ipLo | |||
) |
Definition at line 39 of file iso_radiative_recomb.cpp.
References DEBUG_ENTRY, helike_radrecomb_from_cross_section(), hlike_radrecomb_from_cross_section(), ipH_LIKE, ipHE_LIKE, and TotalInsanity().
Referenced by iso_radiative_recomb(), iso_recomb_check(), and iso_recomb_setup().
Here is the call graph for this function:
void iso_recomb_auxiliary_free | ( | void | ) |
iso_recomb_auxiliary_free - free up some auxiliary space associated with iso recombination tables.
Definition at line 661 of file iso_radiative_recomb.cpp.
References DEBUG_ENTRY, NISO, and NumLevRecomb.
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 572 of file iso_radiative_recomb.cpp.
References DEBUG_ENTRY, iso_radrecomb_from_cross_section(), iso_RRCoef_Te(), MAX2, phycon, t_phycon::te, and TempChange().
Here is the call graph for this function:
void iso_recomb_malloc | ( | void | ) |
iso_recomb_malloc - malloc space needed for iso recombination tables.
Definition at line 601 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.
Here is the call graph for this function:
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 674 of file iso_radiative_recomb.cpp.
References chLine_LENGTH, DEBUG_ENTRY, dense, Singleton< T >::Inst(), ioQQQ, iso, iso_radrecomb_from_cross_section(), t_iso::lgCompileRecomb, t_dense::lgElmtOn, t_iso::lgNoRecombInterp, t_trace::lgTrace, LIMELM, t_iso::n_HighestResolved_max, N_ISO_TE_RECOMB, t_iso::nCollapsed_max, NHYDRO_MAX_LEVEL, NISO, t_iso::numLevels_max, open_data(), Recomb_Seaton59(), RRCoef, SumUpToThisN, TeRRCoef, TotalRecomb, and trace.
Here is the call graph for this function:
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 546 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, RRCoef, TempInterp(), TeRRCoef, and TotalRecomb.
Referenced by iso_radiative_recomb(), and iso_recomb_check().
Here is the call graph for this function:
STATIC double TempInterp | ( | double * | TempArray, | |
double * | ValueArray, | |||
long | NumElements | |||
) |
Definition at line 1059 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().
Here is the call graph for this function:
long** NumLevRecomb [static] |
Definition at line 31 of file iso_radiative_recomb.cpp.
Referenced by iso_recomb_auxiliary_free(), and iso_recomb_malloc().
double**** RRCoef [static] |
Definition at line 30 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 35 of file iso_radiative_recomb.cpp.
Referenced by iso_recomb_malloc(), iso_recomb_setup(), and iso_RRCoef_Te().
double*** TotalRecomb [static] |
Definition at line 32 of file iso_radiative_recomb.cpp.
Referenced by iso_recomb_malloc(), iso_recomb_setup(), and iso_RRCoef_Te().