#include <grainvar.h>
this is the master data structure for grain physics, it is statically allocated
!! apart from bin[NDUST], NOTHING in this structure should have dimension NDUST !!
all entries that depend on grain type should go in the GrainBin structure above
NB NB NB NB NB NB
Definition at line 335 of file grainvar.h.
float * t_gv::anumax |
<[NC_ELL] anumax[i] = anu[i] + 0.5*widflx[i]
Definition at line 388 of file grainvar.h.
Referenced by GrainsInit(), qheat_init(), and ReturnGrainBins().
float* t_gv::anumin |
defines expression for H2 ro-vib distribution at formation <[NC_ELL] anumin[i] = anu[i] - 0.5*widflx[i]
Definition at line 388 of file grainvar.h.
Referenced by GrainsInit(), qheat_init(), ReturnGrainBins(), and UpdatePot1().
pointers to memory allocated for bins
Definition at line 455 of file grainvar.h.
Referenced by AbundancesPrt(), conorm(), GetFracPop(), GetPotValues(), GetProbDistr_HighLimit(), GetProbDistr_LowLimit(), GrainCharge(), GrainChargeTemp(), GrainChrgTransferRates(), GrainCollHeating(), GrainDrift(), GrainDrive(), GrainElecEmis1(), GrainElecRecomb1(), GrainIonColl(), GrainMakeDiffuse(), GrainRestartIter(), GrainScreen(), GrainsInit(), GrainStartIter(), GrainTemperature(), GrainUpdateRadius1(), GrainUpdateRadius2(), grn_abs(), GrnStdDpth(), GrnVryDpth(), hmole_step(), InitEmissivities(), InitEnthalpy(), inv_ufunct(), lgCheckAsserts(), lines_grains(), mie_read_opc(), mole_H2_form(), NewChargeData(), NewGrainBin(), PE_init(), PlanckIntegral(), PrtComment(), PrtFinal(), PrtZone(), PunchDo(), qheat(), qheat_init(), radius_increment(), RebinQHeatResults(), ReturnGrainBins(), TryDoubleStep(), uderiv(), ufunct(), UpdatePot(), UpdatePot1(), UpdatePot2(), UpdateRecomZ0(), and vib_evap().
char t_gv::chPAH_abundance_fcn[5] |
which of several functions that describes how PAH abundances depend on conditions, default is "H0", proportional to n(H0) / n(Htot) changed with the SET PAH command
Definition at line 367 of file grainvar.h.
Referenced by GrainZero(), GrnStdDpth(), and ParseSet().
float t_gv::dclmax |
largest local cooling of gas by collisions with grains
Definition at line 429 of file grainvar.h.
Referenced by GrainDrive(), IterStart(), lines_grains(), and PrtComment().
double t_gv::dHeatdT |
gas heating derivative for all grains, in erg/cm^3/s/K
Definition at line 425 of file grainvar.h.
Referenced by GrainChargeTemp(), GrainZero(), and HeatSum().
float t_gv::dphmax |
largest fraction of local heating due to grain PE heating
Definition at line 429 of file grainvar.h.
Referenced by GrainDrive(), IterStart(), lines_grains(), and PrtComment().
double* t_gv::dstab |
<[NC_ELL] total absorption cross section, current depl is factored in
Definition at line 394 of file grainvar.h.
Referenced by ContRate(), GrainsInit(), GrainUpdateRadius2(), OpacityAddTotal(), PunchDo(), and ReturnGrainBins().
minimum grain abundance for enabling quantum heating in molecular regions
Definition at line 439 of file grainvar.h.
Referenced by GrainMakeDiffuse(), and GrainZero().
quantum heating physics minimum grain abundance for enabling quantum heating near I-front
Definition at line 438 of file grainvar.h.
Referenced by GrainMakeDiffuse(), and GrainZero().
double * t_gv::dstsc |
<[NC_ELL] total scattering cross section, current depl and asymmetry is factored in
Definition at line 394 of file grainvar.h.
Referenced by GrainsInit(), GrainUpdateRadius2(), OpacityAddTotal(), PunchDo(), and ReturnGrainBins().
double t_gv::dsttmp[NDEMS] |
equilibrium temperature grain temperature grid for dstems (in GrainBin) float reftot; Integral(dReff), to normalize radial averages (avdust, avdft, avdpot)
Definition at line 434 of file grainvar.h.
Referenced by GetProbDistr_HighLimit(), GetProbDistr_LowLimit(), GrainChargeTemp(), GrainTemperature(), InitEmissivities(), InitEnthalpy(), inv_ufunct(), qheat(), RebinQHeatResults(), TryDoubleStep(), and ufunct().
float t_gv::elmSumAbund[LIMELM] |
number density of elements summed over all grain bins, at actual depl
Definition at line 375 of file grainvar.h.
Referenced by AbundancesPrt(), GrainsInit(), GrainUpdateRadius1(), and IonIron().
double t_gv::GasCoolColl |
heating/cooling balance, all entries are valid for current zone, actual depl, and are in erg/cm^3/s cooling of the gas by collisions with all grains, summed in GrGC 0
Definition at line 414 of file grainvar.h.
Referenced by CoolEvaluate(), GrainChargeTemp(), GrainDrive(), GrainMakeDiffuse(), GrainsInit(), lines_grains(), and PunchDo().
double t_gv::GasHeatNet |
net heating of the gas: PhotoEl + Therm - CoolColl
Definition at line 414 of file grainvar.h.
Referenced by GrainChargeTemp().
double t_gv::GasHeatPhotoEl |
heating of the gas by photoelectric effect of all grains
Definition at line 414 of file grainvar.h.
Referenced by CoolEvaluate(), GrainChargeTemp(), and GrainDrive().
double t_gv::GasHeatTherm |
heating of the gas by thermionic emissions of all grains
Definition at line 414 of file grainvar.h.
Referenced by CoolEvaluate(), and GrainChargeTemp().
float t_gv::GrainChTrRate[LIMELM][LIMELM+1][LIMELM+1] |
grain surface recombination rate for element nelem, ionization stage "ion-from" to "ion-to" already multiplied by grain area, actual depletion, GrainChTrRate[nelem][ion-from][ion-to], units s^-1, this can be both ionization and neutralization process, so ion-to can be > or < ion-from
Definition at line 411 of file grainvar.h.
Referenced by ele_ion_ladder(), GrainChargeTemp(), GrainChrgTransferRates(), GrainDrive(), GrainZero(), ion_recomb(), ion_solver(), IonSilic(), and iso_ionize_recombine().
float* t_gv::GrainEmission |
rate H2 forms on grains, summed over al bins, units s^-1, actual depl when multiplied with hden, this is formation rate in H2-molecules/cm^3/s grain emission [NC_ELL]
Definition at line 449 of file grainvar.h.
Referenced by ContRate(), GrainMakeDiffuse(), GrainsInit(), ReturnGrainBins(), and RT_diffuse().
double t_gv::GrainHeatChem |
net amount of energy donated by recombining ions to all grains
Definition at line 414 of file grainvar.h.
Referenced by GrainChargeTemp(), GrainDrive(), and GrainMakeDiffuse().
double t_gv::GrainHeatCollSum |
collisional heating of all grains, added in GraC 0
Definition at line 414 of file grainvar.h.
Referenced by GrainChargeTemp(), GrainDrive(), GrainsInit(), and lines_grains().
double t_gv::GrainHeatDif |
heating of all grains by all diffuse fields (incl Lya), added in GraD 0
Definition at line 414 of file grainvar.h.
Referenced by GrainChargeTemp(), GrainDrive(), GrainsInit(), and lines_grains().
double t_gv::GrainHeatInc |
heating of all grains by incident continuum, added in GraI 0
Definition at line 414 of file grainvar.h.
Referenced by GrainChargeTemp(), GrainDrive(), GrainsInit(), and lines_grains().
double t_gv::GrainHeatLya |
heating of all grains by Lya, added in GraL 1216
Definition at line 414 of file grainvar.h.
Referenced by GrainChargeTemp(), GrainDrive(), GrainsInit(), and lines_grains().
scale factor for PE heating as per Allers et al. 2005 (SET GRAINS HEAT)
Definition at line 427 of file grainvar.h.
Referenced by GrainDrive(), GrainMakeDiffuse(), GrainTemperature(), GrainZero(), and ParseSet().
double t_gv::GrainHeatSum |
total heating of all grain types, added in GraT 0
Definition at line 414 of file grainvar.h.
Referenced by GrainChargeTemp(), GrainDrive(), GrainMakeDiffuse(), GrainsInit(), and lines_grains().
float t_gv::GrainMetal |
grain depletion chemical abundances of grains are normalized such that in any given zone the total number density of an element nelem locked up in grains is given by elmSumAbund(nelem) = Sum_over_nd ( elmAbund[nd][nelem]*dstAbund[nd]*dense.hden ) grain depletion factor, from METALS xxx GRAINS command, usually 1
Definition at line 375 of file grainvar.h.
Referenced by GrainsInit(), GrainUpdateRadius1(), GrainZero(), and ParseMetal().
float * t_gv::GraphiteEmission |
total emission from this zone, per unit vol, for add outward in metfic [NC_ELL]
Definition at line 449 of file grainvar.h.
Referenced by GrainMakeDiffuse(), GrainsInit(), GrainStartIter(), PunchDo(), and ReturnGrainBins().
float t_gv::GrnElecDonateMax |
largest local fraction of electrons donated by grains
Definition at line 402 of file grainvar.h.
Referenced by GrainDrive(), IterStart(), lines_grains(), and PrtComment().
float t_gv::GrnElecHoldMax |
largest local fraction of electrons contained by grains
Definition at line 402 of file grainvar.h.
Referenced by GrainDrive(), IterStart(), lines_grains(), and PrtComment().
float t_gv::GrnRecomTe |
the electron temperature that was used to calculate the recom rates
Definition at line 404 of file grainvar.h.
Referenced by GrainChargeTemp(), GrainsInit(), and NewChargeData().
long t_gv::HighestIon |
highest ionization stage with non-zero abundance present in the gas
Definition at line 405 of file grainvar.h.
Referenced by GrainChargeTemp(), and UpdateRecomZ0().
bool t_gv::lgAnyDustVary |
do any of the grain abundances vary with depth
Definition at line 338 of file grainvar.h.
Referenced by GrainDrive(), GrainsInit(), GrainUpdateRadius2(), and GrainZero().
bool t_gv::lgAnyNegCharge |
are any of the grain charges negative ?
Definition at line 338 of file grainvar.h.
Referenced by GrainDrive(), GrainsInit(), and GrainUpdateRadius2().
bool t_gv::lgBakes |
approximate physics used in Bakes & Tielens (1994)
Definition at line 338 of file grainvar.h.
Referenced by GrainsInit(), and GrainZero().
turn on simple formula for PAH heating of gas
Definition at line 338 of file grainvar.h.
Referenced by CoolEvaluate(), GrainDrive(), GrainMakeDiffuse(), GrainTemperature(), GrainZero(), and ParseSet().
bool t_gv::lgDColOn |
turn off grain gas collisional energy exchange, set false with NO GRAIN COLLISIONAL ENERGY EXCHANGE default true, turned off with GRAIN NO COOLING
Definition at line 354 of file grainvar.h.
Referenced by GrainCollHeating(), GrainMakeDiffuse(), GrainZero(), ParseDont(), and ParseGrain().
bool t_gv::lgDHetOn |
test logic default true, turned off with GRAIN NO HEATING
Definition at line 349 of file grainvar.h.
Referenced by CoolEvaluate(), GrainMakeDiffuse(), GrainTemperature(), GrainZero(), and ParseGrain().
bool t_gv::lgDustOn |
grain logic have any grains been switched on ?
Definition at line 338 of file grainvar.h.
Referenced by AbundancesPrt(), CO_create_react(), CO_Init(), ContRate(), ConvPresTempEdenIoniz(), CoolEvaluate(), GrainDrive(), GrainRestartIter(), GrainsInit(), GrainStartIter(), hmole_step(), ion_photo(), ion_solver(), lindst(), NewGrainBin(), OpacityAddTotal(), PrtComment(), PrtFinal(), PutLine(), ReturnGrainBins(), and RT_diffuse().
should electrons from/to grains be included in the total electron sum? del true, set false with no grain electrons command
Definition at line 358 of file grainvar.h.
Referenced by eden_sum(), GrainZero(), and ParseDont().
this is option to turn off all grain physics while leaving the opacity in, set false with no grain physics command
Definition at line 338 of file grainvar.h.
Referenced by ContRate(), ConvPresTempEdenIoniz(), CoolEvaluate(), GrainDrive(), GrainRestartIter(), GrainStartIter(), GrainZero(), hmole_step(), ion_solver(), lines_grains(), ParseDont(), PrtFinal(), PrtZone(), radius_increment(), and RT_diffuse().
bool t_gv::lgNegGrnDrg |
flag set if negative grin drag force encountered
Definition at line 458 of file grainvar.h.
Referenced by GrainDrift(), GrainZero(), IterStart(), and PrtComment().
bool t_gv::lgQHeatAll |
use quantum heating for all grains, WILL BECOME DEFAULT
Definition at line 440 of file grainvar.h.
Referenced by GrainsInit(), and GrainZero().
bool t_gv::lgQHeatOn |
default true, turned off with GRAIN NO QHEAT
Definition at line 349 of file grainvar.h.
Referenced by GrainsInit(), GrainZero(), and ParseDont().
bool t_gv::lgQHPunLast |
only punch quantum heating information on last iteration
Definition at line 440 of file grainvar.h.
Referenced by ParsePunch(), and qheat().
bool t_gv::lgReevaluate |
reevaluate keyword on grains cmd => always reevalutae grain conditions during calculation
Definition at line 338 of file grainvar.h.
Referenced by GrainDrive(), GrainZero(), and ParseGrain().
long int t_gv::nBin |
per grain data counter for how many bins have been allocated
Definition at line 454 of file grainvar.h.
Referenced by AbundancesPrt(), conorm(), GetFracPop(), GetProbDistr_LowLimit(), GrainCharge(), GrainChargeTemp(), GrainDrift(), GrainDrive(), GrainElecEmis1(), GrainElecRecomb1(), GrainMakeDiffuse(), GrainRestartIter(), GrainsInit(), GrainStartIter(), GrainTemperature(), GrainUpdateRadius1(), GrainUpdateRadius2(), grn_abs(), hmole_step(), InitEmissivities(), InitEnthalpy(), inv_ufunct(), lgCheckAsserts(), lines_grains(), mole_H2_form(), NewGrainBin(), PE_init(), PrtComment(), PrtFinal(), PrtZone(), PunchDo(), qheat(), qheat_init(), radius_increment(), RebinQHeatResults(), ReturnGrainBins(), uderiv(), ufunct(), UpdatePot(), and vib_evap().
long t_gv::nChrgRequested |
number of charge states requested by user, default value is 2
Definition at line 405 of file grainvar.h.
Referenced by GrainZero(), NewGrainBin(), and SetNChrgStates().
long t_gv::nfill |
grain opacities remember how far dstab and dstsc were filled in
Definition at line 392 of file grainvar.h.
Referenced by GrainsInit(), and GrainUpdateRadius2().
long t_gv::nzone |
remember in what zone dstab and dstsc where calculated
Definition at line 392 of file grainvar.h.
Referenced by GrainChargeTemp(), GrainsInit(), GrainUpdateRadius2(), and NewChargeData().
FILE* t_gv::QHPunchFile |
file pointer for PUNCH QHEAT command
Definition at line 442 of file grainvar.h.
Referenced by ClosePunchFiles(), ParsePunch(), PunchFilesInit(), and qheat().
H2 physics
Definition at line 445 of file grainvar.h.
Referenced by H2_PunchDo(), hmole_step(), lgCheckAsserts(), and PunchDo().
long t_gv::ReadPtr |
pointer for the array above
Definition at line 362 of file grainvar.h.
Referenced by GrainZero(), and mie_read_opc().
char t_gv::ReadRecord[MAX_READ_RECORDS][READ_RECORD_LENGTH] |
record of all the files read by mie_read_opc
Definition at line 361 of file grainvar.h.
Referenced by mie_read_opc().
float * t_gv::SilicateEmission |
graphite emission from the entire model <[NC_ELL] silicate emission from the entire model
Definition at line 449 of file grainvar.h.
Referenced by GrainMakeDiffuse(), GrainsInit(), GrainStartIter(), PunchDo(), and ReturnGrainBins().
float t_gv::TotalDustHeat |
total PE heating integrated over model, erg/s or erg/cm^2/s, actual depl
Definition at line 429 of file grainvar.h.
Referenced by GrainDrive(), IterStart(), lines_grains(), and PrtComment().
double t_gv::TotalEden |
>>chng 02 jan 05, moved AveVel[LIMELM] to doppvel since needed elsewhere grain charging contribution to eden from all grain species, a positive number means that the grains contribute to the free electron pool, in cm^-3
Definition at line 400 of file grainvar.h.
Referenced by ConvBase(), ConvEdenIoniz(), ConvIoniz(), eden_sum(), GrainChargeTemp(), GrainDrive(), GrainZero(), lines_grains(), and PunchDo().
enth_type t_gv::which_enth[MAT_TOP] |
these arrays define the physical properties of material MAT_PAH, MAT_CAR, MAT_SIL, etc... they are initialized in GrainZero
Definition at line 380 of file grainvar.h.
Referenced by GrainZero(), and uderiv().
H2_type t_gv::which_H2distr[MAT_TOP] |
defines where the emitted spectrum is stored
Definition at line 386 of file grainvar.h.
Referenced by GrainCollHeating(), GrainZero(), and mole_H2_form().
ial_type t_gv::which_ial[MAT_TOP] |
defines expression for the inverse attenuation length
Definition at line 383 of file grainvar.h.
Referenced by GrainZero(), and mie_write_opc().
pe_type t_gv::which_pe[MAT_TOP] |
defines expression for the photo-electric effect
Definition at line 384 of file grainvar.h.
Referenced by GrainZero(), and UpdatePot1().
pot_type t_gv::which_pot[MAT_TOP] |
defines expression for Z_min defines expression for the ionization potential
Definition at line 382 of file grainvar.h.
Referenced by GetPotValues(), and GrainZero().
strg_type t_gv::which_strg[MAT_TOP] |
zmin_type t_gv::which_zmin[MAT_TOP] |
defines expression for the enthalpy function
Definition at line 381 of file grainvar.h.
Referenced by GrainsInit(), and GrainZero().