cloudy trunk
Loading...
Searching...
No Matches
grains.cpp File Reference
#include "cddefines.h"
#include "physconst.h"
#include "atmdat.h"
#include "rfield.h"
#include "hmi.h"
#include "trace.h"
#include "conv.h"
#include "ionbal.h"
#include "thermal.h"
#include "phycon.h"
#include "doppvel.h"
#include "taulines.h"
#include "mole.h"
#include "heavy.h"
#include "thirdparty.h"
#include "dense.h"
#include "ipoint.h"
#include "elementnames.h"
#include "grainvar.h"
#include "grains.h"
#include "iso.h"
Include dependency graph for grains.cpp:

Go to the source code of this file.

Macros

#define FREE_CHECK(PTR)
#define FREE_SAFE(PTR)

Functions

double ASINH (double x)
double one_elec (long nd)
double pot2chrg (double x, long nd)
double chrg2pot (double x, long nd)
double elec_esc_length (double e, long nd)
STATIC void ReadAugerData ()
STATIC void InitBinAugerData (size_t, long, long)
STATIC void GetNextLine (const char *, FILE *, char[])
STATIC void InitEmissivities (void)
STATIC double PlanckIntegral (double, size_t, long)
STATIC void NewChargeData (long)
STATIC double GrnStdDpth (long)
STATIC void GrainChargeTemp (void)
STATIC void GrainCharge (size_t, double *)
STATIC double GrainElecRecomb1 (size_t, long, double *, double *)
STATIC double GrainElecEmis1 (size_t, long, double *, double *, double *, double *)
STATIC void GrainScreen (long, size_t, long, double *, double *)
STATIC double ThetaNu (double)
STATIC void UpdatePot (size_t, long, long, double[], double[])
STATIC void GetFracPop (size_t, long, double[], double[], long *)
STATIC void UpdatePot1 (size_t, long, long, long)
STATIC void UpdatePot2 (size_t, long)
void Yfunc (long, long, double, double, double, double, double, double *, double *, double *, double *)
STATIC double y0b (size_t, long, long)
STATIC double y0b01 (size_t, long, long)
STATIC double y0psa (size_t, long, long, double)
STATIC double y1psa (size_t, long, double)
double y2pa (double, double, long, double *)
double y2s (double, double, long, double *)
STATIC long HighestIonStage (void)
STATIC void UpdateRecomZ0 (size_t, long, bool)
STATIC void GetPotValues (size_t, long, double *, double *, double *, double *, double *, double *, bool)
STATIC void GrainIonColl (size_t, long, long, long, const double[], const double[], long *, realnum *, realnum *)
STATIC void GrainChrgTransferRates (long)
STATIC void GrainUpdateRadius1 (void)
STATIC void GrainUpdateRadius2 ()
STATIC void GrainTemperature (size_t, realnum *, double *, double *, double *)
STATIC void PE_init (size_t, long, long, double *, double *, double *, double *, double *, double *, double *)
STATIC void GrainCollHeating (size_t, realnum *, realnum *)
STATIC double GrnVryDpth (size_t)
void GrainZero (void)
void GrainStartIter (void)
void GrainRestartIter (void)
void SetNChrgStates (long nChrg)
void GrainsInit (void)
STATIC double PlanckIntegral (double tdust, size_t nd, long int ip)
STATIC double GrnStdDpth (long int nd)
void GrainDrive (void)
STATIC void GrainIonColl (size_t nd, long int nz, long int nelem, long int ion, const double phi_s_up[], const double phi_s_dn[], long *Z0, realnum *ChEn, realnum *ChemEn)
void GrainDrift (void)

Variables

