Cloudy
Spectral Synthesis Code for Astrophysics
|
Go to the source code of this file.
Classes | |
class | CollRateCoeffArray |
class | CollSplinesArray |
struct | StoutColls |
class | StoutCollArray |
struct | t_atmdat |
class | Funct |
class | FunctLAMDA |
class | FunctDiatoms |
Macros | |
#define | NHSDIM 15 |
#define | NLINEHS 300 |
#define | HS_NZ 8 |
#define | NHCSTE 8 |
#define | NUM_HS98_DATA_POINTS 811 |
Typedefs | |
typedef Funct * | FunctPtr |
Functions | |
void | LoadIsotopes () |
double | atmdat_2phot_shapefunction (double EbyE2nu, long ipISO, long nelem) |
void | atmdat_readin (void) |
void | atmdat_STOUT_readin (long intNS, const string &chFileName) |
void | atmdat_CHIANTI_readin (long intNS, const string &chFileName) |
void | atmdat_LAMDA_readin (long intNS, const string &chFileName) |
void | atmdat_outer_shell (long int iz, long int in, long int *imax, long int *ig0, long int *ig1) |
void | ChargTranEval (void) |
double | ChargTranSumHeat (void) |
void | ChargTranPun (FILE *ipPnunit, char *chSave) |
double | CHIANTI_Upsilon (long, long, long, long, double) |
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 | ReadCollisionRateTable (CollRateCoeffArray &coll_rate_table, FILE *io, FunctPtr GetIndices, long nMolLevs, long nTemps=-1, long nTrans=-1) |
double | InterpCollRate (const CollRateCoeffArray &rate_table, const long &ipHi, const long &ipLo, const double &ftemp) |
string | db_comment_tran_levels (const string &clo="", const string &chi="") |
Variables | |
multi_arr< double, 4 > | HS_He1_Xsectn |
multi_arr< double, 4 > | HS_He1_Energy |
multi_arr< vector< double >, 4 > | OP_Helike_Xsectn |
multi_arr< vector< double >, 4 > | OP_Helike_Energy |
multi_arr< long, 4 > | OP_Helike_NumPts |
t_atmdat | atmdat |
#define HS_NZ 8 |
number of elements that can be read in
Referenced by atmdat_HS_caseB(), IterStart(), lines_hydro(), and read_Hummer_Storey().
#define NHCSTE 8 |
number of temperature points in h_coll_str arrays
Referenced by HCSAR_interp(), and t_ADfA::t_ADfA().
#define NHSDIM 15 |
used for following vectors
Referenced by read_Hummer_Storey().
#define NLINEHS 300 |
dimension of array with lines
Referenced by atmdat_HS_caseB(), and read_Hummer_Storey().
#define NUM_HS98_DATA_POINTS 811 |
Referenced by GetHS98CrossSection(), and read_SH98_He1_cross_sections().
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 |
Referenced by ContCreatePointers(), and TwoPhotonSetup().
void atmdat_3body | ( | void | ) |
atmdat_3body derive three-body recombination coefficients
References atmdat, t_ionbal::CotaRate, da(), DEBUG_ENTRY, dense, t_dense::eden, fprintf(), ionbal, ioQQQ, t_save::ioRecom, t_save::lgioRecom, t_ionbal::lgNoCota, t_trace::lgTrace, t_trace::lgTrace3Bod, LIMELM, MAX2, MIN2, MIN3, t_atmdat::nsbig, phycon, save, t_phycon::te, and trace.
Referenced by ConvBase().
void atmdat_CHIANTI_readin | ( | long | intNS, |
const string & | chFileName | ||
) |
atmdat_CHIANTI_readin read in data from CHIANTI database files
intNS | |
chFileName |
References AS_TRY, ASSERT, atmdat, AtmolCollSplines, BIGDOUBLE, cdEXIT, CHARS_SPECIES, db_comment_tran_levels(), dBaseSpecies, dBaseStates, dBaseTrans, DEBUG_ENTRY, DEBUGSTATE, energy(), EXIT_FAILURE, fixit, fprintf(), GetGF(), ioQQQ, ipdBaseTrans, ipELECTRON, ipNCOLLIDER, ipPROTON, t_mesh::isEnergyBound(), t_atmdat::lgChiantiExp, t_atmdat::lgChiantiPrint, t_trace::lgTrace, max(), MAX2, MIN2, MIN3, mode_r, t_atmdat::nChiantiMaxLevels, t_atmdat::nChiantiMaxLevelsFe, NULL, open_data(), rfield, setProperties(), spectral_to_chemical(), spline(), tolower(), TotalInsanity(), trace, uncaps(), and wn2ang().
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 |
References cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, fprintf(), ioQQQ, powpq(), and sexp().
Referenced by ion_recom_calculate().
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' |
References ASSERT, atmdat, cdEXIT, DEBUG_ENTRY, t_atmdat::Density, t_atmdat::ElecTemp, t_atmdat::Emiss, EXIT_FAILURE, exp10(), fp_equal(), HS_NZ, t_atmdat::ncut, t_atmdat::nDensity, NLINEHS, t_atmdat::ntemp, x1, and x2.
Referenced by lines_hydro().
void atmdat_LAMDA_readin | ( | long | intNS, |
const string & | chFileName | ||
) |
atmdat_LAMDA_readin read in data from LAMDA database files
intNS | |
chFileName |
References ASSERT, atmdat, AtmolCollRateCoeff, cdEXIT, check_LAMDA_comment(), db_comment_tran_levels(), dBaseSpecies, dBaseStates, dBaseTrans, DEBUG_ENTRY, DEBUGSTATE, energy(), EXIT_FAILURE, FFmtRead(), fprintf(), GetGF(), ioQQQ, ipATOM_H, ipATOM_HE, ipdBaseTrans, ipELECTRON, ipH2, ipH2_ORTHO, ipH2_PARA, ipNCOLLIDER, t_mesh::isEnergyBound(), isnan, t_atmdat::lgLamdaPrint, MIN3, t_atmdat::nLamdaMaxLevels, open_data(), read_whole_line(), ReadCollisionRateTable(), RefIndex(), rfield, setProperties(), TotalInsanity(), and wn2ang().
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 |
References DEBUG_ENTRY, fprintf(), 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
References ASSERT, atmdat, atmdat_2phot_setSplineCoefs(), atmdat_outer_shell(), cdEXIT, database_readin(), DEBUG_ENTRY, DynaCreateArrays(), EXIT_FAILURE, fprintf(), Heavy, HyperfineCreate(), init_struc(), t_yield::init_yield(), Singleton< t_yield >::Inst(), ioQQQ, t_iterations::iter_alloc, iterations, t_atmdat::lgChiantiLvl2Hybrid, t_atmdat::lgChiantiOn, t_atmdat::lgInnerShellLine_on, t_atmdat::lgLamdaOn, t_atmdat::lgStoutLvl2Hybrid, t_atmdat::lgStoutOn, LIMELM, lines_setup(), mole_global, t_iterations::nend, nSpecies, t_Heavy::nsShells, t_mole_global::num_total, nWindLine, t_struc::nzlim, read_Helike_cross_sections(), read_Hummer_Storey(), read_ionization_potentials(), read_level2_lines(), read_mewe_gbar(), read_SH98_He1_cross_sections(), read_UTA_lines(), struc, and TotalInsanity().
Referenced by cloudy(), and ParseCompile().
void atmdat_STOUT_readin | ( | long | intNS, |
const string & | chFileName | ||
) |
atmdat_STOUT_readin read in data from STOUT database files
intNS | |
chFileName |
References ASSERT, atmdat, t_atmdat::aulThreshold, cdEXIT, CHARS_SPECIES, DataParser::checkEOL(), DataParser::checkMagic(), db_comment_tran_levels(), dBaseSpecies, dBaseStates, dBaseTrans, DEBUG_ENTRY, DEBUGSTATE, eina(), energy(), ENERGY_MIN_WN, DataParser::errorAbort(), ES_STARS_ONLY, EXIT_FAILURE, fprintf(), getCode(), GetGF(), DataParser::getline(), DataParser::getQuoteOptional(), DataParser::getToken(), DataParser::getTokenOptional(), ioQQQ, ipALPHA, ipATOM_H, ipATOM_HE, ipdBaseTrans, ipELECTRON, ipH2, ipH2_ORTHO, ipH2_PARA, ipHE_PLUS, ipNCOLLIDER, ipPROTON, t_mesh::isEnergyBound(), DataParser::lgEODMarker(), t_atmdat::lgStoutPrint, MAX2, MIN2, MIN3, t_atmdat::nStoutMaxLevels, t_atmdat::nStoutMaxLevelsFe, DataParser::open(), processIndices(), rfield, S2Aul(), setProperties(), spectral_to_chemical(), StoutCollData, tolower(), uncaps(), and wn2ang().
Referenced by database_readin().
void ChargTranEval | ( | void | ) |
atmdat fill in the CharExcIonOf[ipHYDROGEN] and Rec arrays with Kingdon's fitted CT with H,
References t_phycon::alnte, atmdat, t_atmdat::CharExcIonOf, t_atmdat::CharExcRecTo, conv, DEBUG_ENTRY, fp_equal(), t_atmdat::HCharExcRecTo_N0_2D, HCTIon(), HCTRecom(), hmrate4(), ipALUMINIUM, ipARGON, ipCARBON, ipCHLORINE, ipHELIUM, ipHYDROGEN, ipIRON, ipLITHIUM, ipMAGNESIUM, ipMANGANESE, ipNEON, ipNICKEL, ipNITROGEN, ipOXYGEN, ipPHOSPHORUS, ipPOTASSIUM, ipSILICON, ipSODIUM, ipSULPHUR, ipTITANIUM, t_atmdat::lgCTOn, t_mole_global::lgLeidenHack, LIMELM, MIN2, mole_global, 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, and t_phycon::tesqrd.
Referenced by ChargTranPun(), and ConvBase().
void ChargTranPun | ( | FILE * | ipPnunit, |
char * | chSave | ||
) |
save charge transfer rate coefficients
ipPnunit | |
chSave |
References abund, ASSERT, atmdat, cdEXIT, t_atmdat::CharExcIonOf, t_atmdat::CharExcRecTo, ChargTranEval(), t_elementnames::chElementSym, t_elementnames::chIonStage, DEBUG_ENTRY, dense, elementnames, EXIT_FAILURE, fprintf(), HCTIon(), HCTRecom(), Heavy, ion_trim_untrim(), t_dense::IonHigh, t_dense::IonLow, ioQQQ, ipHELIUM, ipHYDROGEN, 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
References ASSERT, atmdat, t_atmdat::CharExcIonOf, t_atmdat::CharExcRecTo, CTIonData, CTRecombData, DEBUG_ENTRY, dense, fixit, fprintf(), FRAC, t_atmdat::HCharCoolMax, t_atmdat::HCharHeatMax, t_atmdat::HCharHeatOn, t_thermal::htot, ioQQQ, ipH1s, ipH_LIKE, ipHELIUM, ipHYDROGEN, ipLITHIUM, iso_sp, lgCTDataDefined, LIMELM, MAX2, MIN2, t_iso_sp::st, thermal, and t_dense::xIonDense.
Referenced by ConvBase().
double CHIANTI_Upsilon | ( | long | , |
long | , | ||
long | , | ||
long | , | ||
double | |||
) |
CHIANTI_Upsilon converts Chianti collision splines to collision strengths
References ASSERT, AtmolCollSplines, dBaseSpecies, DEBUG_ENTRY, DEBUGSTATE, exp10(), fprintf(), ioQQQ, linint(), splint(), and TotalInsanity().
Referenced by ChiantiCollRate(), and SaveDo().
|
inline |
Referenced by atmdat_CHIANTI_readin(), atmdat_LAMDA_readin(), and atmdat_STOUT_readin().
double InterpCollRate | ( | const CollRateCoeffArray & | rate_table, |
const long & | ipHi, | ||
const long & | ipLo, | ||
const double & | ftemp | ||
) |
References ASSERT, CollRateCoeffArray::collrates, DEBUG_ENTRY, isnan, linint(), and CollRateCoeffArray::temps.
Referenced by diatomics::H2_CollidRateEvalOne(), and LeidenCollRate().
void LoadIsotopes | ( | ) |
LoadIsotopes read in the nuclear isotope data and allocate space
References abund, ASSERT, cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, FFmtRead(), fprintf(), ioQQQ, t_abund::IsoAbn, open_data(), read_whole_line(), and isotope::setData().
Referenced by cloudy(), and grid_do().
void ReadCollisionRateTable | ( | CollRateCoeffArray & | coll_rate_table, |
FILE * | io, | ||
FunctPtr | GetIndices, | ||
long | nMolLevs, | ||
long | nTemps = -1 , |
||
long | nTrans = -1 |
||
) |
References multi_arr< T, d, ALLOC, lgBC >::alloc(), ASSERT, CollRateCoeffArray::collrates, DEBUG_ENTRY, FFmtRead(), read_whole_line(), multi_arr< T, d, ALLOC, lgBC >::reserve(), multi_arr< T, d, ALLOC, lgBC >::size(), CollRateCoeffArray::temps, and multi_arr< T, d, ALLOC, lgBC >::zero().
Referenced by atmdat_LAMDA_readin(), and diatomics::H2_CollidRateRead().
t_atmdat atmdat |
Referenced by atmdat_3body(), atmdat_CHIANTI_readin(), atmdat_HS_caseB(), atmdat_LAMDA_readin(), atmdat_readin(), atmdat_STOUT_readin(), ChargTranEval(), ChargTranPun(), ChargTranSumHeat(), chkCaHeps(), t_ADfA::coll_ion(), t_ADfA::coll_ion_wrapper(), ContCreatePointers(), ContSetIntensity(), ConvBase(), CoolDima(), CoolEvaluate(), database_prep(), database_readin(), DatabasePrintReference(), dBase_solve(), dBaseUpdateCollCoeffs(), fill_array(), t_ADfA::getEthresh(), GetStandardHeLines(), GrainChrgTransferRates(), HCTRecom(), InitDefaultsPreparse(), ion_CX(), ion_photo(), ion_recomb(), IonHydro(), iso_charge_transfer_update(), iso_create(), iso_init_energies(), iso_level(), IterStart(), lgCheckMonitors(), lines(), lines_helium(), lines_hydro(), mole_eval_sources(), mole_h_reactions(), Opacity_iso_photo_cs(), OpacityAddTotal(), OpacityCreateAll(), ParseCoronal(), ParseDatabase(), ParseDont(), ParseSet(), PrintRates(), PrtComment(), PrtFinal(), PrtHeader(), read_Hummer_Storey(), read_ionization_potentials(), read_UTA_lines(), RT_diffuse(), RT_line_all(), RT_line_driving(), states_nelemfill(), and trim_levels().
multi_arr<double,4> HS_He1_Energy |
Referenced by GetHS98CrossSection(), and read_SH98_He1_cross_sections().
multi_arr<double,4> HS_He1_Xsectn |
Referenced by GetHS98CrossSection(), and read_SH98_He1_cross_sections().
multi_arr<vector<double>,4> OP_Helike_Energy |
Referenced by cross_section(), and read_Helike_cross_sections().
multi_arr<long,4> OP_Helike_NumPts |
Referenced by cross_section(), and read_Helike_cross_sections().
multi_arr<vector<double>,4> OP_Helike_Xsectn |
Referenced by cross_section(), and read_Helike_cross_sections().