Cloudy
Spectral Synthesis Code for Astrophysics
|
#include "cddefines.h"
#include "atmdat.h"
#include "atmdat_adfa.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 "heavy.h"
#include "ipoint.h"
#include "elementnames.h"
#include "grainvar.h"
#include "grains.h"
#include "iso.h"
#include "mole.h"
#include "dense.h"
#include "vectorize.h"
#include "parser.h"
Macros | |
#define | FREE_CHECK(PTR) { ASSERT( PTR != NULL ); free( PTR ); PTR = NULL; } |
#define | FREE_SAFE(PTR) { if( PTR != NULL ) free( PTR ); PTR = NULL; } |
Functions | |
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 | InitEmissivities () |
STATIC double | PlanckIntegral (double, size_t, long) |
STATIC void | NewChargeData (long) |
STATIC double | GrnStdDpth (long) |
STATIC void | GrainChargeTemp () |
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) |
STATIC void | Yfunc (long, long, const realnum[], const realnum[], const realnum[], double, const double[], const double[], realnum[], realnum[], realnum[], realnum[], long, long) |
STATIC void | Yfunc (long, long, const realnum[], const realnum[], double, double, double, realnum[], realnum[], realnum[], realnum[], long, long) |
STATIC void | y0b (size_t, long, realnum[], long, long) |
STATIC void | y0b01 (size_t, long, realnum[], long, long) |
STATIC double | y0psa (size_t, long, long, double) |
STATIC double | y1psa (size_t, long, double) |
void | y2pa (double, const double[], long, realnum[], realnum[], long, long) |
void | y2s (double, const double[], long, const realnum[], realnum[], realnum[], long, long) |
STATIC void | UpdateRecomZ0 (size_t, long) |
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 () |
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 | GrainStartIter () |
void | GrainRestartIter () |
void | SetNChrgStates (long nChrg) |
void | GrainsInit () |
STATIC double | PlanckIntegral (double tdust, size_t nd, long int ip) |
STATIC double | GrnStdDpth (long int nd) |
void | GrainDrive () |
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 () |
Variables | |
static const long | MAGIC_AUGER_DATA = 20060126L |
static const bool | INCL_TUNNEL = true |
static const bool | NO_TUNNEL = false |
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 | INV_ETILDE = 1./ETILDE |
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 |
|
inline |
convert grain charge in electrons into potential in Ryd
References one_elec().
Referenced by GetPotValues(), GrainCharge(), GrainDrive(), and UpdatePot1().
|
inline |
mean pathlength travelled by electrons inside the grain, in cm (Eq. 11 of WDB06)
References GrainVar::bin, gv, and powpq().
Referenced by GrainsInit(), y0psa(), y1psa(), and Yfunc().
STATIC void GetFracPop | ( | size_t | nd, |
long | Zlo, | ||
double | rate_up[], | ||
double | rate_dn[], | ||
long * | newZlo | ||
) |
References ASSERT, GrainVar::bin, cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, fnzone, fprintf(), gv, ioQQQ, MAX2, NCHU, safe_div(), ShowMe(), x1, and x2.
Referenced by GrainCharge().
STATIC void GetPotValues | ( | size_t | nd, |
long | Zg, | ||
double * | ThresInf, | ||
double * | ThresInfVal, | ||
double * | ThresSurf, | ||
double * | ThresSurfVal, | ||
double * | PotSurf, | ||
double * | Emin, | ||
bool | lgUseTunnelCorr | ||
) |
References AC0, AC1G, AC2G, GrainVar::bin, cdEXIT, chrg2pot(), DEBUG_ENTRY, EXIT_FAILURE, fprintf(), gv, ioQQQ, MAX2, one_elec(), POT_CAR, POT_SIL, pow(), ThetaNu(), and GrainVar::which_pot.
Referenced by GrainIonColl(), GrainsInit(), UpdatePot1(), and UpdateRecomZ0().
STATIC void GrainCharge | ( | size_t | nd, |
double * | ThermRatio | ||
) |
References t_mesh::anuptr(), ASSERT, GrainVar::bin, BRACKET_MAX, cdEXIT, chrg2pot(), conv, DEBUG_ENTRY, EXIT_FAILURE, t_rfield::flux, fnzone, fprintf(), get_ptr(), GetFracPop(), GrainElecEmis1(), GrainElecRecomb1(), gv, ioQQQ, t_mesh::ipointC(), iteration, t_trace::lgDustBug, t_conv::lgSearch, t_trace::lgTrace, max(), MAX2, NCHS, NCHU, t_rfield::nflux, nint(), pot2chrg(), powi(), reduce_ab_a(), rfield, safe_div(), ShowMe(), TorF(), trace, and UpdatePot().
Referenced by GrainChargeTemp().
STATIC void GrainChargeTemp | ( | ) |
References ASSERT, GrainVar::bin, t_elementnames::chElementSym, CHRG_TOLER, conv, ConvFail(), t_thermal::ctot, DEBUG_ENTRY, dense, GrainVar::dHeatdT, GrainVar::dsttmp, t_dense::eden, elementnames, fnzone, fp_equal(), fprintf(), fudge(), t_dense::gas_phase, GrainVar::GasCoolColl, GrainVar::GasHeatNet, GrainVar::GasHeatPhotoEl, GrainVar::GasHeatTherm, GRAIN_TMAX, GRAIN_TMIN, GrainCharge(), GrainChrgTransferRates(), GrainVar::GrainChTrRate, GrainVar::GrainHeatChem, GrainVar::GrainHeatCollSum, GrainVar::GrainHeatDif, GrainVar::GrainHeatInc, GrainVar::GrainHeatLya, GrainVar::GrainHeatSum, GrainTemperature(), GrainUpdateRadius1(), GrainUpdateRadius2(), GrainVar::GrnRecomTe, gv, HEAT_TOLER, HEAT_TOLER_BIN, ionbal, t_dense::IonHigh, t_dense::IonLow, ioQQQ, ipHYDROGEN, t_trace::lgDustBug, t_dense::lgElmtOn, t_ionbal::lgGrainIonRecom, t_conv::lgSearch, t_trace::lgTrace, LIMELM, MAT_PAH, MAT_PAH2, NDEMS, NewChargeData(), nzone, GrainVar::nzone, phycon, POW2, t_conv::setConvIonizFail(), splint_safe(), T_LOOP_MAX, t_phycon::te, thermal, TOLER, TorF(), GrainVar::TotalEden, TotalInsanity(), trace, and t_dense::xIonDense.
Referenced by GrainDrive().
STATIC void GrainChrgTransferRates | ( | long | nd | ) |
References atmdat, t_dense::AtomicWeight, GrainVar::bin, DEBUG_ENTRY, dense, ChargeBin::FracPop, GetAveVelocity(), GrainVar::GrainChTrRate, GrainScreen(), gv, t_atmdat::lgCTOn, t_dense::lgElmtOn, LIMELM, MAX2, ChargeBin::RecomZ0, and STICK_ION.
Referenced by GrainChargeTemp().
References t_dense::AtomicWeight, GrainVar::bin, ChargeBin::ChemEn, DEBUG_ENTRY, molezone::den, dense, ChargeBin::DustZ, t_dense::eden, findspecieslocal(), fprintf(), ChargeBin::FracPop, GetAveVelocity(), GrainElecEmis1(), GrainElecRecomb1(), GrainScreen(), gv, H2_TOP, t_hmi::H2_total, ChargeBin::HeatingRate2, hmi, ioQQQ, ipCARBON, ipH2, ipHYDROGEN, ipOXYGEN, GrainVar::lgDColOn, t_trace::lgDustBug, t_dense::lgElmtOn, t_trace::lgTrace, LIMELM, MAX2, phycon, ChargeBin::PotSurf, ChargeBin::PotSurfInc, POW2, ChargeBin::RecomEn, ChargeBin::RecomZ0, STICK_ION, t_phycon::te, ChargeBin::ThresSurfInc, trace, GrainVar::which_H2distr, and t_dense::xIonDense.
Referenced by GrainTemperature().
void GrainDrift | ( | ) |
GrainDrift computes grains drift velocity
References t_mesh::anu(), ASSERT, GrainVar::bin, t_rfield::ConInterOut, DEBUG_ENTRY, dense, t_dense::eden, t_rfield::flux, fprintf(), gv, ioQQQ, ipHELIUM, ipHYDROGEN, t_trace::lgDustBug, GrainVar::lgNegGrnDrg, t_trace::lgTrace, t_rfield::nPositive, t_rfield::outlin, t_rfield::outlin_noplot, phycon, POW2, POW3, rfield, t_phycon::sqrte, t_dense::SqrtEden, t_phycon::te, trace, and t_dense::xIonDense.
Referenced by ConvPresTempEdenIoniz().
void GrainDrive | ( | ) |
GrainDrive main routine to converge grains thermal solution
References GrainVar::bin, chrg2pot(), conv, t_thermal::ctot, GrainVar::dclmax, DEBUG_ENTRY, dense, GrainVar::dphmax, t_dense::eden, t_conv::EdenErrorAllowed, fp_equal(), fprintf(), t_dense::gas_phase, GrainVar::GasCoolColl, GrainVar::GasHeatPhotoEl, GrainChargeTemp(), GrainVar::GrainChTrRate, GrainVar::GrainHeatChem, GrainVar::GrainHeatCollSum, GrainVar::GrainHeatDif, GrainVar::GrainHeatInc, GrainVar::GrainHeatLya, GrainVar::GrainHeatScaleFactor, GrainVar::GrainHeatSum, GrainUpdateRadius1(), GrainUpdateRadius2(), GrainVar::GrnElecDonateMax, GrainVar::GrnElecHoldMax, gv, t_thermal::heating(), hmi, ioQQQ, ipHYDROGEN, GrainVar::lgAnyDustVary, GrainVar::lgBakesPAH_heat, GrainVar::lgDustOn(), GrainVar::lgGrainPhysicsOn, GrainVar::lgReevaluate, t_conv::lgSearch, LIMELM, GrainVar::nCalledGrainDrive, t_trace::nTrConvg, nzone, phycon, pow(), SDIV(), t_thermal::setHeating(), t_phycon::te, thermal, GrainVar::TotalDustHeat, GrainVar::TotalEden, trace, and t_hmi::UV_Cont_rel2_Habing_TH85_depth.
Referenced by ConvBase(), and mole_h2_grain_form().
STATIC double GrainElecEmis1 | ( | size_t | nd, |
long | nz, | ||
double * | sum1a, | ||
double * | sum1b, | ||
double * | sum2, | ||
double * | sum3 | ||
) |
References ASSERT, t_dense::AtomicWeight, GrainVar::bin, ChargeBin::cs_pdt, DEBUG_ENTRY, dense, ChargeBin::DustZ, ChargeBin::ESum1a, ChargeBin::ESum1b, ChargeBin::ESum2, t_rfield::flux, get_ptr(), GetAveVelocity(), GrainScreen(), gv, ChargeBin::ipThresInf, ChargeBin::ipThresInfVal, t_dense::lgElmtOn, LIMELM, MAX2, t_rfield::nPositive, flex_arr< T, lgBC >::ptr0(), ChargeBin::RecomZ0, reduce_ab(), reduce_abc(), rfield, STICK_ION, t_rfield::SummedCon, t_dense::xIonDense, and ChargeBin::yhat.
Referenced by GrainCharge(), GrainCollHeating(), and UpdatePot().
STATIC double GrainElecRecomb1 | ( | size_t | nd, |
long | nz, | ||
double * | sum1, | ||
double * | sum2 | ||
) |
References ASSERT, t_dense::AtomicWeight, GrainVar::bin, DEBUG_ENTRY, dense, t_dense::eden, GetAveVelocity(), GrainScreen(), gv, t_dense::lgElmtOn, LIMELM, MAX2, phycon, STICK_ION, t_phycon::te, and t_dense::xIonDense.
Referenced by GrainCharge(), GrainCollHeating(), and UpdatePot().
STATIC void GrainIonColl | ( | size_t | , |
long | , | ||
long | , | ||
long | , | ||
const double | [], | ||
const double | [], | ||
long * | , | ||
realnum * | , | ||
realnum * | |||
) |
Referenced by UpdateRecomZ0().
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 | ||
) |
References t_mesh::anu(), GrainVar::bin, DEBUG_ENTRY, GetPotValues(), gv, Heavy, t_Heavy::ipHeavy, NO_TUNNEL, rfield, and save.
void GrainRestartIter | ( | ) |
this routine is called by IterRestart()
References GrainVar::bin, DEBUG_ENTRY, gv, GrainVar::lgDustOn(), and GrainVar::lgGrainPhysicsOn.
Referenced by IterRestart().
STATIC void GrainScreen | ( | long | ion, |
size_t | nd, | ||
long | nz, | ||
double * | eta, | ||
double * | xi | ||
) |
References ASSERT, GrainVar::bin, DEBUG_ENTRY, gv, LIMELM, MIN2, phycon, POW2, powpq(), t_phycon::te, and ThetaNu().
Referenced by GrainChrgTransferRates(), GrainCollHeating(), GrainElecEmis1(), and GrainElecRecomb1().
void GrainsInit | ( | ) |
startup routine for grains, called before first calculations, but after parsecommands
References t_mesh::anu(), ASSERT, atoms, GrainVar::AugerData, AEInfo::AvNumber, GrainVar::bin, cdEXIT, t_elementnames::chElementName, CHRG_TOLER, t_thermal::ConstGrainTemp, conv, DEBUG_ENTRY, dense, DF_STANDARD, GrainVar::dstab, GrainVar::dstsc, t_conv::EdenErrorAllowed, t_mesh::egamry(), elec_esc_length(), elementnames, GrainVar::elmSumAbund, t_mesh::emm(), ENABLE_QUANTUM_HEATING, AEInfo::Energy, EXIT_FAILURE, fprintf(), t_dense::gas_phase, GrainVar::GasCoolColl, GetPotValues(), GrainVar::GrainEmission, GrainVar::GrainHeatCollSum, GrainVar::GrainHeatDif, GrainVar::GrainHeatInc, GrainVar::GrainHeatLya, GrainVar::GrainHeatSum, GrainVar::GrainMetal, GrainVar::GraphiteEmission, GrainVar::GrnRecomTe, GrnStdDpth(), gv, HEAT_TOLER, HEAT_TOLER_BIN, t_conv::HeatCoolRelErrorAllowed, INCL_TUNNEL, InitBinAugerData(), InitEmissivities(), InitEnthalpy(), AEInfo::IonThres, ioQQQ, ipHYDROGEN, ipLITHIUM, t_mesh::ithreshC(), GrainVar::lgAnyDustVary, t_trace::lgDustBug, GrainVar::lgDustOn(), GrainVar::lgQHeatAll, GrainVar::lgQHeatOn, t_trace::lgTrace, GrainVar::lgWD01, LIMELM, MAT_PAH, MAT_PAH2, MAX2, NCHU, AEInfo::nData, t_rfield::nflux_with_check, nint(), t_rfield::nPositive, AEInfo::nSubShell, GrainVar::nzone, pow(), POW2, powpq(), ReadAugerData(), rfield, t_thermal::setHeating(), GrainVar::SilicateEmission, STICK_ELEC, thermal, TorF(), trace, GrainVar::which_zmin, ZMIN_CAR, and ZMIN_SIL.
Referenced by OpacityCreateAll().
void GrainStartIter | ( | ) |
this routine is called by IterStart()
References GrainVar::bin, GrainVar::dclmax, DEBUG_ENTRY, GrainVar::dphmax, GrainVar::GrnElecDonateMax, GrainVar::GrnElecHoldMax, gv, GrainVar::lgDustOn(), GrainVar::lgGrainPhysicsOn, GrainVar::lgNegGrnDrg, and GrainVar::TotalDustHeat.
Referenced by IterStart().
STATIC void GrainTemperature | ( | size_t | nd, |
realnum * | dccool, | ||
double * | hcon, | ||
double * | hots, | ||
double * | hla | ||
) |
References t_mesh::anuptr(), ASSERT, GrainVar::bin, ChargeBin::bolflux1, t_thermal::ConstGrainTemp, ChargeBin::cs_pdt, DEBUG_ENTRY, dense, GrainVar::dsttmp, ChargeBin::DustZ, t_dense::eden, ChargeBin::fac1, ChargeBin::fac2, t_rfield::flux, fprintf(), ChargeBin::FracPop, t_dense::gas_phase, get_ptr(), GrainCollHeating(), GrainVar::GrainHeatScaleFactor, gv, ChargeBin::hcon1, hmi, ChargeBin::hots1, ioQQQ, TransitionProxy::ipCont(), ipH1s, ipH2p, ipH_LIKE, ipHYDROGEN, ChargeBin::ipThresInf, iso_sp, GrainVar::lgBakesPAH_heat, GrainVar::lgDHetOn, t_trace::lgDustBug, t_trace::lgTrace, MAX2, min(), MIN2, NDEMS, t_rfield::nPositive, t_rfield::otslin, ChargeBin::pe1, phycon, ChargeBin::PotSurf, pow(), flex_arr< T, lgBC >::ptr0(), reduce_ab(), reduce_abc(), rfield, splint_safe(), t_phycon::sqrte, t_rfield::SummedCon, t_rfield::SummedDif, t_phycon::te, thermal, ChargeBin::ThermRate, ChargeBin::ThresSurf, trace, t_iso_sp::trans(), and t_hmi::UV_Cont_rel2_Habing_TH85_depth.
Referenced by GrainChargeTemp().
STATIC void GrainUpdateRadius1 | ( | ) |
References ASSERT, GrainVar::bin, DEBUG_ENTRY, dense, GrainVar::elmSumAbund, t_dense::gas_phase, GrainVar::GrainMetal, GrnStdDpth(), gv, ipHYDROGEN, and LIMELM.
Referenced by GrainChargeTemp(), and GrainDrive().
STATIC void GrainUpdateRadius2 | ( | ) |
References ASSERT, GrainVar::bin, ChargeBin::cs_pdt, DEBUG_ENTRY, GrainVar::dstab, GrainVar::dstsc, ChargeBin::DustZ, ChargeBin::FracPop, get_ptr(), gv, ChargeBin::ipThresInf, t_rfield::nflux, t_rfield::nflux_with_check, and rfield.
Referenced by GrainChargeTemp(), and GrainDrive().
STATIC double GrnStdDpth | ( | long | ) |
Referenced by GrainsInit(), and GrainUpdateRadius1().
STATIC double GrnStdDpth | ( | long int | nd | ) |
References GrainVar::bin, GrainVar::chPAH_abundance, DEBUG_ENTRY, dense, DF_STANDARD, DF_SUBLIMATION, DF_USER_FUNCTION, fprintf(), t_dense::gas_phase, GrnVryDpth(), gv, t_hmi::H2_total, hmi, ioQQQ, ipHYDROGEN, MAT_PAH, MAT_PAH2, max(), pow3(), sexp(), TotalInsanity(), and t_dense::xIonDense.
STATIC double GrnVryDpth | ( | size_t | nd | ) |
References GrainVar::bin, cdEXIT, DEBUG_ENTRY, dense, EXIT_FAILURE, fprintf(), t_dense::gas_phase, gv, ioQQQ, ipHYDROGEN, max(), and t_dense::xIonDense.
Referenced by GrnStdDpth().
STATIC void InitBinAugerData | ( | size_t | nd, |
long | ipBegin, | ||
long | ipEnd | ||
) |
initialize the Auger data for grain bin nd between index ipBegin <= i < ipEnd
References t_mesh::anu(), GrainVar::AugerData, ShellData::AvNr, GrainVar::bin, flex_arr< T, lgBC >::clear(), DEBUG_ENTRY, ShellData::Ener, gv, Heavy, Singleton< t_ADfA >::Inst(), ShellData::ionPot, ipHYDROGEN, ShellData::ipLo, GrainVar::lgWD01, LIMELM, max(), MAX2, ShellData::nData, t_Heavy::nsShells, AEInfo::nSubShell, t_ADfA::phfit(), flex_arr< T, lgBC >::realloc(), rfield, ShellData::y01, ShellData::y01A, y0psa(), y1psa(), and flex_arr< T, lgBC >::zero().
Referenced by GrainsInit(), and UpdatePot().
STATIC void InitEmissivities | ( | ) |
References ASSERT, GrainVar::bin, cdEXIT, DEBUG_ENTRY, GrainVar::dsttmp, EXIT_SUCCESS, exp10(), fprintf(), fudge(), GRAIN_TMAX, GRAIN_TMID, GRAIN_TMIN, gv, ioQQQ, t_trace::lgDustBug, t_trace::lgTrace, NDEMS, nint(), NTOP, PlanckIntegral(), powi(), spline(), splint(), and trace.
Referenced by GrainsInit().
STATIC void NewChargeData | ( | long | nd | ) |
References GrainVar::bin, DEBUG_ENTRY, fp_equal(), GrainVar::GrnRecomTe, gv, LIMELM, NCHS, nzone, GrainVar::nzone, phycon, and t_phycon::te.
Referenced by GrainChargeTemp().
|
inline |
evaluate e^2/a, the potential of one electron
References GrainVar::bin, and gv.
Referenced by chrg2pot(), GetPotValues(), and pot2chrg().
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 | ||
) |
References t_mesh::anu(), ASSERT, GrainVar::bin, ChargeBin::cs_pdt, DEBUG_ENTRY, ChargeBin::DustZ, ChargeBin::ehat, gv, ChargeBin::ipThresInf, ChargeBin::ipThresInfVal, t_rfield::nPositive, ChargeBin::PotSurf, rfield, ChargeBin::ThresSurf, ChargeBin::ThresSurfVal, and ChargeBin::yhat.
Referenced by UpdatePot1().
STATIC double PlanckIntegral | ( | double | , |
size_t | , | ||
long | |||
) |
Referenced by InitEmissivities().
STATIC double PlanckIntegral | ( | double | tdust, |
size_t | nd, | ||
long int | ip | ||
) |
References t_mesh::anu(), t_mesh::anu3(), ASSERT, GrainVar::bin, DEBUG_ENTRY, fprintf(), gv, ioQQQ, t_trace::lgDustBug, t_trace::lgTrace, t_rfield::nflux_with_check, POW2, powi(), avx_ptr< T, lgBC >::ptr0(), rfield, trace, vexp(), and t_mesh::widflx().
|
inline |
convert grain potential in Ryd to charge in electrons
References one_elec().
Referenced by GrainCharge().
STATIC void ReadAugerData | ( | ) |
References ASSERT, GrainVar::AugerData, AEInfo::AvNumber, DataParser::checkMagic(), DEBUG_ENTRY, AEInfo::Energy, ES_NONE, DataParser::getline(), DataParser::getToken(), gv, AEInfo::IonThres, LIMELM, MAGIC_AUGER_DATA, AEInfo::nData, and AEInfo::nSubShell.
Referenced by GrainsInit().
void SetNChrgStates | ( | long | ) |
this routine is called by ParseSet()
References ASSERT, DEBUG_ENTRY, gv, GrainVar::nChrgRequested, and NCHU.
Referenced by ParseSet().
STATIC double ThetaNu | ( | double | nu | ) |
References DEBUG_ENTRY, and POW2.
Referenced by GetPotValues(), and GrainScreen().
STATIC void UpdatePot | ( | size_t | nd, |
long | Zlo, | ||
long | stride, | ||
double | rate_up[], | ||
double | rate_dn[] | ||
) |
References t_mesh::anu(), ASSERT, GrainVar::bin, CONSERV_TOL, DEBUG_ENTRY, fprintf(), GrainElecEmis1(), GrainElecRecomb1(), gv, InitBinAugerData(), ioQQQ, ipoint(), t_trace::lgDustBug, t_trace::lgTrace, max(), MAX2, min(), NCHS, t_rfield::nflux, t_rfield::nPositive, phycon, rfield, t_phycon::te, trace, UpdatePot1(), and UpdatePot2().
Referenced by GrainCharge().
STATIC void UpdatePot1 | ( | size_t | nd, |
long | nz, | ||
long | Zg, | ||
long | ipStart | ||
) |
References t_mesh::anuptr(), ASSERT, ShellData::AvNr, GrainVar::bin, chrg2pot(), DEBUG_ENTRY, ShellData::Ener, GetPotValues(), gv, INCL_TUNNEL, ShellData::ionPot, ShellData::ipLo, t_mesh::ithreshC(), LIMELM, max(), MAX2, min(), ShellData::nData, t_rfield::nflux, t_rfield::nflux_with_check, NO_TUNNEL, t_rfield::nPositive, NULL, ShellData::p, PE_init(), POW2, avx_ptr< T, lgBC >::ptr0(), flex_arr< T, lgBC >::ptr0(), rfield, UpdateRecomZ0(), ShellData::y01, ShellData::y01A, y0b(), and Yfunc().
Referenced by UpdatePot().
STATIC void UpdatePot2 | ( | size_t | nd, |
long | nz | ||
) |
References GrainVar::bin, DEBUG_ENTRY, gv, POW2, and THERMCONST.
Referenced by UpdatePot().
STATIC void UpdateRecomZ0 | ( | size_t | nd, |
long | nz | ||
) |
References GrainVar::bin, DEBUG_ENTRY, dense, GetPotValues(), GrainIonColl(), gv, INCL_TUNNEL, t_dense::lgElmtOn, LIMELM, and NO_TUNNEL.
Referenced by UpdatePot1().
References t_mesh::anu(), ASSERT, GrainVar::bin, DEBUG_ENTRY, gv, t_mesh::ithreshC(), GrainVar::lgWD01, max(), min(), avx_ptr< T, lgBC >::ptr0(), rfield, vexp(), vlog(), and y0b01().
Referenced by UpdatePot1().
References t_mesh::anu(), GrainVar::bin, cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, fprintf(), gv, ioQQQ, max(), PE_CAR, PE_SIL, rfield, and GrainVar::which_pe.
Referenced by y0b().
STATIC double y0psa | ( | size_t | nd, |
long | ns, | ||
long | i, | ||
double | Eel | ||
) |
References ASSERT, GrainVar::bin, DEBUG_ENTRY, elec_esc_length(), and gv.
Referenced by InitBinAugerData().
STATIC double y1psa | ( | size_t | nd, |
long | i, | ||
double | Eel | ||
) |
References ASSERT, GrainVar::bin, DEBUG_ENTRY, elec_esc_length(), gv, pow2(), and pow3().
Referenced by InitBinAugerData().
|
inline |
References ASSERT, DEBUG_ENTRY, and pow3().
Referenced by Yfunc().
|
inline |
References ASSERT, avx_ptr< T, lgBC >::data(), DEBUG_ENTRY, ETILDE, gv, INV_ETILDE, GrainVar::lgWD01, avx_ptr< T, lgBC >::ptr0(), vfast_asinh(), vsqrt(), and x2.
Referenced by Yfunc().
STATIC void Yfunc | ( | long | nd, |
long | nz, | ||
const realnum | y0[], | ||
const realnum | y1[], | ||
const realnum | maxval[], | ||
double | Elo, | ||
const double | Ehi[], | ||
const double | Eel[], | ||
realnum | Yp[], | ||
realnum | Ys[], | ||
realnum | Ehp[], | ||
realnum | Ehs[], | ||
long | ilo, | ||
long | ihi | ||
) |
References ASSERT, GrainVar::bin, cdEXIT, DEBUG_ENTRY, elec_esc_length(), EXIT_FAILURE, fprintf(), gv, ioQQQ, max(), min(), NULL, PE_CAR, PE_SIL, GrainVar::which_pe, y2pa(), and y2s().
Referenced by UpdatePot1().
STATIC void Yfunc | ( | long | nd, |
long | nz, | ||
const realnum | y01[], | ||
const realnum | maxval[], | ||
double | Elo, | ||
double | Ehi, | ||
double | Eel, | ||
realnum | Yp[], | ||
realnum | Ys[], | ||
realnum | Ehp[], | ||
realnum | Ehs[], | ||
long | ilo, | ||
long | ihi | ||
) |
References ASSERT, GrainVar::bin, cdEXIT, DEBUG_ENTRY, elec_esc_length(), EXIT_FAILURE, fprintf(), gv, ioQQQ, max(), min(), PE_CAR, PE_SIL, avx_ptr< T, lgBC >::ptr0(), GrainVar::which_pe, y2pa(), and y2s().
|
static |
Referenced by GetPotValues().
|
static |
Referenced by GetPotValues().
|
static |
Referenced by GetPotValues().
|
static |
Referenced by GrainCharge().
|
static |
Referenced by GrainChargeTemp(), and GrainsInit().
|
static |
|
static |
Referenced by y2s().
|
static |
Referenced by GrainChargeTemp(), and GrainsInit().
|
static |
Referenced by GrainChargeTemp(), and GrainsInit().
|
static |
Referenced by GrainsInit(), UpdatePot1(), and UpdateRecomZ0().
|
static |
Referenced by ReadAugerData().
|
static |
Referenced by GrainIonColl(), UpdatePot1(), and UpdateRecomZ0().
|
static |
Referenced by InitEmissivities().
|
static |
Referenced by GrainsInit().
|
static |
Referenced by GrainChrgTransferRates(), GrainCollHeating(), GrainElecEmis1(), and GrainElecRecomb1().
|
static |
Referenced by GrainChargeTemp().
Referenced by UpdatePot2().
|
static |
Referenced by GrainChargeTemp(), mie_auxiliary(), mie_cs_size_distr(), and search_limit().