static const long MAGIC_AUGER_DATA = 20060126L
static const bool INCL_TUNNEL = true
static const bool NO_TUNNEL = false
static const bool ALL_STAGES = true
static long int nCalledGrainDrive
static const long NTOP = NDEMS/5
static const double TOLER = CONSERV_TOL/10.
static const long BRACKET_MAX = 50L
static const long CT_LOOP_MAX = 25L
static const long T_LOOP_MAX = 50L
static double HEAT_TOLER = DBL_MAX
static double HEAT_TOLER_BIN = DBL_MAX
static double CHRG_TOLER = DBL_MAX
static const double AC0 = 3.e-9
static const double AC1G = 4.e-8
static const double AC2G = 7.e-8
static const double ETILDE = 2.*SQRT2/EVRYD
static const double THERMCONST = PI4*ELECTRON_MASS*POW2(BOLTZMANN)/POW3(HPLANCK)
static const double STICK_ELEC = 0.5
static const double STICK_ION = 1.0

Macro Definition Documentation

◆ FREE_CHECK

#define FREE_CHECK ( PTR)
Value:
{ ASSERT( PTR != NULL ); free( PTR ); PTR = NULL; }
#define ASSERT(exp)
Definition cddefines.h:578

Definition at line 55 of file grains.cpp.

◆ FREE_SAFE

#define FREE_SAFE ( PTR)
Value:
{ if( PTR != NULL ) free( PTR ); PTR = NULL; }

Definition at line 56 of file grains.cpp.

Function Documentation

◆ ASINH()

double ASINH ( double x)
inline

asinh is often present in math libraries, but is not guaranteed by the ANSI C89 standard hence we supply our own version, named ASINH to avoid clashes, which should disappear once C++0x is adopted; its accuracy is better than 100 epsilon (worst around |x| = 9e-3)

Definition at line 34 of file grains.cpp.

References LN_TWO, and pow2().

Referenced by y2s().

Here is the call graph for this function:

◆ chrg2pot()

double chrg2pot ( double x,
long nd )
inline

convert grain charge in electrons into potential in Ryd

Definition at line 126 of file grains.cpp.

References one_elec().

Referenced by GetPotValues(), GrainCharge(), GrainDrive(), GrainsInit(), and UpdatePot1().

Here is the call graph for this function:

◆ elec_esc_length()

double elec_esc_length ( double e,
long nd )
inline

mean pathlength travelled by electrons inside the grain, in cm (Eq. 11 of WDB06)

Definition at line 133 of file grains.cpp.

References EVRYD, gv, and pow3().

Referenced by GrainsInit(), y0psa(), y1psa(), and Yfunc().

Here is the call graph for this function:

◆ GetFracPop()

STATIC void GetFracPop ( size_t nd,
long Zlo,
double rate_up[],
double rate_dn[],
long * newZlo )

Definition at line 2936 of file grains.cpp.

References ASSERT, cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, fnzone, gv, ioQQQ, MAX2, NCHU, safe_div(), ShowMe(), STATIC, x1, and x2.

Referenced by GrainCharge().

Here is the call graph for this function:

◆ GetNextLine()

STATIC void GetNextLine ( const char * chFile,
FILE * io,
char chLine[] )

Definition at line 1286 of file grains.cpp.

References cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, FILENAME_PATH_LENGTH_2, ioQQQ, read_whole_line(), STATIC, and strstr_s().

Referenced by ReadAugerData().

Here is the call graph for this function:

◆ GetPotValues()

STATIC void GetPotValues ( size_t nd,
long Zg,
double * ThresInf,
double * ThresInfVal,
double * ThresSurf,
double * ThresSurfVal,
double * PotSurf,
double * Emin,
bool lgUseTunnelCorr )

Definition at line 3802 of file grains.cpp.

References AC0, AC1G, AC2G, cdEXIT, chrg2pot(), DEBUG_ENTRY, EXIT_FAILURE, gv, ioQQQ, MAX2, one_elec(), POT_CAR, POT_SIL, STATIC, and ThetaNu().

Referenced by GrainIonColl(), GrainsInit(), UpdatePot1(), and UpdateRecomZ0().

Here is the call graph for this function:

◆ GrainCharge()

STATIC void GrainCharge ( size_t nd,
double * ThermRatio )
Todo
2 remove gv.bin[nd]->lgChrgConverged, gv.bin[nd]->LowestPot, gv.bin[nd]->dstpotsav gv.bin[nd]->RateUp, gv.bin[nd]->RateDn; also gv.HighestIon??, HighestIonStage()??

