Cloudy
Spectral Synthesis Code for Astrophysics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
iso_create.cpp File Reference
#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 "hydro_tbl.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"
#include "save.h"
#include "rfield.h"
Include dependency graph for iso_create.cpp:

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< speciesisoSpecies (NISO)
 
int getL (char l)
 
void iso_setRedisFun (long ipISO, long nelem, long ipLo, long ipHi)
 
void iso_setOpacity (long ipISO, long nelem, long ipLo, long ipHi)
 
double hydro_energy (long nelem, long n, long l, long s, long j)
 
void iso_create ()
 
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)
 

Variables

static const 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 ( const TransitionList::iterator t,
long  ipISO,
long  nelem,
long  nHi 
)
int getL ( char  l)

References chL, and toupper().

Referenced by HeCollidSetup().

Here is the call graph for this function:

double hydro_energy ( long  nelem,
long  n,
long  l,
long  s,
long  j 
)

References ASSERT, DEBUG_ENTRY, t_iso_sp::energy_ioniz(), fprintf(), ioQQQ, ipH_LIKE, iso_sp, POW2, and QN2ind().

Referenced by iso_create(), and lines_hydro().

Here is the call graph for this function:

STATIC void iso_assign_quantum_numbers ( void  )
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

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, 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().

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

References DEBUG_ENTRY, ipH_LIKE, ipHE_LIKE, and TotalInsanity().

Referenced by iso_continuum_lower(), iso_recomb_alloc(), and iso_update_num_levels().

Here is the call graph for this function:

void iso_satellite_update ( long  nelem)
void iso_setOpacity ( long  ipISO,
long  nelem,
long  ipLo,
long  ipHi 
)

iso_setOpacity compute line opacity

Parameters
ipISOisoelectronic sequence
nelemelement index
ipLoindex to lower state
ipHiindex to upper state

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 iso_create().

Here is the call graph for this function:

void iso_setRedisFun ( long  ipISO,
long  nelem,
long  ipLo,
long  ipHi 
)

iso_setRedisFun assign the line redistribution function type

Parameters
ipISOisoelectronic sequence
nelemelement index
ipLoindex to lower state
ipHiindex to upper state

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 iso_create().

Here is the call graph for this function:

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

References ASSERT, t_dense::AtomicWeight, DEBUG_ENTRY, dense, ipHE_LIKE, pow(), POW2, pow2(), pow4(), and powi().

Referenced by FillExtraLymanLine(), and SanityCheckBegin().

Here is the call graph for this function:

void iso_update_num_levels ( long  ipISO,
long  nelem 
)
static vector<species> isoSpecies ( NISO  )
static

Referenced by iso_allocate().

Variable Documentation

const 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

Referenced by getL(), and iso_assign_quantum_numbers().