cloudy  trunk
Functions | Variables
iso_radiative_recomb.cpp File Reference
#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]

Function Documentation

double iso_dielec_recomb_rate ( long  ipISO,
long  nelem,
long  ipLo 
)

iso_dielec_recomb_rate - get state-specific dielectronic recombination rate

Parameters:
ipISO
nelem
ipLo

Definition at line 985 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, and phycon.

Referenced by iso_radiative_recomb().

Here is the call graph for this function:

void iso_radiative_recomb ( long  ipISO,
long  nelem 
)
void iso_radiative_recomb_effective ( long  ipISO,
long  nelem 
)

iso_radiative_recomb_effective - get effective recomb rate coefficients into each level (including indirect)

Parameters:
ipISO
nelem

Definition at line 440 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, prt_wl(), t_iso::RadEffec, t_iso::RadRecomb, RYDLAM, S_, t_iso::SigmaAtot, t_iso::SigmaCascadeProb, t_iso::SigmaRadEffec, StatesElem, t_phycon::te, wavelength, and t_iso::xIsoLevNIonRyd.

Referenced by iso_solve().

Here is the call graph for this function:

double iso_radrecomb_from_cross_section ( long  ipISO,
double  temp,
long  nelem,
long  ipLo 
)
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.

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

Parameters:
ipISO
nelemthe chemical element, 1 for He
levelthe level, 0 for ground
temperaturethe 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().

Referenced by SanityCheckBegin().

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.

Referenced by iso_create().

Here is the call graph for this function:

void iso_recomb_setup ( long  ipISO)
double iso_RRCoef_Te ( long  ipISO,
long  nelem,
long  n 
)

iso_RRCoef_Te - interpolate iso recomb coeff as function of temperature

Parameters:
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 
)
Todo:
2 use a canned interpolation routine, no need for special one here

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:


Variable Documentation

long** NumLevRecomb [static]
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().

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated for cloudy by doxygen 1.7.6.1