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 1104 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, POW2, RefIndex(), and t_iso_sp::st.
Referenced by iso_create().
STATIC void iso_allocate | ( | void | ) |
Definition at line 523 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 770 of file iso_create.cpp.
References ASSERT, chL, DEBUG_ENTRY, dense, t_iso_sp::IndexIfAllResolved, ipDOUBLET, ipH1s, ipH2p, ipH_LIKE, ipHE_LIKE, ipHELIUM, ipHYDROGEN, ipSINGLET, ipTRIPLET, 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 1233 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 1649 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 1697 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, 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 1595 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 1460 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 1511 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 1189 of file iso_create.cpp.
References ASSERT, t_dense::AtomicWeight, DEBUG_ENTRY, dense, ipHE_LIKE, M, 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 1618 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 481 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().