This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Data Structures | |
struct | GrainPar |
Functions | |
void | GrainDrive (void) |
void | GrainDrift (void) |
void | GrainZero (void) |
void | GrainStartIter (void) |
void | GrainRestartIter (void) |
void | SetNChrgStates (long) |
long | NewGrainBin (void) |
void | ReturnGrainBins (void) |
void | GrainsInit (void) |
void | GrainMakeDiffuse (void) |
void | qheat (double[], double[], long *, long) |
void | InitEnthalpy (void) |
void | mie_write_opc (const char *, const char *, long int) |
void | mie_read_opc (const char *, GrainPar) |
void | gauss_init (long int, double, double, double[], double[], double[], double[]) |
void | gauss_legendre (long int, double[], double[]) |
void | find_arr (double, double[], long int, long int *, bool *) |
void find_arr | ( | double | , | |
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 4244 of file grains_mie.cpp.
References cdEXIT, DEBUG_ENTRY, MAX2, MIN2, and sign3().
Referenced by init_eps(), mie_calc_ial(), mie_cs(), size_distr(), and tbl_fun().
Here is the call graph for this function:
void gauss_init | ( | long | int, | |
double | , | |||
double | , | |||
double | [], | |||
double | [], | |||
double | [], | |||
double | [] | |||
) |
set up Gaussian quadrature for arbitrary interval
nn | ||
xbot | ||
xtop | ||
x[] | ||
a[] | ||
rr[] | ||
ww[] |
Definition at line 4104 of file grains_mie.cpp.
References DEBUG_ENTRY.
Referenced by DebyeDeriv(), and mie_integrate().
void gauss_legendre | ( | long | int, | |
double | [], | |||
double | [] | |||
) |
set up abscissas and weights for Gauss-Legendre intergration of arbitrary even order
nn | ||
x[] | ||
a[] |
Definition at line 4132 of file grains_mie.cpp.
References cdEXIT, DEBUG_ENTRY, MALLOC, POW2, and SAFETY.
Referenced by DebyeDeriv(), and mie_integrate().
void GrainDrift | ( | void | ) |
GrainDrift computes grains drift velocity
Definition at line 4950 of file grains.cpp.
References t_rfield::anu, ASSERT, GrainBin::asym, t_gv::bin, BOLTZMANN, t_rfield::ConInterOut, DEBUG_ENTRY, dense, GrainBin::dstab1, GrainBin::dstpot, GrainBin::DustDftVel, t_dense::eden, EN1RYD, t_rfield::flux, gv, GrainBin::IntArea, ipHELIUM, ipHYDROGEN, t_trace::lgDustBug, t_gv::lgNegGrnDrg, t_trace::lgTrace, MALLOC, t_gv::nBin, t_rfield::nflux, t_rfield::outlin, t_rfield::outlin_noplot, phycon, POW2, POW3, GrainBin::pure_sc1, 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 1621 of file grains.cpp.
References GrainBin::avdft, GrainBin::avDGRatio, GrainBin::avdpot, GrainBin::avdust, GrainBin::AveDustZ, t_gv::bin, GrainBin::BolFlux, GrainBin::ChemEn, GrainBin::ChemEnH2, GrainBin::chrg, chrg2pot(), conv, t_thermal::ctot, t_gv::dclmax, DEBUG_ENTRY, dense, t_gv::dphmax, GrainBin::dstpot, GrainBin::DustDftVel, ChargeBin::DustZ, t_dense::eden, t_conv::EdenErrorAllowed, EVRYD, fp_equal(), ChargeBin::FracPop, t_dense::gas_phase, t_gv::GasCoolColl, GrainBin::GasHeatPhotoEl, t_gv::GasHeatPhotoEl, GrainChargeTemp(), t_gv::GrainChTrRate, GrainBin::GrainCoolTherm, GrainBin::GrainHeat, t_gv::GrainHeatChem, GrainBin::GrainHeatColl, t_gv::GrainHeatCollSum, t_gv::GrainHeatDif, t_gv::GrainHeatInc, t_gv::GrainHeatLya, t_gv::GrainHeatScaleFactor, t_gv::GrainHeatSum, GrainUpdateRadius1(), GrainUpdateRadius2(), t_gv::GrnElecDonateMax, t_gv::GrnElecHoldMax, gv, t_thermal::heating, hmi, ioQQQ, ipHYDROGEN, t_gv::lgAnyDustVary, t_gv::lgAnyNegCharge, t_gv::lgBakesPAH_heat, t_gv::lgDustOn, GrainBin::lgEverQHeat, t_gv::lgGrainPhysicsOn, GrainBin::lgPAHsInIonizedRegion, t_gv::lgReevaluate, t_conv::lgSearch, GrainBin::lgUseQHeat, t_gv::nBin, nCalledGrainDrive, GrainBin::nChrg, ChargeBin::nfill, t_trace::nTrConvg, nzone, phycon, GrainBin::QHeatFailures, SDIV(), t_phycon::te, GrainBin::tedust, ChargeBin::tedust, GrainBin::TeGrainMax, thermal, GrainBin::thermionic, t_gv::TotalDustHeat, t_gv::TotalEden, trace, and t_hmi::UV_Cont_rel2_Habing_TH85_depth.
Here is the call graph for this function:
void GrainMakeDiffuse | ( | void | ) |
main routine for generating the grain diffuse emission
Definition at line 165 of file grains_qheat.cpp.
References t_rfield::anu, t_rfield::anu2, ASSERT, t_gv::bin, cdEXIT, DEBUG_ENTRY, dense, GrainBin::dstab1, GrainBin::dstAbund, t_gv::dstAbundThresholdFar, t_gv::dstAbundThresholdNear, FR1RYD, t_gv::GrainEmission, t_gv::GraphiteEmission, gv, t_hmi::H2_total, hmi, ioQQQ, ipHYDROGEN, GrainBin::lgQHeat, GrainBin::lgUseQHeat, MALLOC, GrainBin::matType, t_gv::nBin, t_rfield::nflux, NQGRID, PI4, POW2, qheat(), rfield, t_gv::SilicateEmission, SPEEDLIGHT, STRG_CAR, STRG_SIL, TE1RYD, t_gv::which_strg, t_rfield::widflx, and t_dense::xIonDense.
Here is the call graph for this function:
void GrainRestartIter | ( | void | ) |
this routine is called by IterRestart()
Definition at line 391 of file grains.cpp.
References t_gv::bin, DEBUG_ENTRY, GrainBin::dstpot, GrainBin::dstpotsav, gv, t_gv::lgDustOn, t_gv::lgGrainPhysicsOn, t_gv::nBin, GrainBin::nChrg, and GrainBin::nChrgOrg.
void GrainsInit | ( | void | ) |
startup routine for grains, called before first calculations, but after parsecommands
Definition at line 585 of file grains.cpp.
References t_gv::anumax, t_gv::anumin, ASSERT, t_gv::bin, DEBUG_ENTRY, t_gv::dstab, t_gv::dstsc, t_gv::elmSumAbund, t_gv::GasCoolColl, t_gv::GrainEmission, t_gv::GrainHeatCollSum, t_gv::GrainHeatDif, t_gv::GrainHeatInc, t_gv::GrainHeatLya, t_gv::GrainHeatSum, t_gv::GraphiteEmission, gv, t_thermal::heating, ioQQQ, t_trace::lgDustBug, t_gv::lgDustOn, t_trace::lgTrace, MALLOC, t_gv::nBin, NDUST, t_rfield::nupper, rfield, t_gv::SilicateEmission, thermal, and trace.
Referenced by OpacityCreateAll().
void GrainStartIter | ( | void | ) |
this routine is called by IterStart()
Definition at line 358 of file grains.cpp.
References GrainBin::avdft, GrainBin::avDGRatio, GrainBin::avdpot, GrainBin::avdust, t_gv::bin, DEBUG_ENTRY, GrainBin::dstpot, GrainBin::dstpotsav, gv, t_gv::lgDustOn, GrainBin::lgEverQHeat, t_gv::lgGrainPhysicsOn, GrainBin::lgPAHsInIonizedRegion, GrainBin::lgQHTooWide, t_gv::nBin, GrainBin::nChrg, GrainBin::nChrgOrg, GrainBin::QHeatFailures, GrainBin::qtmin, GrainBin::qtmin_zone1, and GrainBin::TeGrainMax.
void GrainZero | ( | void | ) |
initialize some variables, called by zero()
Definition at line 239 of file grains.cpp.
References t_gv::chPAH_abundance_fcn, DEBUG_ENTRY, t_gv::dHeatdT, t_gv::dstAbundThresholdFar, t_gv::dstAbundThresholdNear, ENTH_CAR, ENTH_CAR2, ENTH_PAH, ENTH_PAH2, ENTH_SIL, ENTH_SIL2, t_gv::GrainChTrRate, t_gv::GrainHeatScaleFactor, t_gv::GrainMetal, gv, H2_CAR, H2_SIL, IAL_CAR, IAL_SIL, t_gv::lgAnyDustVary, t_gv::lgBakes, t_gv::lgBakesPAH_heat, t_gv::lgDColOn, t_gv::lgDHetOn, t_gv::lgGrainElectrons, t_gv::lgGrainPhysicsOn, t_gv::lgNegGrnDrg, t_gv::lgQHeatAll, t_gv::lgQHeatOn, t_gv::lgReevaluate, t_gv::lgWD01, LIMELM, MAT_CAR, MAT_CAR2, MAT_PAH, MAT_PAH2, MAT_SIL, MAT_SIL2, nCalledGrainDrive, NCHRG_DEFAULT, t_gv::nChrgRequested, PE_CAR, PE_SIL, POT_CAR, POT_SIL, t_gv::ReadPtr, ReturnGrainBins(), STRG_CAR, STRG_SIL, t_gv::TotalEden, t_gv::which_enth, t_gv::which_H2distr, t_gv::which_ial, t_gv::which_pe, t_gv::which_pot, t_gv::which_strg, t_gv::which_zmin, ZMIN_CAR, and ZMIN_SIL.
Here is the call graph for this function:
void InitEnthalpy | ( | void | ) |
initialize interpolation arrays for grain enthalpy
Definition at line 2505 of file grains_qheat.cpp.
References t_gv::bin, DEBUG_ENTRY, t_gv::dsttmp, GrainBin::DustEnth, GrainBin::EnthSlp, GrainBin::EnthSlp2, GRAIN_TMIN, gv, log_integral(), t_gv::nBin, NDEMS, spline(), tlim, and uderiv().
Here is the call graph for this function:
void mie_read_opc | ( | const char * | , | |
GrainPar | ||||
) |
read in the *.opc file with opacities and other relevant information
*chFile | ||
gp |
Definition at line 990 of file grains_mie.cpp.
References AS_DATA_LOCAL, called, DEBUG_ENTRY, FILENAME_PATH_LENGTH_2, gv, t_called::lgTalk, LIMELM, open_data(), t_gv::ReadPtr, and t_gv::ReadRecord.
Referenced by ParseGrain().
Here is the call graph for this function:
void mie_write_opc | ( | const char * | , | |
const char * | , | |||
long | int | |||
) |
mie_write_opc
[in] | *rfi_file | |
[in] | *szd_file |
Definition at line 208 of file grains_mie.cpp.
References grain_data::abun, sd_data::area, AS_LOCAL_ONLY, grain_data::atom_weight, ATOMIC_MASS_UNIT, grain_data::bandgap, cdEXIT, t_elementnames::chElementSym, DEBUG_ENTRY, grain_data::depl, elementnames, grain_data::elmAbun, FILENAME_PATH_LENGTH_2, Singleton< T >::Inst(), ioQQQ, ipBHi, ipBLo, LABELSIZE, LABELSUB1, LABELSUB2, sd_data::lgLogScale, sd_data::lim, LIMELM, sd_data::ln_a, sd_data::ln_a4dNda, grain_data::magic, sd_data::magic, MAGIC_OPC, MALLOC, grain_data::matType, MAX2, mie_auxiliary(), mie_read_mix(), mie_read_rfi(), mie_read_szd(), MIN2, grain_data::mol_weight, grain_data::n, NAX, grain_data::nAxes, NDAT, grain_data::nOpcCols, grain_data::norm, sd_data::nPart, grain_data::nr1, t_rfield::nupper, OPC_TABLE, grain_data::opcAnu, grain_data::opcData, open_data(), POW4, sd_data::radius, radius, rfield, grain_data::rfiType, grain_data::rho, SD_SINGLE_SIZE, sd_data::sdCase, size_distr(), grain_data::subl_temp, grain_data::therm_eff, sd_data::unity, sd_data::vol, grain_data::wavlen, and grain_data::work.
Referenced by ParseCompile().
Here is the call graph for this function:
long NewGrainBin | ( | void | ) |
allocate new grain bin
Definition at line 422 of file grains.cpp.
References ASSERT, GrainBin::asym, t_gv::bin, cdEXIT, GrainBin::chrg, GrainBin::cnv_CM3_pGR, GrainBin::cnv_CM3_pH, GrainBin::cnv_GR_pCM3, GrainBin::cnv_GR_pH, GrainBin::cnv_H_pCM3, GrainBin::cnv_H_pGR, DEBUG_ENTRY, GrainBin::dstab1, GrainBin::dstAbund, GrainBin::dstfactor, GrainBin::DustDftVel, GrainBin::EnergyCheck, GrainBin::GrainGasCool, GrainBin::GrainHeat, GrainBin::GrnVryDpth, gv, GrainBin::inv_att_len, ioQQQ, GrainBin::le_thres, GrainBin::lgDustFunc, t_gv::lgDustOn, lgGvInitialized, GrainBin::lgQHeat, MALLOC, t_gv::nBin, GrainBin::nChrg, t_gv::nChrgRequested, NCHS, NDUST, GrainBin::nfill, NSHL, GrainBin::pure_sc1, GrainBin::qnflux, GrainBin::rate_h2_form_grains_used, GrainBin::sd, GrainBin::tedust, GrainBin::TeGrainMax, and GrainBin::y0b06.
void qheat | ( | double | [], | |
double | [], | |||
long * | , | |||
long | ||||
) |
main routine for quantum heating
Referenced by GrainMakeDiffuse().
void ReturnGrainBins | ( | void | ) |
deallocate grain bins
Definition at line 488 of file grains.cpp.
References ASSERT, GrainBin::asym, ShellData::AvNr, t_gv::bin, GrainBin::chrg, DEBUG_ENTRY, GrainBin::dstab1, ShellData::Ener, FREE_SAFE, gv, GrainBin::inv_att_len, lgGvInitialized, t_gv::nBin, NCHS, NSHL, GrainBin::pure_sc1, GrainBin::sd, and GrainBin::y0b06.
Referenced by GrainZero(), grid_do(), and main().
void SetNChrgStates | ( | long | ) |
this routine is called by ParseSet()
Definition at line 412 of file grains.cpp.
References ASSERT, DEBUG_ENTRY, gv, t_gv::nChrgRequested, and NCHU.
Referenced by ParseSet().