Definition at line 2228 of file grains.cpp.

References ASSERT, BRACKET_MAX, cdEXIT, chrg2pot(), conv, DEBUG_ENTRY, EVRYD, EXIT_FAILURE, fnzone, GetFracPop(), GrainElecEmis1(), GrainElecRecomb1(), gv, ioQQQ, MAX2, NCHS, NCHU, nint(), powi(), ShowMe(), STATIC, TorF(), trace, and UpdatePot().

Referenced by GrainChargeTemp().

Here is the call graph for this function:

◆ GrainChargeTemp()

STATIC void GrainChargeTemp ( void )
Todo
2 this algorithm might be more efficient with Brent
Todo
2 should collisional heating/cooling be included here?
Todo
2 use something like log(ThermRatio) + log(delta) ????
Todo
2 this algorithm might be more efficient with Brent

Definition at line 1746 of file grains.cpp.

References ASSERT, CHRG_TOLER, conv, ConvFail(), DEBUG_ENTRY, dense, elementnames, fnzone, fp_equal(), fudge(), GRAIN_TMAX, GRAIN_TMIN, GrainCharge(), GrainChrgTransferRates(), GrainTemperature(), GrainUpdateRadius1(), GrainUpdateRadius2(), gv, HEAT_TOLER, HEAT_TOLER_BIN, HighestIonStage(), ionbal, ioQQQ, ipHYDROGEN, lgAbort, LIMELM, MAT_PAH, MAT_PAH2, NDEMS, NewChargeData(), nzone, phycon, POW2, splint_safe(), STATIC, T_LOOP_MAX, TE1RYD, thermal, TOLER, TorF(), TotalInsanity(), and trace.

Referenced by GrainDrive().

Here is the call graph for this function:

◆ GrainChrgTransferRates()

STATIC void GrainChrgTransferRates ( long nd)

Definition at line 3976 of file grains.cpp.

References atmdat, DEBUG_ENTRY, dense, ChargeBin::FracPop, GetAveVelocity(), GrainScreen(), gv, LIMELM, MAX2, ChargeBin::RecomZ0, STATIC, and STICK_ION.

Referenced by GrainChargeTemp().

Here is the call graph for this function:

◆ GrainCollHeating()

◆ GrainDrift()

void GrainDrift ( void )

GrainDrift computes grains drift velocity

Definition at line 4884 of file grains.cpp.

References ASSERT, BOLTZMANN, DEBUG_ENTRY, dense, EN1RYD, gv, ioQQQ, ipHELIUM, ipHYDROGEN, phycon, POW2, POW3, rfield, SPEEDLIGHT, TE1RYD, and trace.

Referenced by ConvPresTempEdenIoniz().

◆ GrainDrive()

void GrainDrive ( void )

GrainDrive main routine to converge grains thermal solution

Definition at line 1591 of file grains.cpp.

References chrg2pot(), conv, DEBUG_ENTRY, dense, EVRYD, fp_equal(), GrainChargeTemp(), GrainUpdateRadius1(), GrainUpdateRadius2(), gv, hmi, ioQQQ, ipHYDROGEN, LIMELM, nCalledGrainDrive, nzone, phycon, SDIV(), thermal, and trace.

Referenced by ConvBase(), and mole_h2_grain_form().

Here is the call graph for this function:

◆ GrainElecEmis1()

STATIC double GrainElecEmis1 ( size_t nd,
long nz,
double * sum1a,
double * sum1b,
double * sum2,
double * sum3 )
Todo
  • add ionizations due to cosmic rays

Definition at line 2593 of file grains.cpp.

References ASSERT, DEBUG_ENTRY, dense, GetAveVelocity(), GrainScreen(), gv, LIMELM, MAX2, rfield, STATIC, and STICK_ION.

Referenced by GrainCharge(), GrainCollHeating(), and UpdatePot().

Here is the call graph for this function:

◆ GrainElecRecomb1()

