| cloudy
    trunk
    | 
#include "cddefines.h"#include "atmdat_adfa.h"#include "dense.h"#include "helike.h"#include "helike_einsta.h"#include "hydro_bauman.h"#include "hydrogenic.h"#include "hydroeinsta.h"#include "iso.h"#include "opacity.h"#include "phycon.h"#include "taulines.h"#include "mole.h"#include "freebound.h"#include "lines_service.h"#include "prt.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 (const TransitionList::iterator &t, long ipISO, long nelem, long nHi) | 
| STATIC void | iso_satellite (void) | 
| static vector< species > | isoSpecies (NISO) | 
| void | iso_setRedisFun (long ipISO, long nelem, long ipLo, long ipHi) | 
| void | iso_setOpacity (long ipISO, long nelem, long ipLo, long ipHi) | 
| 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 (long nelem) | 
| long | iso_get_total_num_levels (long ipISO, long nmaxResolved, long numCollapsed) | 
| void | iso_update_num_levels (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 | ( | const TransitionList::iterator & | t, | 
| long | ipISO, | ||
| long | nelem, | ||
| long | nHi | ||
| ) | 
Definition at line 1084 of file iso_create.cpp.
References abscf(), DEBUG_ENTRY, energy(), t_iso_sp::fb, fprintf(), GetGF(), H_Einstein_A(), ioQQQ, ipH_LIKE, ipHELIUM, t_isoCTRL::ipResoRedist, iso_ctrl, iso_sp, iso_state_lifetime(), LEVEL_INACTIVE, t_isoCTRL::nLyaLevel, pow(), POW2, RefIndex(), and t_iso_sp::st.
Referenced by iso_create().

| STATIC void iso_allocate | ( | void | ) | 
Definition at line 508 of file iso_create.cpp.
References multi_arr< T, d, ALLOC, lgBC >::alloc(), AllTransitions, AnonStates, ASSERT, t_iso_sp::BranchRatio, t_iso_sp::CachedAs, t_iso_sp::CascadeProb, t_isoCTRL::chISO, multi_arr< T, d, ALLOC, lgBC >::clone(), DEBUG_ENTRY, dense, t_iso_sp::ex, ExtraLymanLines, t_iso_sp::fb, findspecies(), molecule::index, t_iso_sp::IndexIfAllResolved, multi_arr< T, d, ALLOC, lgBC >::invalidate(), ipExtraLymanLines, ipH_LIKE, ipSatelliteLines, t_iso_sp::ipTrans, iso_ctrl, iso_get_total_num_levels(), iso_sp, isoSpecies(), t_isoCTRL::lgDielRecom, t_dense::lgElmtOn, t_iso_sp::lgPrtMatrix, LIMELM, makeChemical(), t_prt::matrix, MAX2, mole, t_iso_sp::n_HighestResolved_max, t_iso_sp::nCollapsed_max, NISO, nLine, t_isoCTRL::nLyman, t_isoCTRL::nLyman_malloc, null_mole, t_iso_sp::numLevels_local, t_iso_sp::numLevels_malloc, t_iso_sp::numLevels_max, prt, t_iso_sp::QuantumNumbers2Index, multi_arr< T, d, ALLOC, lgBC >::reserve(), SatelliteLines, t_prt_matrix::species, t_mole_local::species, t_iso_sp::st, t_iso_sp::tr, and Transitions.
Referenced by iso_create().

| STATIC void iso_assign_quantum_numbers | ( | void | ) | 
Definition at line 755 of file iso_create.cpp.
References ASSERT, chL, DEBUG_ENTRY, dense, t_iso_sp::IndexIfAllResolved, ipDOUBLET, ipH1s, ipH_LIKE, ipHE_LIKE, ipHELIUM, ipHYDROGEN, iso_sp, t_dense::lgElmtOn, LIMELM, MIN2, t_iso_sp::n_HighestResolved_max, t_iso_sp::nCollapsed_max, NISO, t_iso_sp::numLevels_max, POW2, t_iso_sp::QuantumNumbers2Index, S, t_iso_sp::st, 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 1213 of file iso_create.cpp.
References ASSERT, EmissionProxy::Aul(), t_iso_sp::BranchRatio, t_iso_sp::CascadeProb, DEBUG_ENTRY, TransitionProxy::Emis(), t_iso_sp::ex, t_iso_sp::fb, fprintf(), ioQQQ, ipH_LIKE, ipHe2p3P0, ipHe2p3P1, ipHe2p3P2, ipHE_LIKE, ipHELIUM, IPRAD, iso_ctrl, iso_sp, L_, t_opac::lgCaseB, t_isoCTRL::lgRandErrGen, MALLOC, N_, t_iso_sp::n_HighestResolved_max, t_iso_sp::nCollapsed_max, t_iso_sp::numLevels_max, opac, pow2(), S, S_, t_isoCTRL::SmallA, and t_iso_sp::trans().
Referenced by iso_collapsed_update(), and iso_create().

| void iso_collapsed_Aul_update | ( | long | ipISO, | 
| long | nelem | ||
| ) | 
iso_collapsed_Aul_update - update decays from collapsed levels
| ipISO | |
| nelem | 
Definition at line 1629 of file iso_create.cpp.
References ASSERT, EmissionProxy::Aul(), t_iso_sp::CachedAs, DEBUG_ENTRY, TransitionProxy::Emis(), ipH_LIKE, ipHE_LIKE, iso_sp, L_, t_iso_sp::n_HighestResolved_max, t_iso_sp::nCollapsed_max, t_iso_sp::numLevels_max, t_iso_sp::QuantumNumbers2Index, t_iso_sp::st, TotalInsanity(), and t_iso_sp::trans().
Referenced by iso_collapsed_update(), 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 1677 of file iso_create.cpp.
References ASSERT, EmissionProxy::Aul(), EmissionProxy::dampXvel(), DEBUG_ENTRY, TransitionProxy::Emis(), iso_ctrl, iso_sp, t_iso_sp::numLevels_max, t_isoCTRL::SmallA, SMALLFLOAT, t_iso_sp::st, and t_iso_sp::trans().
Referenced by iso_collapsed_update(), and iso_zero().

| void iso_create | ( | void | ) | 
iso_create create storage space data for iso sequences, 1 one time per coreload
Definition at line 111 of file iso_create.cpp.
References TransitionProxy::AddLine2Stack(), ASSERT, EmissionProxy::Aul(), EmissionProxy::dampXvel(), DEBUG_ENTRY, dense, DoFSMixing(), TransitionProxy::Emis(), TransitionProxy::EnergyWN(), t_iso_sp::ex, ExtraLymanLines, t_iso_sp::fb, FillExtraLymanLine(), HeCollidSetup(), helike_energy(), helike_transprob(), HelikeTransProbSetup(), hydro_transprob(), Singleton< t_ADfA >::Inst(), TransitionProxy::ipEmis(), ipExtraLymanLines, ipH1s, ipH2p, ipH2s, ipH3d, ipH3p, ipH3s, ipH_LIKE, ipHe1s1S, ipHe2s3S, ipHE_LIKE, ipHELIUM, ipHYDROGEN, iso_allocate(), iso_assign_quantum_numbers(), iso_cascade(), iso_ctrl, iso_recomb_auxiliary_free(), iso_recomb_malloc(), iso_recomb_setup(), iso_satellite(), iso_satellite_update(), iso_setOpacity(), iso_setRedisFun(), iso_sp, iso_zero(), t_dense::lgElmtOn, t_isoCTRL::lgFSM, lgHydroMalloc, LIMELM, N_, NISO, t_isoCTRL::nLyman_malloc, t_iso_sp::numLevels_max, t_ADfA::ph1(), POW2, RefIndex(), t_isoCTRL::SmallA, SMALLFLOAT, t_iso_sp::st, t_isoCTRL::stat_ion, TotalInsanity(), t_iso_sp::trans(), and TransitionProxy::WLAng().
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 1575 of file iso_create.cpp.
References DEBUG_ENTRY, ipH_LIKE, ipHE_LIKE, and TotalInsanity().
Referenced by iso_allocate(), iso_continuum_lower(), iso_recomb_malloc(), and iso_update_num_levels().

| STATIC void iso_satellite | ( | void | ) | 
Definition at line 1440 of file iso_create.cpp.
References ASSERT, DEBUG_ENTRY, dense, fixit, ipCRDW, ipHE_LIKE, ipSatelliteLines, iso_ctrl, iso_sp, t_isoCTRL::lgDielRecom, t_dense::lgElmtOn, LIMELM, NISO, t_iso_sp::numLevels_max, SatelliteLines, and t_iso_sp::st.
Referenced by iso_create().
| void iso_satellite_update | ( | long | nelem | ) | 
iso_satellite_update - update iso satellite line information
Definition at line 1491 of file iso_create.cpp.
References abscf(), t_dense::AtomicWeight, DEBUG_ENTRY, dense, dsexp(), t_dense::eden, t_iso_sp::fb, GetGF(), ipHE_LIKE, ipSatelliteLines, iso_ctrl, iso_sp, t_isoCTRL::lgDielRecom, t_dense::lgElmtOn, max(), MIN2, NISO, t_iso_sp::numLevels_max, phycon, powpq(), SatelliteLines, t_isoCTRL::SmallA, SMALLDOUBLE, SMALLFLOAT, t_isoCTRL::stat_ion, t_phycon::te32, t_phycon::te_ryd, and t_dense::xIonDense.
Referenced by ion_solver(), iso_create(), and lines().

| void iso_setOpacity | ( | long | ipISO, | 
| long | nelem, | ||
| long | ipLo, | ||
| long | ipHi | ||
| ) | 
iso_setOpacity compute line opacity
| ipISO | isoelectronic sequence | 
| nelem | element index | 
| ipLo | index to lower state | 
| ipHi | index to upper state | 
Definition at line 82 of file iso_create.cpp.
References abscf(), ASSERT, TransitionProxy::Emis(), TransitionProxy::EnergyWN(), GetGF(), EmissionProxy::gf(), iso_ctrl, iso_sp, EmissionProxy::opacity(), t_isoCTRL::SmallA, and t_iso_sp::trans().
Referenced by DoFSMixing(), and iso_create().

| void iso_setRedisFun | ( | long | ipISO, | 
| long | nelem, | ||
| long | ipLo, | ||
| long | ipHi | ||
| ) | 
iso_setRedisFun assign the line redistribution function type
| ipISO | isoelectronic sequence | 
| nelem | element index | 
| ipLo | index to lower state | 
| ipHi | index to upper state | 
Definition at line 48 of file iso_create.cpp.
References TransitionProxy::Emis(), ipH_LIKE, ipHYDROGEN, ipLY_A, t_isoCTRL::ipLyaRedist, t_isoCTRL::ipResoRedist, t_isoCTRL::ipSubRedist, EmissionProxy::iRedisFun(), iso_ctrl, iso_sp, t_isoCTRL::nLyaLevel, and t_iso_sp::trans().
Referenced by DoFSMixing(), and iso_create().

| double iso_state_lifetime | ( | long | ipISO, | 
| long | nelem, | ||
| long | n, | ||
| long | l | ||
| ) | 
Definition at line 1169 of file iso_create.cpp.
References ASSERT, t_dense::AtomicWeight, DEBUG_ENTRY, dense, ipHE_LIKE, M, pow(), POW2, pow2(), pow4(), and powi().
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 1598 of file iso_create.cpp.
References ASSERT, cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, fprintf(), ioQQQ, iso_get_total_num_levels(), iso_sp, MAX2, max_num_levels, t_iso_sp::n_HighestResolved_local, t_iso_sp::n_HighestResolved_max, t_iso_sp::nCollapsed_local, t_iso_sp::nCollapsed_max, t_iso_sp::numLevels_local, and t_iso_sp::numLevels_max.
Referenced by InitCoreload(), InitCoreloadPostparse(), InitSimPostparse(), ParseCompile(), and ParseDatabaseISO().

| STATIC void iso_zero | ( | void | ) | 
Definition at line 466 of file iso_create.cpp.
References DEBUG_ENTRY, dense, t_iso_sp::fb, t_hydro::HLineWidth, hydro, ipH_LIKE, ipHE_LIKE, ipHELIUM, ipHYDROGEN, iso_collapsed_Aul_update(), iso_collapsed_lifetimes_update(), iso_sp, t_dense::lgElmtOn, LIMELM, NISO, t_iso_sp::numLevels_max, t_iso_sp::st, and t_dense::xIonDense.
Referenced by iso_create().

Referenced by iso_allocate().
Definition at line 37 of file iso_create.cpp.
Referenced by iso_assign_quantum_numbers().
 1.8.5
 1.8.5