Go to the source code of this file.
Functions | |
void | GrainDrive (void) |
void | GrainDrift (void) |
void | GrainZero (void) |
void | GrainStartIter (void) |
void | GrainRestartIter (void) |
void | SetNChrgStates (long) |
void | GrainsInit (void) |
void | GrainMakeDiffuse (void) |
void | qheat (vector< double > &, vector< double > &, long *, size_t) |
void | InitEnthalpy (void) |
void | mie_write_opc (const char *, const char *, long int) |
void | mie_read_opc (const char *, const GrainPar &) |
void | gauss_init (long int, double, double, const vector< double > &, const vector< double > &, vector< double > &, vector< double > &) |
void | gauss_legendre (long int, vector< double > &, vector< double > &) |
void | find_arr (double, const vector< double > &, long int, long int *, bool *) |
void find_arr | ( | double | , | |
const vector< double > & | , | |||
long | int, | |||
long int * | , | |||
bool * | ||||
) |
find index ind such that min(xa[ind],xa[ind+1]) <= x <= max(xa[ind],xa[ind+1]). xa is assumed to be strictly monotically increasing or decreasing. if x is outside the range spanned by xa, lgOutOfBounds is raised and ind is set to -1 n is the number of elements in xa.
x | ||
xa[] | ||
n | ||
[out] | *ind | |
[out] | *lgOutOfBounds |
Definition at line 4391 of file grains_mie.cpp.
References cdEXIT, DEBUG_ENTRY, ioQQQ, max(), min(), and sign3().
Referenced by init_eps(), mie_calc_ial(), mie_cs(), size_distr(), and tbl_fun().
void gauss_init | ( | long | int, | |
double | , | |||
double | , | |||
const vector< double > & | , | |||
const vector< double > & | , | |||
vector< double > & | , | |||
vector< double > & | ||||
) |
set up Gaussian quadrature for arbitrary interval
nn | ||
xbot | ||
xtop | ||
x[] | ||
a[] | ||
rr[] | ||
ww[] |
Definition at line 4253 of file grains_mie.cpp.
References DEBUG_ENTRY.
Referenced by DebyeDeriv(), and mie_integrate().
void gauss_legendre | ( | long | int, | |
vector< double > & | , | |||
vector< double > & | ||||
) |
set up abscissas and weights for Gauss-Legendre intergration of arbitrary even order
nn | ||
x[] | ||
a[] |
Definition at line 4281 of file grains_mie.cpp.
References cdEXIT, DEBUG_ENTRY, ioQQQ, pow2(), and SAFETY.
Referenced by DebyeDeriv(), and mie_integrate().
void GrainDrift | ( | void | ) |
GrainDrift computes grains drift velocity
Definition at line 4920 of file grains.cpp.
References t_rfield::anu, ASSERT, GrainVar::bin, BOLTZMANN, t_rfield::ConInterOut, DEBUG_ENTRY, dense, t_dense::eden, EN1RYD, t_rfield::flux, gv, ioQQQ, ipHELIUM, ipHYDROGEN, t_trace::lgDustBug, GrainVar::lgNegGrnDrg, t_trace::lgTrace, t_rfield::nflux, t_rfield::outlin, t_rfield::outlin_noplot, phycon, POW2, POW3, rfield, SPEEDLIGHT, t_phycon::sqrte, t_dense::SqrtEden, t_phycon::te, TE1RYD, trace, and t_dense::xIonDense.
Referenced by ConvPresTempEdenIoniz().
void GrainDrive | ( | void | ) |
GrainDrive main routine to converge grains thermal solution
Definition at line 1596 of file grains.cpp.
References GrainVar::bin, chrg2pot(), conv, t_thermal::ctot, GrainVar::dclmax, DEBUG_ENTRY, dense, GrainVar::dphmax, t_dense::eden, t_conv::EdenErrorAllowed, EVRYD, fp_equal(), 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::lgAnyNegCharge, GrainVar::lgBakesPAH_heat, GrainVar::lgDustOn(), GrainVar::lgGrainPhysicsOn, GrainVar::lgReevaluate, t_conv::lgSearch, LIMELM, nCalledGrainDrive, t_trace::nTrConvg, nzone, phycon, pow(), SDIV(), t_phycon::te, thermal, GrainVar::TotalDustHeat, GrainVar::TotalEden, trace, and t_hmi::UV_Cont_rel2_Habing_TH85_depth.
Referenced by ConvBase(), and hmole_step().
void GrainMakeDiffuse | ( | void | ) |
main routine for generating the grain diffuse emission
Definition at line 170 of file grains_qheat.cpp.
References t_rfield::anu, t_rfield::anu2, ASSERT, GrainVar::bin, cdEXIT, CONSERV_TOL, t_thermal::ConstGrainTemp, DEBUG_ENTRY, dense, GrainVar::dstAbundThresholdFar, GrainVar::dstAbundThresholdNear, EN1RYD, FR1RYD, GrainVar::GasCoolColl, GrainVar::GrainEmission, GrainVar::GrainHeatChem, GrainVar::GrainHeatScaleFactor, GrainVar::GrainHeatSum, GrainVar::GraphiteEmission, gv, t_hmi::H2_total, t_thermal::heating, hmi, ioQQQ, ipHYDROGEN, lgAbort, GrainVar::lgBakesPAH_heat, GrainVar::lgDColOn, GrainVar::lgDHetOn, MAX2, t_rfield::nflux, NQGRID, PI4, pow(), POW2, qheat(), rfield, GrainVar::SilicateEmission, SPEEDLIGHT, STRG_CAR, STRG_SIL, TE1RYD, thermal, GrainVar::which_strg, t_rfield::widflx, and t_dense::xIonDense.
Referenced by RT_diffuse().
void GrainRestartIter | ( | void | ) |
this routine is called by IterRestart()
Definition at line 554 of file grains.cpp.
References GrainVar::bin, DEBUG_ENTRY, gv, GrainVar::lgDustOn(), and GrainVar::lgGrainPhysicsOn.
Referenced by IterRestart().
void GrainsInit | ( | void | ) |
startup routine for grains, called before first calculations, but after parsecommands
Definition at line 586 of file grains.cpp.
References t_rfield::anu, GrainVar::anumax, GrainVar::anumin, ASSERT, ATOMIC_MASS_UNIT, atoms, GrainVar::AugerData, AEInfo::AvNumber, GrainVar::bin, cdEXIT, t_elementnames::chElementName, chrg2pot(), CHRG_TOLER, t_thermal::ConstGrainTemp, conv, DEBUG_ENTRY, dense, DF_STANDARD, GrainVar::dstab, GrainVar::dstsc, t_conv::EdenErrorAllowed, elec_esc_length(), elementnames, GrainVar::elmSumAbund, AEInfo::Energy, EVRYD, 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, t_thermal::heating, hunt_bisect(), INCL_TUNNEL, InitBinAugerData(), InitEmissivities(), InitEnthalpy(), AEInfo::IonThres, ioQQQ, ipHYDROGEN, ipLITHIUM, GrainVar::lgAnyDustVary, GrainVar::lgAnyNegCharge, t_trace::lgDustBug, GrainVar::lgDustOn(), GrainVar::lgQHeatAll, GrainVar::lgQHeatOn, t_trace::lgTrace, GrainVar::lgWD01, LIMELM, MAT_PAH, MAT_PAH2, MAX2, NCHS, NCHU, AEInfo::nData, GrainVar::nfill, t_rfield::nflux, nint(), AEInfo::nSubShell, t_rfield::nupper, GrainVar::nzone, pot2chrg(), pow(), POW2, ReadAugerData(), rfield, GrainVar::SilicateEmission, STICK_ELEC, thermal, TorF(), trace, GrainVar::which_zmin, ZMIN_CAR, and ZMIN_SIL.
Referenced by OpacityCreateAll().
void GrainStartIter | ( | void | ) |
this routine is called by IterStart()
Definition at line 516 of file grains.cpp.
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().
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 503 of file grains.cpp.
References GrainVar::clear(), DEBUG_ENTRY, and gv.
Referenced by zero().
void InitEnthalpy | ( | void | ) |
initialize interpolation arrays for grain enthalpy
Definition at line 2469 of file grains_qheat.cpp.
References GrainVar::bin, DEBUG_ENTRY, GrainVar::dsttmp, GRAIN_TMIN, gv, log_integral(), NDEMS, spline(), tlim, and uderiv().
Referenced by GrainsInit().
void mie_read_opc | ( | const char * | , | |
const GrainPar & | ||||
) |
read in the *.opc file with opacities and other relevant information
*chFile | ||
gp |
Definition at line 984 of file grains_mie.cpp.
References AS_DATA_LOCAL, ASSERT, t_dense::AtomicWeight, t_cpu::big_endian(), GrainVar::bin, called, cdEXIT, continuum, cpu, DEBUG_ENTRY, dense, GrainPar::dep, t_rfield::egamry, ELECTRIC_CONST, t_rfield::emm, FILENAME_PATH_LENGTH_2, fp_equal(), gv, ioQQQ, LABELSIZE, GrainPar::lgForbidQHeating, GrainPar::lgGreyGrain, GrainPar::lgRequestQHeating, t_called::lgTalk, LIMELM, MAGIC_OPC, t_continuum::mesh_md5sum, mie_next_data(), mie_next_line(), mie_read_double(), mie_read_long(), mie_read_realnum(), mie_read_word(), GrainPar::nDustFunc, NMD5, open_data(), PI4, pow(), pow2(), GrainVar::ReadRecord, rfield, and strstr_s().
Referenced by ParseAbundances(), and ParseGrain().
void mie_write_opc | ( | const char * | , | |
const char * | , | |||
long | int | |||
) |
mie_write_opc
[in] | *rfi_file | |
[in] | *szd_file |
Definition at line 265 of file grains_mie.cpp.
References grain_data::abun, t_rfield::anu, sd_data::area, AS_LOCAL_ONLY, grain_data::atom_weight, ATOMIC_MASS_UNIT, grain_data::bandgap, t_cpu::big_endian(), car1_fun(), grain_data::cAxis, cdEXIT, grain_data::charge, t_elementnames::chElementSym, grain_data::clear(), sd_data::clim, multi_arr< T, d, ALLOC, lgBC >::clone(), continuum, sd_data::cPart, cpu, DEBUG_ENTRY, grain_data::depl, t_rfield::egamry, elementnames, grain_data::elmAbun, t_rfield::emm, FILENAME_PATH_LENGTH_2, gv, IAL_CAR, IAL_SIL, Singleton< t_version >::Inst(), ioQQQ, ipBHi, ipBLo, LABELSIZE, LABELSUB1, LABELSUB2, ld01_fun(), sd_data::lgLogScale, sd_data::lim, LIMELM, sd_data::magic, grain_data::magic, MAGIC_OPC, grain_data::matType, max(), t_continuum::mesh_md5sum, mie_auxiliary(), mie_auxiliary2(), mie_calc_ial(), mie_cs(), mie_cs_size_distr(), mie_read_mix(), mie_read_rfi(), mie_read_szd(), mie_repair(), min(), grain_data::mol_weight, grain_data::nAxes, grain_data::norm, sd_data::nPart, t_rfield::nupper, OPC_GREY, OPC_PAH1, OPC_PAH2C, OPC_PAH2N, OPC_TABLE, open_data(), pow(), POW4, radius, sd_data::radius, t_continuum::ResolutionScaleFactor, RFI_TABLE, rfield, grain_data::rfiType, grain_data::rho, SD_NR_CARBON, SD_SINGLE_SIZE, sd_data::sdCase, ShowMe(), size_distr(), strstr_s(), grain_data::subl_temp, tbl_fun(), grain_data::therm_eff, sd_data::unity, sd_data::unity_bin, sd_data::vol, WAVNRYD, GrainVar::which_ial, grain_data::work, and grain_data::wt.
Referenced by ParseCompile().
void qheat | ( | vector< double > & | , | |
vector< double > & | , | |||
long * | , | |||
size_t | ||||
) |
main routine for quantum heating
Referenced by GrainMakeDiffuse(), and hmole_step().
void SetNChrgStates | ( | long | ) |
this routine is called by ParseSet()
Definition at line 573 of file grains.cpp.
References ASSERT, DEBUG_ENTRY, gv, GrainVar::nChrgRequested, and NCHU.
Referenced by ParseSet().