#include "cddefines.h"
#include "atmdat.h"
#include "dense.h"
#include "elementnames.h"
#include "helike.h"
#include "helike_einsta.h"
#include "hydro_bauman.h"
#include "hydrogenic.h"
#include "hydroeinsta.h"
#include "iso.h"
#include "lines_service.h"
#include "opacity.h"
#include "phycon.h"
#include "physconst.h"
#include "secondaries.h"
#include "taulines.h"
#include "thirdparty.h"
Go to the source code of this file.
Functions | |
STATIC void | iso_zero (void) |
STATIC void | iso_allocate (void) |
STATIC void | iso_assign_quantum_numbers (void) |
STATIC void | FillExtraLymanLine (transition *t, long ipISO, long nelem, long nHi) |
STATIC void | iso_satellite (void) |
void | iso_create (void) |
double | iso_state_lifetime (long ipISO, long nelem, long n, long l) |
void | iso_cascade (long ipISO, long nelem) |
void | iso_satellite_update (void) |
long | iso_get_total_num_levels (long ipISO, long nmaxResolved, long numCollapsed) |
void | iso_update_num_levels (long ipISO, long nelem) |
void | iso_collapsed_bnl_set (long ipISO, long nelem) |
void | iso_collapsed_bnl_print (long ipISO, long nelem) |
void | iso_collapsed_Aul_update (long ipISO, long nelem) |
void | iso_collapsed_lifetimes_update (long ipISO, long nelem) |
Variables | |
char | chL [21] = {'S','P','D','F','G','H','I','K','L','M','N','O','Q','R','T','U','V','W','X','Y','Z'} |
STATIC void FillExtraLymanLine | ( | transition * | t, | |
long | ipISO, | |||
long | nelem, | |||
long | nHi | |||
) |
Definition at line 1119 of file iso_create.cpp.
References abscf(), t_emission::Aul, t_emission::dampXvel, DEBUG_ENTRY, transition::Emis, EN1RYD, transition::EnergyErg, transition::EnergyK, transition::EnergyWN, t_quantumState::g, GetGF(), t_emission::gf, H_Einstein_A(), transition::Hi, t_quantumState::IonStg, ioQQQ, transition::ipCont, t_emission::ipFine, ipH_LIKE, ipHELIUM, t_iso::ipResoRedist, t_emission::iRedisFun, iso, iso_state_lifetime(), t_quantumState::lifetime, transition::Lo, t_quantumState::nelem, t_iso::nLyaLevel, t_emission::opacity, PI4, pow(), POW2, RefIndex(), RYD_INF, StatesElemNEW, TE1RYD, WAVNRYD, transition::WLAng, and t_iso::xIsoLevNIonRyd.
Referenced by iso_create().
STATIC void iso_allocate | ( | void | ) |
Definition at line 567 of file iso_create.cpp.
References AddLine2Stack(), AddState2Stack(), multi_arr< T, d, ALLOC, lgBC >::alloc(), ASSERT, t_iso::bnl_effective, t_iso::Boltzmann, t_iso::BranchRatio, t_iso::CachedAs, t_iso::CascadeProb, multi_arr< T, d, ALLOC, lgBC >::clone(), t_iso::ColIoniz, t_iso::ConOpacRatio, DEBUG_ENTRY, dense, t_iso::DepartCoef, t_iso::DielecRecomb, t_iso::DielecRecombVsTemp, t_iso::Error, t_iso::ErrorFactor, ExtraLymanLines, t_iso::gamnc, t_secondaries::Hx12, multi_arr< T, d, ALLOC, lgBC >::invalidate(), ipH_LIKE, ipHELIUM, t_iso::ipIsoLevNIonCon, t_iso::ipOpac, iso, t_dense::lgElmtOn, t_iso::lgRandErrGen, LIMELM, MAX2, t_iso::n_HighestResolved_max, t_iso::nCollapsed_max, NISO, t_iso::nLyman, t_iso::nLyman_malloc, NUM_DR_TEMPS, t_iso::numLevels_malloc, t_iso::numLevels_max, t_iso::pestrk, t_iso::PhotoHeat, t_iso::PopLTE, t_iso::QuantumNumbers2Index, t_iso::RadEffec, t_iso::RadRecCon, t_iso::RadRecomb, t_iso::RateCont2Level, t_iso::RateLevel2Cont, t_iso::RecomInducCool_Coef, t_iso::RecomInducRate, multi_arr< T, d, ALLOC, lgBC >::reserve(), SatelliteLines, secondaries, t_iso::SigmaAtot, t_iso::SigmaCascadeProb, t_iso::SigmaRadEffec, StatesElemNEW, t_iso::strkar, Transitions, t_iso::xIsoLevNIonRyd, and multi_arr< T, d, ALLOC, lgBC >::zero().
Referenced by iso_create().
STATIC void iso_assign_quantum_numbers | ( | void | ) |
Definition at line 838 of file iso_create.cpp.
References ASSERT, chL, DEBUG_ENTRY, dense, ipH1s, ipH_LIKE, ipHE_LIKE, ipHELIUM, iso, t_dense::lgElmtOn, LIMELM, MIN2, t_iso::n_HighestResolved_max, t_iso::nCollapsed_max, NISO, t_iso::numLevels_max, POW2, t_iso::QuantumNumbers2Index, S, StatesElemNEW, and TotalInsanity().
Referenced by iso_create().
void iso_cascade | ( | long | ipISO, | |
long | nelem | |||
) |
iso_cascade - calculate cascade probabilities, branching ratios, and associated errors
ipISO | ||
nelem |
Cascade probabilities are as defined in Robbins 68, generalized here for cascade probability for any iso sequence. >>refer He triplets Robbins, R.R. 1968, ApJ 151, 497R >>refer He triplets Robbins, R.R. 1968a, ApJ 151, 511R
Definition at line 1242 of file iso_create.cpp.
References ASSERT, t_iso::BranchRatio, t_iso::CascadeProb, DEBUG_ENTRY, t_iso::Error, ioQQQ, ipH_LIKE, ipHe2p3P0, ipHe2p3P1, ipHe2p3P2, ipHE_LIKE, ipHELIUM, IPRAD, iso, L_, t_opac::lgCaseB, t_iso::lgRandErrGen, MALLOC, N_, t_iso::n_HighestResolved_max, t_iso::nCollapsed_max, t_iso::numLevels_max, opac, pow(), S, S_, t_iso::SigmaAtot, t_iso::SigmaCascadeProb, t_iso::SmallA, StatesElemNEW, and Transitions.
Referenced by iso_create(), and iso_update_rates().
void iso_collapsed_Aul_update | ( | long | ipISO, | |
long | nelem | |||
) |
iso_collapsed_Aul_update - update decays from collapsed levels
ipISO | ||
nelem |
Definition at line 1908 of file iso_create.cpp.
References ASSERT, t_iso::bnl_effective, t_iso::CachedAs, DEBUG_ENTRY, ipH_LIKE, ipHE_LIKE, iso, L_, t_iso::n_HighestResolved_max, t_iso::nCollapsed_max, t_iso::numLevels_max, t_iso::QuantumNumbers2Index, StatesElemNEW, TotalInsanity(), and Transitions.
Referenced by iso_update_rates(), and iso_zero().
void iso_collapsed_bnl_print | ( | long | ipISO, | |
long | nelem | |||
) |
iso_collapsed_bnl_print - print departure coefficients for collapsed levels
ipISO | ||
nelem |
Definition at line 1862 of file iso_create.cpp.
References t_iso::bnl_effective, t_elementnames::chElementSym, t_iso::chISO, DEBUG_ENTRY, elementnames, ioQQQ, ipH_LIKE, ipHE_LIKE, iso, t_iso::n_HighestResolved_max, and t_iso::nCollapsed_max.
void iso_collapsed_bnl_set | ( | long | ipISO, | |
long | nelem | |||
) |
iso_collapsed_bnl_set - set departure coefficients for collapsed levels
ipISO | ||
nelem |
these are just sanity checks, the interpolated value should be between values at interpolation points
Definition at line 1667 of file iso_create.cpp.
References ASSERT, t_iso::bnl_effective, DEBUG_ENTRY, dense, t_dense::eden, hunt_bisect(), ipH_LIKE, ipHE_LIKE, ipHELIUM, ipHYDROGEN, iso, MAX2, MAX4, MIN2, MIN4, t_iso::n_HighestResolved_max, t_iso::nCollapsed_max, phycon, t_phycon::te, and TotalInsanity().
Referenced by iso_update_rates(), and iso_zero().
void iso_collapsed_lifetimes_update | ( | long | ipISO, | |
long | nelem | |||
) |
iso_collapsed_lifetimes_update - update lifetimes of collapsed levels
ipISO | ||
nelem |
Definition at line 1955 of file iso_create.cpp.
References ASSERT, DEBUG_ENTRY, iso, t_iso::nCollapsed_max, t_iso::numLevels_max, PI4, t_iso::SmallA, SMALLFLOAT, StatesElemNEW, and Transitions.
Referenced by iso_update_rates(), and iso_zero().
void iso_create | ( | void | ) |
iso_create create storage space data for iso sequences, 1 one time per coreload
Definition at line 39 of file iso_create.cpp.
References abscf(), AddLine2Stack(), AddState2Stack(), ASSERT, DEBUG_ENTRY, dense, DoFSMixing(), transition::Emis, EN1RYD, EVRYD, ExtraLymanLines, FillExtraLymanLine(), GetGF(), HeCollidSetup(), helike_energy(), helike_transprob(), HelikeTransProbSetup(), transition::Hi, hydro_transprob(), Singleton< T >::Inst(), ipH1s, ipH2p, ipH2s, ipH3d, ipH3p, ipH3s, ipH_LIKE, ipHe1s1S, ipHe2s3S, ipHE_LIKE, ipHELIUM, t_iso::ipLyaRedist, t_iso::ipResoRedist, t_iso::ipSubRedist, iso, iso_allocate(), iso_assign_quantum_numbers(), iso_cascade(), iso_recomb_auxiliary_free(), iso_recomb_malloc(), iso_recomb_setup(), iso_satellite(), iso_satellite_update(), iso_zero(), transition::Junk(), t_dense::lgElmtOn, t_iso::lgFSM, LIMELM, transition::Lo, N_, t_iso::n_HighestResolved_max, NISO, t_iso::nLyaLevel, t_iso::nLyman_malloc, t_iso::numLevels_max, t_iso::pestrk, PI4, pow(), POW2, RefIndex(), RYD_INF, t_iso::SmallA, SMALLFLOAT, t_iso::stat_ion, StatesElemNEW, t_iso::strkar, TauDummy, TE1RYD, TotalInsanity(), Transitions, WAVNRYD, and t_iso::xIsoLevNIonRyd.
Referenced by ContCreatePointers().
long iso_get_total_num_levels | ( | long | ipISO, | |
long | nmaxResolved, | |||
long | numCollapsed | |||
) |
iso_get_total_num_levels - get total number of levels with the given number of resolved and collapsed
ipISO | ||
nmaxResolved | ||
numCollapsed |
Definition at line 1613 of file iso_create.cpp.
References DEBUG_ENTRY, ipH_LIKE, ipHE_LIKE, and TotalInsanity().
Referenced by iso_continuum_lower(), iso_recomb_malloc(), and iso_update_num_levels().
STATIC void iso_satellite | ( | void | ) |
Definition at line 1465 of file iso_create.cpp.
References t_elementnames::chElementSym, DEBUG_ENTRY, dense, elementnames, ERG1CM, fixit(), ipCRDW, ipHE_LIKE, iso, t_dense::lgElmtOn, LIMELM, NISO, t_iso::numLevels_max, RYDLAM, SatelliteLines, StatesElemNEW, T1CM, and t_iso::xIsoLevNIonRyd.
Referenced by iso_create().
void iso_satellite_update | ( | void | ) |
iso_satellite_update - update iso satellite line information
Definition at line 1524 of file iso_create.cpp.
References abscf(), ATOMIC_MASS_UNIT, t_dense::AtomicWeight, DEBUG_ENTRY, dense, t_iso::DielecRecomb, dsexp(), t_dense::eden, ELECTRON_MASS, ERG1CM, GetGF(), HION_LTE_POP, ipHE_LIKE, iso, t_iso::lgDielRecom, t_dense::lgElmtOn, LIMELM, max(), MAX2, NISO, t_iso::numLevels_max, phycon, PI4, pow(), SatelliteLines, t_iso::SmallA, SMALLDOUBLE, SMALLFLOAT, t_iso::stat_ion, t_phycon::te32, t_phycon::te_ryd, t_dense::xIonDense, and t_iso::xIsoLevNIonRyd.
Referenced by iso_create(), and lines().
double iso_state_lifetime | ( | long | ipISO, | |
long | nelem, | |||
long | n, | |||
long | l | |||
) |
Definition at line 1198 of file iso_create.cpp.
References ASSERT, ATOMIC_MASS_UNIT, t_dense::AtomicWeight, DEBUG_ENTRY, dense, ELECTRON_MASS, FINE_STRUCTURE, H_BAR, ipHE_LIKE, M, pow(), POW2, POW4, SPEEDLIGHT, and Z.
Referenced by FillExtraLymanLine(), and SanityCheckBegin().
void iso_update_num_levels | ( | long | ipISO, | |
long | nelem | |||
) |
iso_update_num_levels - update level informations for iso sequences
ipISO | ||
nelem |
Definition at line 1636 of file iso_create.cpp.
References ASSERT, cdEXIT, DEBUG_ENTRY, ioQQQ, iso, iso_get_total_num_levels(), MAX2, max_num_levels, t_iso::n_HighestResolved_local, t_iso::n_HighestResolved_max, t_iso::nCollapsed_local, t_iso::nCollapsed_max, t_iso::numLevels_local, t_iso::numLevels_malloc, and t_iso::numLevels_max.
Referenced by InitCoreload(), InitCoreloadPostparse(), InitSimPostparse(), ParseAtomISO(), and ParseCompile().
STATIC void iso_zero | ( | void | ) |
Definition at line 438 of file iso_create.cpp.
References t_iso::ColIoniz, t_iso::ConOpacRatio, dBaseLines, DEBUG_ENTRY, dense, t_iso::DepartCoef, t_iso::DielecRecomb, ExtraLymanLines, fixit(), t_iso::gamnc, HFLines, t_hydro::HLineWidth, hydro, ipH_LIKE, ipHE_LIKE, ipHELIUM, ipHYDROGEN, ipRecEsc, ipRecNetEsc, ipRecRad, iso, iso_collapsed_Aul_update(), iso_collapsed_bnl_set(), iso_collapsed_lifetimes_update(), t_dense::lgElmtOn, LIMELM, linesAdded2, nHFLines, NISO, nLevel1, t_iso::nLyman, t_iso::numLevels_local, t_iso::numLevels_max, nUTA, nWindLine, t_iso::PopLTE, t_iso::RadRecCon, t_iso::RadRecomb, t_iso::RateCont2Level, t_iso::RateLevel2Cont, t_iso::RecomInducRate, SatelliteLines, StatesElemNEW, TauDummy, TauLine2, TauLines, t_emission::tran, Transitions, UTALines, and transition::Zero().
Referenced by iso_create().
char chL[21] = {'S','P','D','F','G','H','I','K','L','M','N','O','Q','R','T','U','V','W','X','Y','Z'} |
Definition at line 37 of file iso_create.cpp.
Referenced by iso_assign_quantum_numbers().