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 |
References ASSERT, DEBUG_ENTRY, He2NuEnergies, He2NuShapeFunc, He2NuShapeFuncY2, Hydro2NuEnergies, Hydro2NuShapeFunc, Hydro2NuShapeFuncY2, ipH_LIKE, ipHE_LIKE, lgSplinesSet, NCRS_H, NCRS_HE, and splint().
Referenced by ContCreatePointers(), and TwoPhotonSetup().
void atmdat_3body | ( | void | ) |
void atmdat_CHIANTI_readin | ( | long | intNS, |
const string & | chFileName ) |
atmdat_CHIANTI_readin read in data from CHIANTI database files
intNS | |
chFileName |
References TransitionProxy::AddLine2Stack(), AS_TRY, ASSERT, atmdat, AtmolCollSplines, EmissionProxy::Aul(), EmissionProxy::AutoIonizFrac(), BIGDOUBLE, cdEXIT, CHARS_SPECIES, db_comment_tran_levels(), dBaseSpecies, dBaseStates, dBaseTrans, DEBUG_ENTRY, DEBUGSTATE, TransitionProxy::Emis(), energy(), TransitionProxy::EnergyWN(), EXIT_FAILURE, fixit, fprintf(), qStateProxy::g(), GetGF(), EmissionProxy::gf(), TransitionProxy::hasEmis(), TransitionProxy::Hi(), ioQQQ, ipdBaseTrans, ipELECTRON, ipNCOLLIDER, ipPROTON, max(), MAX2, MIN2, MIN3, mode_r, NULL, open_data(), rfield, TransitionProxy::setComment(), setProperties(), spectral_to_chemical(), spline(), tolower(), TotalInsanity(), trace, uncaps(), TransitionProxy::WLangVac(), and wn2angVac().
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
References HS_He1_Energy, HS_He1_Xsectn, OP_Helike_Energy, OP_Helike_NumPts, and OP_Helike_Xsectn.
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, EXIT_FAILURE, exp10(), fp_equal(), HS_NZ, NLINEHS, 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, isnan, MIN3, open_data(), read_whole_line(), ReadCollisionRateTable(), rfield, setProperties(), TotalInsanity(), and wn2angVac().
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, iterations, LIMELM, lines_setup(), mole_global, nSpecies, nWindLine, 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 TransitionProxy::AddLine2Stack(), ASSERT, atmdat, EmissionProxy::Aul(), cdEXIT, CHARS_SPECIES, DataParser::checkEOL(), DataParser::checkMagic(), db_comment_tran_levels(), dBaseSpecies, dBaseStates, dBaseTrans, DEBUG_ENTRY, DEBUGSTATE, eina(), TransitionProxy::Emis(), energy(), ENERGY_MIN_WN, TransitionProxy::EnergyWN(), DataParser::errorAbort(), ES_STARS_ONLY, EXIT_FAILURE, fprintf(), qStateProxy::g(), getCode(), GetGF(), DataParser::getline(), DataParser::getQuoteOptional(), DataParser::getToken(), DataParser::getTokenOptional(), EmissionProxy::gf(), TransitionProxy::hasEmis(), TransitionProxy::Hi(), ioQQQ, ipALPHA, ipATOM_H, ipATOM_HE, ipdBaseTrans, ipELECTRON, ipH2, ipH2_ORTHO, ipH2_PARA, ipHE_PLUS, ipNCOLLIDER, ipPROTON, DataParser::lgEODMarker(), MAX2, MIN2, MIN3, DataParser::open(), processIndices(), rfield, S2Aul(), TransitionProxy::setComment(), setProperties(), spectral_to_chemical(), StoutCollData, tolower(), uncaps(), TransitionProxy::WLangVac(), and wn2angVac().
Referenced by database_readin().
void ChargTranEval | ( | void | ) |
atmdat fill in the CharExcIonOf[ipHYDROGEN] and Rec arrays with Kingdon's fitted CT with H,
References atmdat, conv, DEBUG_ENTRY, fp_equal(), HCTIon(), HCTRecom(), hmrate4(), ipALUMINIUM, ipARGON, ipCARBON, ipCHLORINE, ipHELIUM, ipHYDROGEN, ipIRON, ipLITHIUM, ipMAGNESIUM, ipMANGANESE, ipNEON, ipNICKEL, ipNITROGEN, ipOXYGEN, ipPHOSPHORUS, ipPOTASSIUM, ipSILICON, ipSODIUM, ipSULPHUR, ipTITANIUM, LIMELM, MIN2, mole_global, phycon, pow(), SDIV(), and sexp().
Referenced by ChargTranPun(), and ConvBase().
void ChargTranPun | ( | FILE * | ipPnunit, |
char * | chSave ) |
save charge transfer rate coefficients
ipPnunit | |
chSave |
References abund, ASSERT, atmdat, cdEXIT, ChargTranEval(), DEBUG_ENTRY, dense, elementnames, EXIT_FAILURE, fprintf(), HCTIon(), HCTRecom(), Heavy, ion_trim_untrim(), ioQQQ, ipHELIUM, ipHYDROGEN, LIMELM, phycon, and TempChange().
Referenced by SaveDo().
double ChargTranSumHeat | ( | void | ) |
sum up the charge transfer heating
References ASSERT, atmdat, CTIonData, CTRecombData, DEBUG_ENTRY, dense, fixit, fprintf(), FRAC, ioQQQ, ipH1s, ipH_LIKE, ipHELIUM, ipHYDROGEN, ipLITHIUM, iso_sp, lgCTDataDefined, LIMELM, MAX2, MIN2, and thermal.
Referenced by ConvBase().
double CHIANTI_Upsilon | ( | long | ipSpecies, |
long | ipCollider, | ||
long | ipHi, | ||
long | ipLo, | ||
double | ftemp ) |
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, open_data(), and read_whole_line().
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().
|
extern |
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(), ParsePrint(), 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().
|
extern |
Referenced by atmdat_H_phot_cs(), GetHS98CrossSection(), and read_SH98_He1_cross_sections().
|
extern |
Referenced by atmdat_H_phot_cs(), GetHS98CrossSection(), and read_SH98_He1_cross_sections().
|
extern |
Referenced by atmdat_H_phot_cs(), cross_section(), and read_Helike_cross_sections().
|
extern |
Referenced by atmdat_H_phot_cs(), cross_section(), and read_Helike_cross_sections().
|
extern |
Referenced by atmdat_H_phot_cs(), cross_section(), and read_Helike_cross_sections().