STATIC double GrainElecRecomb1 ( size_t nd,
long nz,
double * sum1,
double * sum2 )

Definition at line 2510 of file grains.cpp.

References ASSERT, BOLTZMANN, DEBUG_ENTRY, dense, ELECTRON_MASS, GetAveVelocity(), GrainScreen(), gv, LIMELM, MAX2, phycon, PI, STATIC, and STICK_ION.

Referenced by GrainCharge(), GrainCollHeating(), and UpdatePot().

Here is the call graph for this function:

◆ GrainIonColl() [1/2]

STATIC void GrainIonColl ( size_t nd,
long int nz,
long int nelem,
long int ion,
const double phi_s_up[],
const double phi_s_dn[],
long * Z0,
realnum * ChEn,
realnum * ChemEn )

Definition at line 3896 of file grains.cpp.

References DEBUG_ENTRY, GetPotValues(), gv, Heavy, NO_TUNNEL, rfield, save, and STATIC.

Here is the call graph for this function:

◆ GrainIonColl() [2/2]

STATIC void GrainIonColl ( size_t ,
long ,
long ,
long ,
const double [],
const double [],
long * ,
realnum * ,
realnum *  )

References STATIC.

Referenced by UpdateRecomZ0().

◆ GrainRestartIter()

void GrainRestartIter ( void )

this routine is called by IterRestart()

Definition at line 551 of file grains.cpp.

References DEBUG_ENTRY, and gv.

Referenced by IterRestart().

◆ GrainScreen()

STATIC void GrainScreen ( long ion,
size_t nd,
long nz,
double * eta,
double * xi )

Definition at line 2716 of file grains.cpp.

References ASSERT, BOLTZMANN, DEBUG_ENTRY, ELEM_CHARGE, gv, LIMELM, MIN2, phycon, PI, POW2, STATIC, and ThetaNu().

Referenced by GrainChrgTransferRates(), GrainCollHeating(), GrainElecEmis1(), and GrainElecRecomb1().

Here is the call graph for this function:

◆ GrainsInit()

◆ GrainStartIter()

void GrainStartIter ( void )

this routine is called by IterStart()

Definition at line 513 of file grains.cpp.

References DEBUG_ENTRY, and gv.

Referenced by IterStart().

◆ GrainTemperature()

◆ GrainUpdateRadius1()

STATIC void GrainUpdateRadius1 ( void )

Definition at line 4025 of file grains.cpp.

References ASSERT, DEBUG_ENTRY, dense, GrnStdDpth(), gv, ipHYDROGEN, LIMELM, and STATIC.

Referenced by GrainChargeTemp(), and GrainDrive().

Here is the call graph for this function:

◆ GrainUpdateRadius2()

STATIC void GrainUpdateRadius2 ( )

◆ GrainZero()

void GrainZero ( void )

this routine is called by zero(), so it should contain initializations that need to be done every time before the input lines get parsed

Definition at line 500 of file grains.cpp.

References DEBUG_ENTRY, and gv.

Referenced by zero().

◆ GrnStdDpth() [1/2]

STATIC double GrnStdDpth ( long int nd)

Definition at line 1518 of file grains.cpp.

References DEBUG_ENTRY, dense, DF_STANDARD, DF_SUBLIMATION, DF_USER_FUNCTION, GrnVryDpth(), gv, hmi, ioQQQ, ipHYDROGEN, MAT_PAH, MAT_PAH2, max(), pow3(), sexp(), STATIC, and TotalInsanity().

Here is the call graph for this function:

◆ GrnStdDpth() [2/2]

STATIC double GrnStdDpth ( long )

References STATIC.

Referenced by GrainsInit(), and GrainUpdateRadius1().

◆ GrnVryDpth()

STATIC double GrnVryDpth ( size_t nd)

Definition at line 5002 of file grains.cpp.

References ASSERT, DEBUG_ENTRY, dense, gv, ipHYDROGEN, max(), and STATIC.

Referenced by GrnStdDpth().

Here is the call graph for this function:

◆ HighestIonStage()

