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 |
#define | NHCSTE 8 |
#define | NUM_HS98_DATA_POINTS 811 |
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_CHIANTI_readin (long intNS, char *chFileName) |
void | atmdat_LAMDA_readin (long intNS, char *chFileName) |
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 *chSave) |
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 double **** | HS_He1_Xsectn |
EXTERN double **** | HS_He1_Energy |
EXTERN double ***** | OP_Helike_Xsectn |
EXTERN double ***** | OP_Helike_Energy |
EXTERN long **** | OP_Helike_NumPts |
EXTERN struct t_atmdat | atmdat |
#define HS_NZ 8 |
number of elements that can be read in
Definition at line 129 of file atmdat.h.
Referenced by atmdat_HS_caseB(), atmdat_readin(), IterStart(), and lines_hydro().
#define NHCSTE 8 |
number of temperature points in h_coll_str arrays
Definition at line 130 of file atmdat.h.
Referenced by HCSAR_interp().
#define NHSDIM 15 |
#define NLINEHS 300 |
dimension of array with lines
Definition at line 128 of file atmdat.h.
Referenced by atmdat_HS_caseB(), and atmdat_readin().
#define NUM_HS98_DATA_POINTS 811 |
Definition at line 131 of file atmdat.h.
Referenced by GetHS98CrossSection(), and read_SH98_He1_cross_sections().
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 305 of file atmdat_2photon.cpp.
References t_rfield::anu, t_iso::As2nu, ASSERT, DEBUG_ENTRY, 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, Transitions, 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, 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, ionbal, ioQQQ, t_save::ioRecom, t_save::lgioRecom, t_ionbal::lgNoCota, t_trace::lgTrace, t_trace::lgTrace3Bod, LIMELM, MIN2, MIN3, t_atmdat::nsbig, save, and trace.
Referenced by ConvBase().
void atmdat_CHIANTI_readin | ( | long | intNS, | |
char * | chFileName | |||
) |
atmdat_CHIANTI_readin read in data from CHIANTI database files
intNS | ||
chFileName |
Definition at line 14 of file atmdat_chianti.cpp.
References AddLine2Stack(), ASSERT, AtmolCollSplines, t_emission::Aul, t_emission::AutoIonizFrac, BIGDOUBLE, cdEXIT, t_quantumState::chLabel, chLabel, CollRatesArray, t_CollSplinesArray::collspline, dBaseStates, dBaseTrans, DEBUG_ENTRY, DEBUGSTATE, transition::Emis, t_quantumState::energy, t_CollSplinesArray::EnergyDiff, transition::EnergyErg, transition::EnergyK, transition::EnergyWN, ERG1CM, FILENAME_PATH_LENGTH_2, fixit(), t_quantumState::g, GetGF(), t_CollSplinesArray::gf, t_emission::gf, transition::Hi, t_CollSplinesArray::intTranType, ioQQQ, ipLev, transition::Junk(), t_species::lgMolecular, t_trace::lgTrace, transition::Lo, MALLOC, max(), MAX2, min(), MIN2, mode_r, nMatch(), t_CollSplinesArray::nSplinePts, NUM_COLLIDERS, t_species::numLevels_local, t_species::numLevels_max, open_data(), RefIndex(), t_CollSplinesArray::ScalingParam, Energy::set(), t_quantumState::sp, Species, spline(), t_CollSplinesArray::SplineSecDer, spsort(), STATIC_ASSERT, T1CM, TotalInsanity(), trace, uncaps(), transition::WLAng, and Energy::WN().
Referenced by database_readin().
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, EVRYD, ioQQQ, pow(), 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 149 of file atmdat_dielsupres.cpp.
References DEBUG_ENTRY, dense, t_ionbal::DielSupprs, t_dense::eden, ionbal, t_save::ioRecom, t_save::lgioRecom, t_ionbal::lgSupDie, LIMELM, MAX2, MIN2, phycon, powi(), save, t_phycon::sqrte, and t_phycon::te.
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, DEBUG_ENTRY, t_atmdat::Density, t_atmdat::ElecTemp, t_atmdat::Emiss, fp_equal(), HS_NZ, t_atmdat::ncut, t_atmdat::nDensity, NLINEHS, t_atmdat::ntemp, pow(), x1, and x2.
Referenced by DrvCaseBHS(), and lines_hydro().
void atmdat_LAMDA_readin | ( | long | intNS, | |
char * | chFileName | |||
) |
atmdat_LAMDA_readin read in data from LAMDA database files
intNS | ||
chFileName |
Definition at line 15 of file atmdat_lamda.cpp.
References AddLine2Stack(), ASSERT, AtmolCollRateCoeff, cdEXIT, t_quantumState::chLabel, chLabel, t_CollRatesArray::collrates, CollRatesArray, dBaseStates, dBaseTrans, DEBUG_ENTRY, DEBUGSTATE, transition::Emis, t_quantumState::energy, transition::EnergyErg, transition::EnergyK, transition::EnergyWN, ERG1CM, FFmtRead(), FILENAME_PATH_LENGTH_2, t_species::fmolweight, g, t_quantumState::g, GetGF(), t_emission::gf, transition::Hi, ioQQQ, ipLev, isnan, transition::Junk(), t_species::lgMolecular, t_trace::lgTrace, transition::Lo, MALLOC, MIN2, t_CollRatesArray::ntemps, NUM_COLLIDERS, t_species::numLevels_local, t_species::numLevels_max, open_data(), read_whole_line(), RefIndex(), Energy::set(), SMALLFLOAT, t_quantumState::sp, Species, T1CM, t_CollRatesArray::temps, TotalInsanity(), trace, transition::WLAng, and Energy::WN().
Referenced by database_readin().
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, 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 165 of file atmdat_readin.cpp.
References t_struc::AccelGravity, t_struc::AccelTotalOutward, AddLine2Stack(), AddState2Stack(), ASSERT, atmdat, atmdat_outer_shell(), t_emission::Aul, cdEXIT, t_elementnames::chElementSym, t_struc::CO_molec, t_collision::col_str, transition::Coll, t_struc::coolstr, cs1_flag_lev2, database_readin(), DEBUG_ENTRY, t_struc::DenMass, t_struc::DenParticles, dense, t_atmdat::Density, t_struc::depth, t_struc::depth_last, dprintf(), t_struc::drad, t_struc::drad_last, t_struc::drad_x_fillfac, DynaCreateArrays(), t_struc::ednstr, eina(), t_atmdat::ElecTemp, elementnames, transition::Emis, t_atmdat::Emiss, transition::EnergyWN, ERG1CM, FeIICreate(), FFmtRead(), FILENAME_PATH_LENGTH_2, fixit(), fp_equal(), fp_equal_tol(), t_MeweCoef::g, t_quantumState::g, t_struc::gas_phase, t_struc::GasPressure, geometry, GetGF(), t_emission::gf, gf_cutoff, t_struc::H2_molec, t_struc::hden, t_struc::heatstr, Heavy, transition::Hi, t_struc::hiistr, t_struc::histr, HS_NZ, HyperfineCreate(), t_yield::init_yield(), InitTransition(), INPUT_LINE_LENGTH, Singleton< t_yield >::Inst(), ionbal, t_quantumState::IonStg, ioQQQ, ipAL_LIKE, ipHYDROGEN, ipIRON, ipLI_LIKE, ipMG_LIKE, ipNA_LIKE, ipPRD, t_emission::iRedisFun, IS_L2_SHELL, iso, t_iterations::iter_malloc, iterations, transition::Junk(), t_atmdat::lgChiantiOn, t_dense::lgElmtOn, lgFirstCall, t_ionbal::lgInnerShell_Gu06, t_ionbal::lgInnerShell_Kisielius, t_atmdat::lgLamdaOn, t_trace::lgTrace, LIMELM, lines_setup(), transition::Lo, MALLOC, MAX2, MeweCoef, mole, N_H_MOLEC, t_atmdat::ncut, t_atmdat::nDensity, t_quantumState::nelem, t_geometry::nend, NHSDIM, nint(), NISO, nLevel1, NLINEHS, nSpecies, t_Heavy::nsShells, t_atmdat::ntemp, t_mole::num_comole_calc, t_iso::numLevels_max, nUTA, nWindLine, t_struc::nzlim, t_struc::o3str, open_data(), pow(), t_struc::pres_radiation_lines_curr, t_struc::pressure, read_Helike_cross_sections(), read_SH98_He1_cross_sections(), read_whole_line(), ReadBadnellAIData(), t_struc::StatesElemNEW, strstr_s(), struc, TauLine2, TauLines, t_struc::testr, TotalInsanity(), trace, UTALines, t_struc::volstr, t_struc::windv, transition::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, dense, fp_equal(), 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, MIN2, t_conv::nTotalIoniz, phycon, pow(), 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 * | chSave | |||
) |
save charge transfer rate coefficients
ipPnunit | ||
chSave |
Definition at line 1730 of file atmdat_char_tran.cpp.
References abund, atmdat, cdEXIT, ChargTranEval(), t_elementnames::chElementSym, t_elementnames::chIonStage, DEBUG_ENTRY, 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, TempChange(), and t_Heavy::Valence_IP_Ryd.
Referenced by SaveDo().
double ChargTranSumHeat | ( | void | ) |
sum up the charge transfer heating
Definition at line 575 of file atmdat_char_tran.cpp.
References ASSERT, atmdat, CTIonData, CTRecombData, DEBUG_ENTRY, dense, EN1EV, fixit(), FRAC, t_atmdat::HCharCoolMax, t_atmdat::HCharExcIonOf, t_atmdat::HCharExcRecTo, t_atmdat::HCharHeatMax, t_atmdat::HCharHeatOn, t_atmdat::HeCharExcIonOf, t_atmdat::HeCharExcRecTo, t_thermal::htot, ioQQQ, ipH1s, ipH_LIKE, ipHE_LIKE, ipHELIUM, ipHYDROGEN, ipLITHIUM, lgCTDataDefined, LIMELM, MAX2, MIN2, StatesElemNEW, thermal, and t_dense::xIonDense.
Referenced by ConvBase().
Referenced by atmdat_3body(), atmdat_HS_caseB(), atmdat_readin(), ChargTranEval(), ChargTranPun(), ChargTranSumHeat(), CoolEvaluate(), database_readin(), DatabasePrintReference(), fill_array(), GrainChrgTransferRates(), HCTRecom(), hmole_step(), ion_recomb(), IonChlor(), IonOxyge(), iso_charge_transfer_update(), iso_ionize_recombine(), iso_level(), IterStart(), lgCheckMonitors(), lgOH_ChargeTransferDominant(), lines_helium(), lines_hydro(), lines_lv1_li_ne(), ParseDont(), ParseSet(), PrintRates(), PrtComment(), PrtFinal(), and zero().
EXTERN double**** HS_He1_Energy |
Definition at line 118 of file atmdat.h.
Referenced by GetHS98CrossSection(), and read_SH98_He1_cross_sections().
EXTERN double**** HS_He1_Xsectn |
Definition at line 117 of file atmdat.h.
Referenced by GetHS98CrossSection(), and read_SH98_He1_cross_sections().
EXTERN double***** OP_Helike_Energy |
Definition at line 122 of file atmdat.h.
Referenced by cross_section(), and read_Helike_cross_sections().
EXTERN long**** OP_Helike_NumPts |
Definition at line 123 of file atmdat.h.
Referenced by cross_section(), and read_Helike_cross_sections().
EXTERN double***** OP_Helike_Xsectn |
Definition at line 121 of file atmdat.h.
Referenced by cross_section(), and read_Helike_cross_sections().