/home66/gary/public_html/cloudy/c08_branch/source/iso_create.cpp File Reference

#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"

Include dependency graph for iso_create.cpp:

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 double iso_state_lifetime (long ipISO, long nelem, long n, long l)
STATIC void iso_satellite (void)
void iso_create (void)
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'}


Function Documentation

STATIC void FillExtraLymanLine ( transition t,
long  ipISO,
long  nelem,
long  nHi 
)

Definition at line 1122 of file iso_create.cpp.

References abscf(), t_emission::Aul, t_emission::dampXvel, DEBUG_ENTRY, t_transition::Emis, EN1RYD, t_transition::EnergyErg, t_transition::EnergyK, t_transition::EnergyWN, t_quantumState::g, GetGF(), t_emission::gf, H_Einstein_A(), t_transition::Hi, t_quantumState::IonStg, ioQQQ, t_transition::ipCont, t_emission::ipFine, ipH_LIKE, ipHELIUM, t_iso::ipResoRedist, t_emission::iRedisFun, iso, iso_state_lifetime(), t_quantumState::lifetime, t_transition::Lo, t_quantumState::nelem, t_iso::nLyaLevel, t_emission::opacity, PI4, POW2, RefIndex(), RYD_INF, StatesElem, TE1RYD, WAVNRYD, t_transition::WLAng, and t_iso::xIsoLevNIonRyd.

Referenced by iso_create().

Here is the call graph for this function:

STATIC void iso_allocate ( void   ) 

Definition at line 565 of file iso_create.cpp.

References ASSERT, t_iso::Boltzmann, t_iso::BranchRatio, t_iso::CachedAs, t_iso::CascadeProb, DEBUG_ENTRY, dense, t_iso::DielecRecombVsTemp, ipH_LIKE, t_iso::ipOpac, iso, t_dense::lgElmtOn, MAX2, t_iso::n_HighestResolved_max, t_iso::nCollapsed_max, t_iso::nLyman, t_iso::nLyman_malloc, NUM_DR_TEMPS, t_iso::numLevels_malloc, t_iso::numLevels_max, t_iso::QuantumNumbers2Index, t_iso::RadRecomb, multi_arr< T, d, ALLOC, lgBC >::reserve(), and t_iso::strkar.

Referenced by iso_create().

Here is the call graph for this function:

STATIC void iso_assign_quantum_numbers ( void   ) 

Definition at line 843 of file iso_create.cpp.

References DEBUG_ENTRY, dense, ipH_LIKE, ipHELIUM, iso, t_dense::lgElmtOn, t_iso::n_HighestResolved_max, t_iso::QuantumNumbers2Index, and StatesElem.

Referenced by iso_create().

void iso_cascade ( long  ipISO,
long  nelem 
)

iso_cascade - calculate cascade probabilities, branching ratios, and associated errors

Parameters:
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, ipH_LIKE, 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, S_, t_iso::SigmaAtot, t_iso::SigmaCascadeProb, t_iso::SmallA, and Transitions.

void iso_collapsed_Aul_update ( long  ipISO,
long  nelem 
)

iso_collapsed_Aul_update - update decays from collapsed levels

Parameters:
ipISO 
nelem 

Definition at line 1912 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, S, StatesElem, TotalInsanity(), and Transitions.

Here is the call graph for this function:

void iso_collapsed_bnl_print ( long  ipISO,
long  nelem 
)

iso_collapsed_bnl_print - print departure coefficients for collapsed levels

Parameters:
ipISO 
nelem 

Definition at line 1866 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

Parameters:
ipISO 
nelem 

these are just sanity checks, the interpolated value should be between values at interpolation points

Definition at line 1671 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().

Here is the call graph for this function:

void iso_collapsed_lifetimes_update ( long  ipISO,
long  nelem 
)

iso_collapsed_lifetimes_update - update lifetimes of collapsed levels

Parameters:
ipISO 
nelem 

Definition at line 1959 of file iso_create.cpp.

References ASSERT, DEBUG_ENTRY, iso, t_iso::nCollapsed_max, t_iso::numLevels_max, PI4, t_iso::SmallA, SMALLFLOAT, StatesElem, and Transitions.

void iso_create ( void   ) 

iso_create create storage space data for iso sequences, 1 one time per coreload

Todo:
2 this should be changed for j-resolved levels

Definition at line 42 of file iso_create.cpp.

References AddLine2Stack(), AddState2Stack(), ASSERT, DEBUG_ENTRY, dense, t_transition::Emis, EN1RYD, EnergyRyd, EVRYD, ExtraLymanLines, FillExtraLymanLine(), helike_energy(), t_transition::Hi, Singleton< T >::Inst(), ipH_LIKE, ipHE_LIKE, iso, iso_allocate(), iso_assign_quantum_numbers(), iso_zero(), t_dense::lgElmtOn, LIMELM, t_transition::Lo, N_, NISO, t_iso::nLyman, t_iso::numLevels_max, POW2, RefIndex(), RYD_INF, t_iso::stat_ion, TauDummy, TE1RYD, TotalInsanity(), TransitionJunk(), Transitions, WAVNRYD, and t_iso::xIsoLevNIonRyd.

Referenced by ContCreatePointers().

Here is the call graph for this function:

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

Parameters:
ipISO 
nmaxResolved 
numCollapsed 

Definition at line 1614 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().

Here is the call graph for this function:

STATIC void iso_satellite ( void   ) 

Todo:
2 say where these come from

Definition at line 1466 of file iso_create.cpp.

References t_elementnames::chElementSym, DEBUG_ENTRY, dense, elementnames, ERG1CM, fixit(), ipCRDW, ipHE_LIKE, iso, t_iso::lgDielRecom, t_dense::lgElmtOn, t_iso::numLevels_max, RYDLAM, SatelliteLines, StatesElem, T1CM, TransitionZero(), and t_iso::xIsoLevNIonRyd.

Here is the call graph for this function:

void iso_satellite_update ( void   ) 

iso_satellite_update - update iso satellite line information

Definition at line 1525 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, max(), MAX2, t_iso::numLevels_max, phycon, PI4, 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 lines().

Here is the call graph for this function:

STATIC double iso_state_lifetime ( long  ipISO,
long  nelem,
long  n,
long  l 
)

Definition at line 1201 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, POW2, POW4, SPEEDLIGHT, and Z.

Referenced by FillExtraLymanLine().

void iso_update_num_levels ( long  ipISO,
long  nelem 
)

iso_update_num_levels - update level informations for iso sequences

Parameters:
ipISO 
nelem 

Definition at line 1637 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, t_iso::numLevels_max, and t_iso::numPrintLevels.

Referenced by InitCoreload(), ParseAtomISO(), and ParseCompile().

Here is the call graph for this function:

STATIC void iso_zero ( void   ) 

Definition at line 441 of file iso_create.cpp.

References t_iso::ColIoniz, t_iso::ConOpacRatio, DEBUG_ENTRY, dense, t_iso::DepartCoef, t_iso::DielecRecomb, fixit(), t_iso::gamnc, t_hydro::HLineWidth, hydro, ipH_LIKE, ipRecEsc, ipRecNetEsc, ipRecRad, iso, t_dense::lgElmtOn, t_iso::numLevels_max, t_iso::PopLTE, t_iso::RadRecomb, t_iso::RateCont2Level, t_iso::RateLevel2Cont, t_iso::RecomInducRate, and StatesElem.

Referenced by iso_create().

Here is the call graph for this function:


Variable Documentation

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 40 of file iso_create.cpp.


Generated on Mon Feb 16 12:08:38 2009 for cloudy by  doxygen 1.4.7