STATIC long HighestIonStage ( void )

Definition at line 3719 of file grains.cpp.

References DEBUG_ENTRY, dense, LIMELM, MAX2, and STATIC.

Referenced by GrainChargeTemp().

◆ InitBinAugerData()

STATIC void InitBinAugerData ( size_t nd,
long ipBegin,
long ipEnd )

initialize the Auger data for grain bin nd between index ipBegin <= i < ipEnd

Todo
xray - Compton recoil still needs to be added here

Definition at line 1139 of file grains.cpp.

References ShellData::AvNr, flex_arr< T, lgBC >::clear(), DEBUG_ENTRY, ShellData::Ener, EVRYD, gv, Heavy, Singleton< t_ADfA >::Inst(), ShellData::ionPot, ipHYDROGEN, ShellData::ipLo, LIMELM, max(), MAX2, ShellData::nData, t_ADfA::phfit(), flex_arr< T, lgBC >::realloc(), rfield, STATIC, ShellData::y01, ShellData::y01A, y0psa(), y1psa(), and flex_arr< T, lgBC >::zero().

Referenced by GrainsInit(), and UpdatePot().

Here is the call graph for this function:

◆ InitEmissivities()

STATIC void InitEmissivities ( void )

Definition at line 1313 of file grains.cpp.

References ASSERT, cdEXIT, DEBUG_ENTRY, EXIT_SUCCESS, fudge(), GRAIN_TMAX, GRAIN_TMID, GRAIN_TMIN, gv, ioQQQ, NDEMS, nint(), NTOP, PlanckIntegral(), powi(), spline(), splint(), STATIC, and trace.

Referenced by GrainsInit().

Here is the call graph for this function:

◆ NewChargeData()

STATIC void NewChargeData ( long nd)
Todo
2 should any of the following 3 statements be removed?

Definition at line 1472 of file grains.cpp.

References DEBUG_ENTRY, fp_equal(), gv, LIMELM, NCHS, nzone, phycon, and STATIC.

Referenced by GrainChargeTemp().

Here is the call graph for this function:

◆ one_elec()

double one_elec ( long nd)
inline

evaluate e^2/a, the potential of one electron

Definition at line 113 of file grains.cpp.

References ELEM_CHARGE, EVRYD, and gv.

Referenced by chrg2pot(), GetPotValues(), and pot2chrg().

◆ PE_init()

STATIC void PE_init ( size_t nd,
long nz,
long i,
double * cs1,
double * cs2,
double * cs_tot,
double * cool1,
double * cool2,
double * ehat1,
double * ehat2 )

◆ PlanckIntegral() [1/2]

STATIC double PlanckIntegral ( double tdust,
size_t nd,
long int ip )

Definition at line 1393 of file grains.cpp.

References ASSERT, DEBUG_ENTRY, FR1RYD, gv, HPLANCK, ioQQQ, MIN2, PI4, POW2, powi(), rfield, SPEEDLIGHT, STATIC, TE1RYD, and trace.

Here is the call graph for this function:

◆ PlanckIntegral() [2/2]

STATIC double PlanckIntegral ( double ,
size_t ,
long  )

References STATIC.

Referenced by InitEmissivities().

◆ pot2chrg()

double pot2chrg ( double x,
long nd )
inline

convert grain potential in Ryd to charge in electrons

Definition at line 119 of file grains.cpp.

References one_elec().

Referenced by GrainsInit().

Here is the call graph for this function:

◆ ReadAugerData()

STATIC void ReadAugerData ( )

◆ SetNChrgStates()

void SetNChrgStates ( long nChrg)

this routine is called by ParseSet()

Definition at line 570 of file grains.cpp.

References ASSERT, DEBUG_ENTRY, gv, and NCHU.

Referenced by ParseSet().

◆ ThetaNu()

STATIC double ThetaNu ( double nu)

Definition at line 2794 of file grains.cpp.

References DEBUG_ENTRY, POW2, and STATIC.

Referenced by GetPotValues(), and GrainScreen().

◆ UpdatePot()

