#include <rfield.h>
◆ t_rfield()
◆ chName()
const char * t_rfield::chName |
( |
| ) |
const |
|
inlinevirtual |
◆ comment()
◆ getCoarseTransCoef()
const realnum * t_rfield::getCoarseTransCoef |
( |
| ) |
|
◆ resetCoarseTransCoef()
void t_rfield::resetCoarseTransCoef |
( |
| ) |
|
|
inline |
◆ setCoarseTransCoefPtr()
void t_rfield::setCoarseTransCoefPtr |
( |
size_t | size | ) |
|
|
inline |
◆ setTrimming()
void t_rfield::setTrimming |
( |
| ) |
|
◆ zero()
void t_rfield::zero |
( |
void | | ) |
|
|
virtual |
Implements module.
References DEBUG_ENTRY, DiffPumpOn, fine_opac_nelem, fine_opac_nresolv, ipIRON, lgBlockHIon, lgDoLineTrans, lgHabing, lgHeIIOTS, lgIonizReevaluate, lgKillOTSLine, lgKillOutCont, lgKillOutLine, lgLyaOTS, lgMustBlockHIon, lgOpacityReevaluate, lgSaveOpacityFine, rfield, and time_continuum_scale.
◆ chContLabel
vector<string> t_rfield::chContLabel |
string identifying the first continuum edge that occurred at this energy
◆ chCumuType
char t_rfield::chCumuType[5] |
◆ chDffTrns
char t_rfield::chDffTrns[4] |
method for transferring diffuse continuum either 'ots' or 'oux' where x is n for which
◆ chLineLabel
vector<string> t_rfield::chLineLabel |
string identifying the first line that occurred at this energy
◆ chRSpec
char t_rfield::chRSpec[LIMSPC][5] |
◆ chSpNorm
char t_rfield::chSpNorm[LIMSPC][5] |
chSpNorm says how spectrum was normalized - intensity or luminosity case chRSpec says whether per unit area or tot 4 pi
◆ chSpType
char t_rfield::chSpType[LIMSPC][6] |
◆ cinrat
◆ cmcool
◆ cmheat
◆ comdn
vector<double> t_rfield::comdn |
◆ comtot
◆ comup
vector<double> t_rfield::comup |
saves for the upward and downward Compton shifts
◆ ConEmitLocal
ConEmitLocal is local diffuse continuum, units photons cm-3 s-1 cell-1, for each zone, evaluated in RT_diffuse
◆ ConEmitOut
outward diffuse emission continuum (not the interactive one), this is incremented in radinc because of interplay between absorption and emission - get the outward bremsstrahlung right photons cell-1 cm-2 s-1
◆ ConEmitReflec
reflected diffuse emission continuum
◆ ConInterOut
vector<realnum> t_rfield::ConInterOut |
this is set in RT_diffuse and carries interactive continua
◆ ConOTS_local_OTS_rate
vector<realnum> t_rfield::ConOTS_local_OTS_rate |
the local photoionization rate corresponding to above photons
◆ ConOTS_local_photons
vector<realnum> t_rfield::ConOTS_local_photons |
this will control array of locally destroyed continuum photons, zeroed and evaluated in RT_diffuse, currently only two-photon
◆ ConRefIncid
ConRefIncid is reflected portion of incident continuum
◆ ConSourceFcnLocal
the local source function - diffuse emission, photons cell-1 cm-2 s-1
◆ ContBoltz
array of Boltzmann factors for the continuum energy grid and current temperature
◆ ContBoltzAvg
array of Boltzmann factors for the continuum energy grid and current temperature properly averaged over the width of the cell
◆ ContBoltzHelp1
helper arrays for calculating Boltzmann factors averaged over the width of the cell
◆ ContBoltzHelp2
◆ convoc
convoc is the conversion factor from rfield to OccNumbIncidCont
◆ csigc
◆ csigh
coefficients for fitting Tarter expressions for Compton heating and cooling, over full energy range of code
◆ cutoff
double t_rfield::cutoff[LIMSPC][3] |
◆ DiffPumpOn
this is zero or one depending whether pumping by diffuse fields is turned on (1) or turned off (0)
Referenced by zero().
◆ DiffuseEscape
vector<realnum> t_rfield::DiffuseEscape |
computed in rt_diffuse.cpp, escaping continuum emission added to beam in radius_increment
◆ DiffuseLineEmission
vector<realnum> t_rfield::DiffuseLineEmission |
local diffuse line emission, photons cm-3 s-1
◆ eeBremsDif
vector<realnum> t_rfield::eeBremsDif |
ee brems emission, still needs to be multiplied with pow2(dense.eden)
◆ EnerGammaRay
lowest energy counted as gamma rays, 100 keV
◆ EnergyBremsThin
◆ EnergyDiffCont
◆ EnergyIncidCont
intensity [erg cm-2 s-1] in incident and diffuse continua in current zone
◆ extin_mag_B_extended
double t_rfield::extin_mag_B_extended |
extinction in magnitudes at B and V filters for a resolved source, this does discount forward scattering, so is appropriate for a resolved source
◆ extin_mag_B_point
double t_rfield::extin_mag_B_point |
extinction in magnitudes at B and V filters for a point source, this does not discount forward scattering
◆ extin_mag_V_extended
double t_rfield::extin_mag_V_extended |
◆ extin_mag_V_point
double t_rfield::extin_mag_V_point |
◆ ExtinguishColumnDensity
realnum t_rfield::ExtinguishColumnDensity |
◆ ExtinguishConvertColDen2OptDepth
realnum t_rfield::ExtinguishConvertColDen2OptDepth |
the constant that multiplies the column density to get optical depth
Referenced by t_rfield().
◆ ExtinguishEnergyPowerLow
realnum t_rfield::ExtinguishEnergyPowerLow |
◆ ExtinguishFactor
vector<realnum> t_rfield::ExtinguishFactor |
extinction factor set with extinguish command
◆ ExtinguishLeakage
realnum t_rfield::ExtinguishLeakage |
◆ ExtinguishLowEnergyLimit
realnum t_rfield::ExtinguishLowEnergyLimit |
◆ fine_anu
energies at center of each bin for fine continuum
◆ fine_ener_hi
◆ fine_ener_lo
low and high bounds of fine continuum - set by need to include all resonance lines
◆ fine_lstack
unordered_map<long, vector<int> > t_rfield::fine_lstack |
map of list of line stack indices (value) centered on fine opacity vector index (key)
◆ fine_opac_nelem
long int t_rfield::fine_opac_nelem |
heaviest element to be considered - default is iron - the fine opacity array resolution depends on heaviest element and lowest temperature
Referenced by zero().
◆ fine_opac_nresolv
long int t_rfield::fine_opac_nresolv |
number of resolution elements over width of this element, default is 4
Referenced by zero().
◆ fine_opac_velocity_width
realnum t_rfield::fine_opac_velocity_width |
number of cm/s of each cell in fine mesh
◆ fine_opac_zone
vector<realnum> t_rfield::fine_opac_zone |
the fine continuum opacity array
◆ fine_opt_depth
vector<realnum> t_rfield::fine_opt_depth |
◆ fine_resol
double t_rfield::fine_resol |
the dimensionless resolution of the fine continuum - dE/E
◆ flux
================================================================================= the following are the arrays containing the local radiation field flux is photons per cell N.B. width of cells vary with energy, given by widflx
◆ flux_accum
vector<realnum> t_rfield::flux_accum |
the accumulated flux, sum from this energy to infinity
◆ flux_beam_const
vector<realnum> t_rfield::flux_beam_const |
◆ flux_beam_const_save
vector<realnum> t_rfield::flux_beam_const_save |
◆ flux_beam_time
vector<realnum> t_rfield::flux_beam_time |
this is the variable and constant parts of the above
◆ flux_isotropic
vector<realnum> t_rfield::flux_isotropic |
this is the isotropic part of the constant continuum
◆ flux_isotropic_save
vector<realnum> t_rfield::flux_isotropic_save |
◆ flux_time_beam_save
vector<realnum> t_rfield::flux_time_beam_save |
◆ flux_total_incident
save incident continuum for later iterations
◆ FluxFaint
double t_rfield::FluxFaint |
faintest high energy flux to consider, set with set flxfnt command
◆ Illumination
◆ ip1000A
long int t_rfield::ip1000A |
this is the wavelength where Bertoldi & Draine estimate the Habing field
◆ ipB_filter
long int t_rfield::ipB_filter |
array indices for centers of B and V filters
◆ ipEnerGammaRay
long int t_rfield::ipEnerGammaRay |
◆ ipEnergyBremsThin
long int t_rfield::ipEnergyBremsThin |
ipEnergyBremsThin is index for lowest energy thin to ff abs and plasma frequency EnergyBremsThin is energy there, Ryd
◆ ipFineConVelShift
long int t_rfield::ipFineConVelShift |
shift in fine continuum rest frame scale due to velocity gradient, rest frame is velocity of first zone, positive means that first zone is blue shifted relative to current zone. This is a decelerating flow. Evaluated in RT_line_all
◆ ipG0_DB96_hi
long int t_rfield::ipG0_DB96_hi |
◆ ipG0_DB96_lo
long int t_rfield::ipG0_DB96_lo |
these are the lower and upper bounds for the G0 radiation field used by Tielens & Hollenbach in their PDR work
◆ ipG0_spec_hi
long int t_rfield::ipG0_spec_hi |
◆ ipG0_spec_lo
long int t_rfield::ipG0_spec_lo |
these are the lower and upper bounds for the special G0 radiation field
◆ ipG0_TH85_hi
long int t_rfield::ipG0_TH85_hi |
◆ ipG0_TH85_lo
long int t_rfield::ipG0_TH85_lo |
these are the lower and upper bounds for the G0 radiation field used by Tielens & Hollenbach in their PDR work
◆ ipMaxBolt
long int t_rfield::ipMaxBolt |
index of highest cell with positive Boltzmann factor
◆ ipnt_coarse_2_fine
vector<long> t_rfield::ipnt_coarse_2_fine |
and array indices for lower and upper bounds of each coarse continuum mapped onto the fine continuum 0 (false) if fine continuum does not extend to these cells
Referenced by getCoarseTransCoef().
◆ ipPlasma
long int t_rfield::ipPlasma |
pointer to current plasma frequency
◆ ipPlasmax
long int t_rfield::ipPlasmax |
pointer to largest plasma freq encountered
◆ ipSpec
long int t_rfield::ipSpec |
◆ ipV_filter
long int t_rfield::ipV_filter |
◆ lgBeamed
bool t_rfield::lgBeamed[LIMSPC] |
◆ lgBlockHIon
bool t_rfield::lgBlockHIon |
◆ lgCMB_set
this flag says that CMB has been set
◆ lgComptonOn
bool t_rfield::lgComptonOn |
◆ lgComUndr
set true if Compton cooling underflows
◆ lgDoLineTrans
bool t_rfield::lgDoLineTrans |
option to not do line transfer, set false with no line transfer command
Referenced by zero().
◆ lgGamrOK
◆ lgHabing
flag set if incident radiation field less than 10x the Habing ISM field
Referenced by zero().
◆ lgHeIIOTS
flag saying whether to include HeII Lya and rec cont ots in the radiation field - - usually true, set false with no HeII ots command
Referenced by zero().
◆ lgHionRad
lgHionRad set to .true. if no hydrogen ionizing radiation
◆ lgHPhtOK
◆ lgInducProcess
bool t_rfield::lgInducProcess |
turn off continuum pumping, set with 'no induced processes' command
◆ lgIonizReevaluate
bool t_rfield::lgIonizReevaluate |
says whether to constantly reevaluate ionization, normally true, set false with no ionization reevaluate command
Referenced by zero().
◆ lgKillOTSLine
bool t_rfield::lgKillOTSLine |
flag saying whether to kill ots lines
Referenced by zero().
◆ lgKillOutCont
bool t_rfield::lgKillOutCont |
flag saying whether to kill outward only continuum
Referenced by zero().
◆ lgKillOutLine
bool t_rfield::lgKillOutLine |
flag saying whether to kill outward only lines
Referenced by zero().
◆ lgLyaOTS
flag saying whether to include H1 Lya ots in the radiation field - usually true, set false with no Lya ots command
Referenced by zero().
◆ lgMMok
these are series of flags that say whether different parts of the continuum where entered ok
◆ lgMustBlockHIon
bool t_rfield::lgMustBlockHIon |
this is set true is one of incident continua is expected to have all H-ionizing radiation blocked. That is done separately with the extinguish command.
Referenced by zero().
◆ lgOcc1Hi
flag saying that occupation number at 1 Ryd > 1
◆ lgOpacityReevaluate
bool t_rfield::lgOpacityReevaluate |
says whether to constantly reevaluate opacities, normally true, set false with no opacity reevaluate command
Referenced by zero().
◆ lgOutOnly
another flag, true if outward only - used to multiply the ConInterOut continuum for creating the interactive continuum - when false, no outward only, this is not added
◆ lgPlasNu
following deal with plasma frequency, which enters the continuum array for even moderate densities due to very low frequencies considered set true if plasma freq enters energy array
◆ lgSaveOpacityFine
bool t_rfield::lgSaveOpacityFine |
says that fine optical depths will be saved, so save them
Referenced by zero().
◆ lgSphericalDilution
bool t_rfield::lgSphericalDilution[LIMSPC] |
does TABLE READ SED need additional spherical dilution?
◆ lgTimeVary
bool t_rfield::lgTimeVary[LIMSPC] |
option to have continuum intensity be time dependent
◆ lgUSphON
lgUSphON flag set when we hit Stromgren radius in spherical geometry
◆ lgXRayOK
◆ line_count
vector<long> t_rfield::line_count |
used to keep track of number of lines per freq interval
◆ ncont
◆ nfine
the number of fine continuum cells - will be several million
◆ nflux
================================================================================= the following define the continuum energy scale and its limits nflux is number of continuum points needed to get to high energy end of continuum. this excludes the unity test cell.
Referenced by getCoarseTransCoef(), and setTrimming().
◆ nflux_with_check
long int t_rfield::nflux_with_check |
◆ nPositive
long int t_rfield::nPositive |
number of cells to include highest continuum cell with non-zero photon flux, loops over continuum should go to <nPositive to include positive cells
Referenced by setTrimming().
◆ nShape
long int t_rfield::nShape |
nShape is SED shape index number, this must equal the number of field intensities that are specified ipSpec is radiation field source number
◆ nZonePlsFrqEval
long int t_rfield::nZonePlsFrqEval |
◆ occ1nu
◆ occmax
these store photon occupation numbers at various energies in the continuum
◆ occmnu
◆ OccNumbContEmitOut
vector<realnum> t_rfield::OccNumbContEmitOut |
outward emitted continuum
◆ OccNumbDiffCont
vector<realnum> t_rfield::OccNumbDiffCont |
OccNumbDiffCont is the continuum occupation number, for local diffuse continuum
◆ OccNumbIncidCont
vector<realnum> t_rfield::OccNumbIncidCont |
OccNumbIncidCont is the continuum occupation number for the attenuated incident ONLY
◆ opac_mag_B_extended
double t_rfield::opac_mag_B_extended |
◆ opac_mag_B_point
double t_rfield::opac_mag_B_point |
these are total opacities at these wavelengths, used to stop at exact Av
◆ opac_mag_V_extended
double t_rfield::opac_mag_V_extended |
◆ opac_mag_V_point
double t_rfield::opac_mag_V_point |
◆ OpticalDepthScaleFactor
1 / cos( illumination angle, angle measured from normal, default is angle=zero, normal illumination, DirectCos = 1
◆ otscon
the local ots continuum rates
◆ otslin
otsline and otscon - local ots fields for line and continua outlin outward line fields the local ots line rates
◆ otssav
◆ outlin
outward directed line emission photons cm-2 s-1
◆ outlin_noplot
vector<realnum> t_rfield::outlin_noplot |
◆ plsfrq
plasma frequency for current position in slab
◆ plsfrqmax
store highest energy plasma frequency encountered
◆ qbal
◆ qhe
◆ qheii
◆ qhtot
these are total numbers of photons over various energy ranges
◆ qrad
◆ qtot
◆ range
double t_rfield::range[LIMSPC][2] |
energy range over which the intensity is integrated for normalizing each continuum source that contributes to the total source
◆ reflin
◆ RSFCheck
double t_rfield::RSFCheck[LIMSPC] |
used to store a check on the continuum mesh resolution scale factor this is used for the output of the SAVE TRANSMITTED CONTINUUM command
◆ rstrom
the Stromgren radius var set to get u spherical
◆ slope
double t_rfield::slope[LIMSPC] |
◆ spfac
double t_rfield::spfac[LIMSPC] |
◆ SummedCon
vector<double> t_rfield::SummedCon |
these are energy-by-energy sums of various arrays, used to save time in evaluating rate integrals
Referenced by setTrimming().
◆ SummedDif
vector<realnum> t_rfield::SummedDif |
◆ SummedDifSave
vector<realnum> t_rfield::SummedDifSave |
◆ SummedOcc
vector<realnum> t_rfield::SummedOcc |
◆ TableRadius
double t_rfield::TableRadius[LIMSPC] |
TABLE READ input is normalized on this radius
◆ tbr4nu
◆ tbrmax
◆ tbrmnu
◆ tFluxLog
this is the log of f_nu of continuum point
◆ time_continuum_scale
realnum t_rfield::time_continuum_scale |
==1 for time steady, when continuum varies with time, is scale factor
Referenced by zero().
◆ tNu
these are used for interpolate and table commands, all have two indices, continuum and frequency tNuRyd is the linear energy Rydberg of continuum point must be explicit arrays again so that table commands will work before continuum defined.
◆ TotDiff2Pht
vector<realnum> t_rfield::TotDiff2Pht |
saves total two photon continuum for debugging, set in RT_diffuse
◆ totpow
double t_rfield::totpow[LIMSPC] |
◆ trans_coef_total
vector<realnum> t_rfield::trans_coef_total |
|
private |
◆ trans_coef_total_stale
bool t_rfield::trans_coef_total_stale |
◆ tslop
◆ uh
hydrogen ionization parameter
◆ uheii
helium ion ionization parameter
◆ vexp_arg
The documentation for this struct was generated from the following files: