Go to the source code of this file.
Data Structures | |
struct | t_atmdat |
class | t_ADfA |
Defines | |
#define | NHSDIM 15 |
#define | NLINEHS 300 |
#define | HS_NZ 8 |
Enumerations | |
enum | phfit_version { PHFIT_UNDEF, PHFIT95, PHFIT96 } |
Functions | |
double | atmdat_2phot_shapefunction (double EbyE2nu, long ipISO, long nelem) |
void | atmdat_2phot_rate (long ipZ, long ipISO) |
void | atmdat_readin (void) |
void | atmdat_outer_shell (long int iz, long int in, long int *imax, long int *ig0, long int *ig1) |
void | ChargTranEval (double *O_HIonRate) |
double | ChargTranSumHeat (void) |
void | ChargTranPun (FILE *ipPnunit, char *chPunch) |
double | atmdat_dielrec_fe (long int ion, double t) |
void | atmdat_H_phot_cs (void) |
void | atmdat_3body (void) |
double | atmdat_HS_caseB (long int iHi, long int iLo, long int iZ, double TempIn, double DenIn, char chCase) |
void | atmdat_DielSupres (void) |
Variables | |
EXTERN struct t_atmdat | atmdat |
#define HS_NZ 8 |
number of elements that can be read in
Definition at line 105 of file atmdat.h.
Referenced by atmdat_HS_caseB(), atmdat_readin(), and lines_hydro().
#define NHSDIM 15 |
#define NLINEHS 300 |
dimension of array with lines
Definition at line 104 of file atmdat.h.
Referenced by atmdat_HS_caseB(), and atmdat_readin().
enum phfit_version |
void atmdat_2phot_rate | ( | long | ipISO, | |
long | nelem | |||
) |
atmdat_2phot_rate hydrogen two photon emission, including induced emission
ipZ | atomic number on c scale | |
ipISO | the iso sequence, must be either 0 (hydrogen) or 1 (he-like) |
Definition at line 307 of file atmdat_2photon.cpp.
References t_rfield::anu, t_iso::As2nu, ASSERT, DEBUG_ENTRY, DEBUG_EXIT, EmisLines, ioQQQ, ipH_LIKE, t_iso::ipHalfTwoPhoE, ipHE_LIKE, t_iso::ipSym2nu, t_iso::ipTwoPhoE, iso, t_trace::lgBug2nu, t_rfield::lgInducProcess, t_trace::lgTrace, t_rfield::OccNumbIncidCont, rfield, t_rfield::SummedOcc, trace, t_iso::TwoNu_induc_dn, t_iso::TwoNu_induc_dn_max, and t_iso::TwoNu_induc_up.
Referenced by RT_line_all().
double atmdat_2phot_shapefunction | ( | double | EbyE2nu, | |
long | ipISO, | |||
long | nelem | |||
) |
atmdat_2phot_shapefunction two photon emission function for all atomic and ionic species
EbyE2nu | ||
ipISO | ||
nelem |
Definition at line 214 of file atmdat_2photon.cpp.
References ASSERT, DEBUG_ENTRY, DEBUG_EXIT, He2NuEnergies, He2NuShapeFunc, He2NuShapeFuncY2, Hydro2NuEnergies, Hydro2NuShapeFunc, Hydro2NuShapeFuncY2, ipH_LIKE, ipHE_LIKE, lgFirstCall, NCRS, NCRS_H, NCRS_HE, spline(), and splint().
Referenced by ContCreatePointers().
void atmdat_3body | ( | void | ) |
atmdat_3body derive three-body recombination coefficients
Definition at line 52 of file atmdat_3body.cpp.
References atmdat, t_ionbal::CotaRate, da(), DEBUG_ENTRY, DEBUG_EXIT, ionbal, ioQQQ, t_punch::ioRecom, t_punch::lgioRecom, t_ionbal::lgNoCota, t_trace::lgTrace, t_trace::lgTrace3Bod, LIMELM, MIN2, MIN3, t_atmdat::nsbig, punch, and trace.
Referenced by ConvBase().
double atmdat_dielrec_fe | ( | long int | ion, | |
double | t | |||
) |
atmdat_dielrec_fe Dielectronic recombination rates for Fe from Arnaud & Raymond 1992
ion | ||
t |
Definition at line 9 of file atmdat_dielrec_fe.cpp.
References cdEXIT(), DEBUG_ENTRY, DEBUG_EXIT, EVRYD, ioQQQ, sexp(), and TE1RYD.
Referenced by ion_recomb().
void atmdat_DielSupres | ( | void | ) |
atmdat_DielSupres derive scale factors for suppression of Burgess dielectronic recombination
Definition at line 11 of file atmdat_dielsupres.cpp.
References DEBUG_ENTRY, DEBUG_EXIT, dense, t_ionbal::DielSupprs, t_dense::eden, ionbal, t_punch::ioRecom, t_punch::lgioRecom, t_ionbal::lgSupDie, LIMELM, MAX2, MIN2, phycon, powi(), punch, and t_phycon::sqrte.
Referenced by ConvBase().
void atmdat_H_phot_cs | ( | void | ) |
this initializes the arrays containing the fitting coefficients, called by OpacityCreateAll, done once per coreload
double atmdat_HS_caseB | ( | long int | iHi, | |
long int | iLo, | |||
long int | iZ, | |||
double | TempIn, | |||
double | DenIn, | |||
char | chCase | |||
) |
general utility to read in line emissivities from the Storey & Hummer tables of case B emissivities.
iHi | the principal quantum numbers, . | |
iLo | upper and lower levels in any order | |
iZ | charge of ion, only 1 and 2 for now | |
TempIn | temperature, must lie within the range of the table, which depends on the ion charge, and is 500 - 30,000K for hydrogen | |
DenIn | the density and must lie within the range of the table | |
chCase | case - 'a' or 'b' |
Definition at line 7 of file atmdat_HS_caseb.cpp.
References ASSERT, atmdat, cdEXIT(), t_atmdat::Density, t_atmdat::ElecTemp, t_atmdat::Emiss, HS_NZ, t_atmdat::ncut, t_atmdat::nDensity, NLINEHS, t_atmdat::ntemp, x1, x2, and z.
Referenced by DrvCaseBHS(), and lines_hydro().
void atmdat_outer_shell | ( | long int | iz, | |
long int | in, | |||
long int * | imax, | |||
long int * | ig0, | |||
long int * | ig1 | |||
) |
atmdat_outer_shell determine outer shell, and statistical weights of that and higher ion, for any ion written by Dima Verner
[in] | iz | atomic number from 1 to 30 |
[in] | in | number of electrons from 1 to iz |
[out] | *imax | number of the outer shell |
[out] | *ig0 | statistical weight of (iz,in) ground state |
[out] | *ig1 | statistical weight of (iz,in-1) ground state |
Definition at line 8 of file atmdat_outer_shell.cpp.
References DEBUG_ENTRY, DEBUG_EXIT, and ioQQQ.
Referenced by atmdat_readin(), and RT_diffuse().
void atmdat_readin | ( | void | ) |
atmdat_readin read in some data files, but only if this is very first call
Definition at line 128 of file atmdat_readin.cpp.
References ASSERT, atmdat, atmdat_outer_shell(), EmLine::Aul, Badnell_rec_init(), C12O16Rotate, C13O16Rotate, cdEXIT(), chDataPath, t_elementnames::chElementSym, t_struc::CO_molec, t_struc::coolstr, EmLine::cs, cs1_flag_lev2, DEBUG_ENTRY, DEBUG_EXIT, t_struc::DenMass, t_struc::DenParticles, t_atmdat::Density, t_struc::depth, t_struc::depth_last, t_struc::drad, t_struc::drad_last, t_struc::drad_x_fillfac, DynaCreateArrays(), E, t_struc::ednstr, eina(), t_atmdat::ElecTemp, elementnames, t_atmdat::Emiss, EmLineJunk(), EmLine::EnergyErg, EmLine::EnergyWN, ERG1CM, FeIICreate(), FFmtRead(), FILENAME_PATH_LENGTH_2, t_MeweCoef::g, t_struc::gas_phase, t_struc::GasPressure, geometry, EmLine::gf, EmLine::gHi, EmLine::gLo, t_struc::H2_molec, t_struc::hden, t_struc::heatstr, Heavy, t_struc::hiistr, t_struc::histr, HS_NZ, HyperfineCreate(), INPUT_LINE_LENGTH, Singleton< T >::Inst(), ionbal, EmLine::IonStg, ioQQQ, ipBE_LIKE, ipF_LIKE, ipIRON, ipLI_LIKE, EmLine::iRedisFun, t_iterations::iter_malloc, iterations, lgCORotateMalloc, lgDataPathSet, lgFirstCall, t_ionbal::lgInnerShell_Gu06, t_ionbal::lgInnerShell_Kisielius, t_trace::lgTrace, LIMELM, lines_setup(), MALLOC, MAX2, MeweCoef, MIN2, mole, N, N_H_MOLEC, nCORotate, t_atmdat::ncut, t_atmdat::nDensity, EmLine::nelem, t_geometry::nend, NHSDIM, nLevel1, NLINEHS, t_Heavy::nsShells, t_atmdat::ntemp, t_mole::num_comole_calc, nUTA, nWindLine, t_struc::nzlim, t_struc::o3str, path_not_set(), POW2, t_struc::pres_radiation_lines_curr, t_struc::pressure, struc, TauLine2, TauLines, t_struc::testr, TotalInsanity(), trace, UTALines, t_struc::volstr, EmLine::WLAng, t_struc::xIonDense, and t_struc::xLyman_depth.
Referenced by cloudy(), DrvCaseBHS(), and ParseCompile().
void ChargTranEval | ( | double * | O_HIonRate | ) |
atmdat fill in the HCharExcIonOf and Rec arrays with Kingdon's fitted CT with H,
O_HIonRate |
Definition at line 44 of file atmdat_char_tran.cpp.
References t_phycon::alnte, atmdat, co, conv, DEBUG_ENTRY, DEBUG_EXIT, dense, t_atmdat::HCharExcIonOf, t_atmdat::HCharExcRecTo, t_atmdat::HCharExcRecTo_N0_2D, HCTIon(), HCTRecom(), t_atmdat::HeCharExcIonOf, t_atmdat::HeCharExcRecTo, HMRATE, ipALUMINIUM, ipARGON, ipCARBON, ipCHLORINE, ipHELIUM, ipIRON, ipLITHIUM, ipMAGNESIUM, ipMANGANESE, ipNEON, ipNICKEL, ipNITROGEN, ipOXYGEN, ipPHOSPHORUS, ipPOTASSIUM, ipSILICON, ipSODIUM, ipSULPHUR, ipTITANIUM, t_atmdat::lgCTOn, t_co::lgUMISTrates, LIMELM, t_conv::nTotalIoniz, phycon, SDIV(), sexp(), t_phycon::sqrte, t_phycon::te, t_phycon::te01, t_phycon::te03, t_phycon::te05, t_phycon::te10, t_phycon::te20, t_phycon::te30, t_phycon::te_eV, t_phycon::tesqrd, and t_dense::xIonDense.
Referenced by ChargTranPun(), and ConvBase().
void ChargTranPun | ( | FILE * | ipPnunit, | |
char * | chPunch | |||
) |
punch charge transfer rate coefficients
ipPnunit | ||
chPunch |
Definition at line 1696 of file atmdat_char_tran.cpp.
References abund, atmdat, cdEXIT(), ChargTranEval(), t_elementnames::chElementSym, t_elementnames::chIonStage, DEBUG_ENTRY, DEBUG_EXIT, dense, elementnames, t_atmdat::HCharExcIonOf, t_atmdat::HCharExcRecTo, HCTIon(), HCTRecom(), Heavy, t_atmdat::HeCharExcIonOf, t_atmdat::HeCharExcRecTo, t_dense::IonHigh, t_dense::IonLow, ioQQQ, ipHELIUM, t_abund::lgAGN, LIMELM, phycon, t_phycon::te, tfidle(), and t_Heavy::Valence_IP_Ryd.
Referenced by PunchDo().
double ChargTranSumHeat | ( | void | ) |
sum up the charge transfer heating
Definition at line 568 of file atmdat_char_tran.cpp.
References ASSERT, atmdat, CTIonData, CTRecombData, DEBUG_ENTRY, DEBUG_EXIT, dense, EN1EV, FRAC, t_atmdat::HCharCoolMax, t_atmdat::HCharExcIonOf, t_atmdat::HCharExcRecTo, t_atmdat::HCharHeatMax, t_atmdat::HCharHeatOn, t_thermal::htot, ioQQQ, ipH1s, ipH_LIKE, ipHELIUM, ipHYDROGEN, iso, lgCTDataDefined, LIMELM, MAX2, MIN2, t_iso::Pop2Ion, thermal, and t_dense::xIonDense.
Referenced by ConvBase().
Referenced by atmdat_3body(), atmdat_HS_caseB(), atmdat_readin(), ChargeTransferUpdate(), ChargTranEval(), ChargTranPun(), ChargTranSumHeat(), HCTRecom(), HeLikeLevel(), hmole_step(), ion_recomb(), ion_solver(), IonChlor(), IonOxyge(), iso_ionize_recombine(), IterStart(), lines_hydro(), lines_lv1_li_ne(), ParseDont(), ParseSet(), PrtComment(), PrtFinal(), PrtHydroTrace2(), and zero().