STATIC void UpdatePot ( size_t nd,
long Zlo,
long stride,
double rate_up[],
double rate_dn[] )

Definition at line 2831 of file grains.cpp.

References ASSERT, BOLTZMANN, CONSERV_TOL, DEBUG_ENTRY, EN1RYD, GrainElecEmis1(), GrainElecRecomb1(), gv, InitBinAugerData(), ioQQQ, ipoint(), MAX2, MIN2, NCHS, phycon, rfield, STATIC, trace, UpdatePot1(), and UpdatePot2().

Referenced by GrainCharge().

Here is the call graph for this function:

◆ UpdatePot1()

STATIC void UpdatePot1 ( size_t nd,
long nz,
long Zg,
long ipStart )
Todo
xray - secondaries from incident electrons still need to be added in
Todo
xray - primary, secondary, auger electrons need to be added into suprathermals

Definition at line 3088 of file grains.cpp.

References ALL_STAGES, ASSERT, ShellData::AvNr, chrg2pot(), DEBUG_ENTRY, ShellData::Ener, EVRYD, GetPotValues(), gv, hunt_bisect(), INCL_TUNNEL, ShellData::ionPot, LIMELM, max(), MAX2, min(), ShellData::nData, NO_TUNNEL, ShellData::p, PE_init(), POW2, rfield, STATIC, UpdateRecomZ0(), ShellData::y01, ShellData::y01A, y0b(), and Yfunc().

Referenced by UpdatePot().

Here is the call graph for this function:

◆ UpdatePot2()

STATIC void UpdatePot2 ( size_t nd,
long nz )

Definition at line 3367 of file grains.cpp.

References DEBUG_ENTRY, gv, POW2, STATIC, TE1RYD, and THERMCONST.

Referenced by UpdatePot().

◆ UpdateRecomZ0()

STATIC void UpdateRecomZ0 ( size_t nd,
long nz,
bool lgAllIonStages )

Definition at line 3746 of file grains.cpp.

References DEBUG_ENTRY, dense, GetPotValues(), GrainIonColl(), gv, INCL_TUNNEL, LIMELM, NO_TUNNEL, and STATIC.

Referenced by UpdatePot1().

Here is the call graph for this function:

◆ y0b()

STATIC double y0b ( size_t nd,
long nz,
long i )

Definition at line 3441 of file grains.cpp.

References ASSERT, DEBUG_ENTRY, EVRYD, gv, rfield, STATIC, y0b(), and y0b01().

Referenced by UpdatePot1(), and y0b().

Here is the call graph for this function:

◆ y0b01()

STATIC double y0b01 ( size_t nd,
long nz,
long i )

Definition at line 3476 of file grains.cpp.

References ASSERT, cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, gv, ioQQQ, MAX2, PE_CAR, PE_SIL, POW2, POW3, rfield, and STATIC.

Referenced by y0b().

◆ y0psa()

STATIC double y0psa ( size_t nd,
long ns,
long i,
double Eel )

Definition at line 3509 of file grains.cpp.

References ASSERT, DEBUG_ENTRY, elec_esc_length(), gv, and STATIC.

Referenced by InitBinAugerData().

Here is the call graph for this function:

◆ y1psa()

STATIC double y1psa ( size_t nd,
long i,
double Eel )

Definition at line 3540 of file grains.cpp.

References ASSERT, DEBUG_ENTRY, elec_esc_length(), gv, pow2(), pow3(), and STATIC.

Referenced by InitBinAugerData().

Here is the call graph for this function:

◆ y2pa()

double y2pa ( double Elo,
double Ehi,
long Zg,
double * Ehp )
inline

Definition at line 3568 of file grains.cpp.

References ASSERT, DEBUG_ENTRY, and pow3().

Referenced by Yfunc().

Here is the call graph for this function:

◆ y2s()

double y2s ( double Elo,
double Ehi,
long Zg,
double * Ehs )
inline

Definition at line 3612 of file grains.cpp.

References ASINH(), ASSERT, DEBUG_ENTRY, ETILDE, gv, and x2.

Referenced by Yfunc().

Here is the call graph for this function:

◆ Yfunc()

void Yfunc ( long nd,
long nz,
double y01,
double maxval,
double Elo,
double Ehi,
double Eel,
double * Yp,
double * Ys,
double * Ehp,
double * Ehs )
inline

Definition at line 3386 of file grains.cpp.

References ASSERT, cdEXIT, DEBUG_ENTRY, elec_esc_length(), EVRYD, EXIT_FAILURE, gv, ioQQQ, max(), min(), PE_CAR, PE_SIL, y2pa(), and y2s().

Referenced by UpdatePot1().

Here is the call graph for this function:

Variable Documentation

◆ AC0

const double AC0 = 3.e-9
static

Definition at line 98 of file grains.cpp.

Referenced by GetPotValues().

◆ AC1G

const double AC1G = 4.e-8
static

Definition at line 99 of file grains.cpp.

Referenced by GetPotValues().

◆ AC2G

const double AC2G = 7.e-8
static

Definition at line 100 of file grains.cpp.

Referenced by GetPotValues().

◆ ALL_STAGES

const bool ALL_STAGES = true
static

Definition at line 63 of file grains.cpp.

Referenced by UpdatePot1().

◆ BRACKET_MAX

const long BRACKET_MAX = 50L
static

Definition at line 78 of file grains.cpp.

Referenced by GrainCharge().

◆ CHRG_TOLER

double CHRG_TOLER = DBL_MAX
static

Definition at line 91 of file grains.cpp.

Referenced by GrainChargeTemp(), and GrainsInit().

◆ CT_LOOP_MAX

const long CT_LOOP_MAX = 25L
static

Definition at line 83 of file grains.cpp.

◆ ETILDE

const double ETILDE = 2.*SQRT2/EVRYD
static

Definition at line 103 of file grains.cpp.

Referenced by y2s().

◆ HEAT_TOLER

double HEAT_TOLER = DBL_MAX
static

Definition at line 89 of file grains.cpp.

Referenced by GrainChargeTemp(), and GrainsInit().

◆ HEAT_TOLER_BIN

double HEAT_TOLER_BIN = DBL_MAX
static

Definition at line 90 of file grains.cpp.

Referenced by GrainChargeTemp(), and GrainsInit().

◆ INCL_TUNNEL

const bool INCL_TUNNEL = true
static

Definition at line 60 of file grains.cpp.

Referenced by GrainsInit(), UpdatePot1(), and UpdateRecomZ0().

◆ MAGIC_AUGER_DATA

const long MAGIC_AUGER_DATA = 20060126L
static

Definition at line 58 of file grains.cpp.

Referenced by ReadAugerData().

◆ nCalledGrainDrive

long int nCalledGrainDrive
static

Definition at line 67 of file grains.cpp.

Referenced by GrainDrive(), and GrainVar::p_clear1().

◆ NO_TUNNEL

const bool NO_TUNNEL = false
static

Definition at line 61 of file grains.cpp.

Referenced by GrainIonColl(), UpdatePot1(), and UpdateRecomZ0().

◆ NTOP

const long NTOP = NDEMS/5
static

Definition at line 73 of file grains.cpp.

Referenced by InitEmissivities().

◆ STICK_ELEC

const double STICK_ELEC = 0.5
static

Definition at line 109 of file grains.cpp.

Referenced by GrainsInit().

◆ STICK_ION

const double STICK_ION = 1.0
static

◆ T_LOOP_MAX

const long T_LOOP_MAX = 50L
static

Definition at line 86 of file grains.cpp.

Referenced by GrainChargeTemp().

◆ THERMCONST

const double THERMCONST = PI4*ELECTRON_MASS*POW2(BOLTZMANN)/POW3(HPLANCK)
static

Definition at line 106 of file grains.cpp.

Referenced by UpdatePot2().

◆ TOLER

const double TOLER = CONSERV_TOL/10.
static

Definition at line 77 of file grains.cpp.

Referenced by GrainChargeTemp(), mie_auxiliary(), and search_limit().