cloudy  trunk
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Data Structures | Macros | Enumerations | Functions | Variables
iso.h File Reference
#include "module.h"
#include "transition.h"
#include "container_classes.h"
Include dependency graph for iso.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  t_isoCTRL
 
class  extra_tr
 
class  t_iso_sp
 

Macros

#define KILL_BELOW_PLASMA(E_)   ( (rfield.lgPlasNu && ((E_)<rfield.plsfrq) ) ? 0.:1. )
 
#define N_(A_)   (iso_sp[ipISO][nelem].st[A_].n())
 
#define L_(A_)   (iso_sp[ipISO][nelem].st[A_].l())
 
#define S_(A_)   (iso_sp[ipISO][nelem].st[A_].S())
 
#define J_(A_)   (iso_sp[ipISO][nelem].st[A_].j())
 
#define IPRAD   0
 
#define IPCOLLIS   1
 
#define RREC_MAXN   40
 
#define LIKE_RREC_MAXN(A_)   ( A_ == ipHELIUM ? 40 : 20 )
 
#define N_ISO_TE_RECOMB   41
 
#define SumUpToThisN   1000
 
#define RECOMBMAGIC   (130216)
 

Enumerations

enum  {
  ipSINGLET = 1, ipDOUBLET = 2, ipTRIPLET = 3, ipMULTIPLET_END,
  ipMULTIPLET_BEGIN =ipSINGLET
}
 

Functions

void iso_cascade (long ipISO, long nelem)
 
void iso_charge_transfer_update (long nelem)
 
void iso_collapsed_Aul_update (long ipISO, long nelem)
 
void iso_collapsed_lifetimes_update (long ipISO, long nelem)
 
void iso_collide (long ipISO, long nelem)
 
void iso_collisional_ionization (long ipISO, long nelem)
 
void iso_continuum_lower (long ipISO, long nelem)
 
void iso_cool (long ipISO, long nelem)
 
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_cross_section (double ERyd, double EthRyd, long n, long l, long S, long globalZ, long globalISO)
 
void iso_departure_coefficients (long ipISO, long nelem)
 
double iso_dielec_recomb_rate (long ipISO, long nelem, long ipLo)
 
void iso_error_generation (long ipISO, long nelem)
 
long iso_get_total_num_levels (long ipISO, long nmaxResolved, long numCollapsed)
 
void IonHydro ()
 
void iso_ionize_recombine (long ipISO, long nelem)
 
void iso_level (const long ipISO, const long nelem, double &renorm, bool lgPrtMatrix)
 
void iso_photo (long ipISO, long nelem)
 
void iso_prt_pops (long ipISO, long nelem, bool lgPrtDeparCoef)
 
void iso_put_error (long ipISO, long nelem, long ipHi, long ipLo, long whichData, realnum errorOpt, realnum errorPess)
 
void iso_radiative_recomb (long ipISO, long nelem)
 
void iso_radiative_recomb_effective (long ipISO, long nelem)
 
double iso_recomb_check (long ipISO, long nelem, long level, double temperature)
 
void iso_recomb_auxiliary_free (void)
 
void iso_recomb_malloc (void)
 
void iso_recomb_setup (long ipISO)
 
double iso_RRCoef_Te (long ipISO, long nelem, double temp, long n)
 
void iso_satellite_update (long nelem)
 
double iso_state_lifetime (long ipISO, long nelem, long n, long l)
 
void iso_solve (long ipISO, long nelem, double &maxerr)
 
void iso_suprathermal (long ipISO, long nelem)
 
void iso_update_num_levels (long ipISO, long nelem)
 
void iso_update_rates (void)
 
void iso_collapsed_update (void)
 
void iso_set_ion_rates (long ipISO, long nelem)
 
void iso_renorm (long nelem, long ipISO, double &renorm)
 
void iso_multiplet_opacities (void)
 
string iso_comment_tran_levels (long ipISO, long nelem, long ipLo, long ipHi)
 

Variables

long int max_num_levels
 
const int ipH1s = 0
 
const int ipH2s = 1
 
const int ipH2p = 2
 
const int ipH3s = 3
 
const int ipH3p = 4
 
const int ipH3d = 5
 
const int ipH4s = 6
 
const int ipH4p = 7
 
const int ipH4d = 8
 
const int ipH4f = 9
 
const int ipHe1s1S = 0
 
const int ipHe2s3S = 1
 
const int ipHe2s1S = 2
 
const int ipHe2p3P0 = 3
 
const int ipHe2p3P1 = 4
 
const int ipHe2p3P2 = 5
 
const int ipHe2p1P = 6
 
const int ipHe3s3S = 7
 
const int ipHe3s1S = 8
 
const int ipHe3p3P = 9
 
const int ipHe3d3D = 10
 
const int ipHe3d1D = 11
 
const int ipHe3p1P = 12
 
const int ipH_LIKE = 0
 
const int ipHE_LIKE = 1
 
const int ipLI_LIKE = 2
 
const int ipBE_LIKE = 3
 
const int ipB_LIKE = 4
 
const int ipC_LIKE = 5
 
const int ipN_LIKE = 6
 
const int ipO_LIKE = 7
 
const int ipF_LIKE = 8
 
const int ipNE_LIKE = 9
 
const int ipNA_LIKE = 10
 
const int ipMG_LIKE = 11
 
const int ipAL_LIKE = 12
 
const int ipSI_LIKE = 13
 
const int ipP_LIKE = 14
 
const int ipS_LIKE = 15
 
const int ipCL_LIKE = 16
 
const int ipAR_LIKE = 17
 
t_isoCTRL iso_ctrl
 
t_iso_sp iso_sp [NISO][LIMELM]
 

Detailed Description

Definition in file iso.h.

Macro Definition Documentation

#define IPCOLLIS   1

Definition at line 89 of file iso.h.

Referenced by iso_collide(), iso_collisional_ionization(), and iso_level().

#define IPRAD   0
#define J_ (   A_)    (iso_sp[ipISO][nelem].st[A_].j())

Definition at line 25 of file iso.h.

Referenced by DGER(), DGETF2(), DGETRF(), DTRSM(), helike_energy(), and helike_transprob().

#define KILL_BELOW_PLASMA (   E_)    ( (rfield.lgPlasNu && ((E_)<rfield.plsfrq) ) ? 0.:1. )

This macro is used to zero any radiative process with photon energy below the plasma frequency. The energy must be in Rydbergs!

Definition at line 19 of file iso.h.

#define L_ (   A_)    (iso_sp[ipISO][nelem].st[A_].l())
#define LIKE_RREC_MAXN (   A_)    ( A_ == ipHELIUM ? 40 : 20 )

Ions of the sequences will go up to this n, h-like He will get same as iso roots.

Definition at line 100 of file iso.h.

Referenced by iso_recomb_malloc(), iso_recomb_setup(), and ParseCompile().

#define N_ (   A_)    (iso_sp[ipISO][nelem].st[A_].n())
#define N_ISO_TE_RECOMB   41

Definition at line 102 of file iso.h.

Referenced by iso_recomb_malloc(), iso_recomb_setup(), and iso_RRCoef_Te().

#define RECOMBMAGIC   (130216)

the magic number for the table of recombination coefficients, YYMMDD

Definition at line 108 of file iso.h.

Referenced by iso_recomb_setup().

#define RREC_MAXN   40

this is the number of levels used with the atom xx-like levels large command

Definition at line 97 of file iso.h.

Referenced by iso_recomb_malloc(), iso_recomb_setup(), ParseCompile(), and ParseDatabaseISO().

#define S_ (   A_)    (iso_sp[ipISO][nelem].st[A_].S())
#define SumUpToThisN   1000

This is the n to go up to when calculating total recombination. Any change here will not be reflected in total recomb until "compile xxlike" is run

Definition at line 106 of file iso.h.

Referenced by iso_radiative_recomb(), and iso_recomb_setup().

Enumeration Type Documentation

anonymous enum
Enumerator
ipSINGLET 
ipDOUBLET 
ipTRIPLET 
ipMULTIPLET_END 
ipMULTIPLET_BEGIN 

Definition at line 83 of file iso.h.

Function Documentation

void IonHydro ( )
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 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().

Here is the call graph for this function:

void iso_charge_transfer_update ( long  nelem)

iso_charge_transfer_update - update rate coefficients for CT of H and He with everything else

Definition at line 18 of file iso_ionize_recombine.cpp.

References atmdat, t_atmdat::CharExcIonOf, t_atmdat::CharExcIonTotal, t_atmdat::CharExcRecTo, t_atmdat::CharExcRecTotal, DEBUG_ENTRY, dense, ipHYDROGEN, iso_sp, LIMELM, t_atmdat::NCX, t_iso_sp::st, and t_dense::xIonDense.

Referenced by ion_solver().

void iso_collapsed_Aul_update ( long  ipISO,
long  nelem 
)

iso_collapsed_Aul_update - update decays from collapsed levels

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

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

Here is the call graph for this function:

void iso_collapsed_update ( void  )
void iso_collide ( long  ipISO,
long  nelem 
)
void iso_collisional_ionization ( long  ipISO,
long  nelem 
)
iso_collisional_ionization - calculate collisional ionization rate for ipISO, nelem  
Parameters
ipISO
nelem

Definition at line 44 of file iso_collide.cpp.

References ASSERT, t_ADfA::coll_ion_wrapper(), DEBUG_ENTRY, t_iso_sp::fb, Hion_coll_ioniz_ratecoef(), hydro_vs_ioniz(), Singleton< t_ADfA >::Inst(), IPCOLLIS, iso_ctrl, iso_put_error(), iso_sp, t_isoCTRL::lgColl_ionize, t_iso_sp::lgLevelsLowered, t_isoCTRL::lgTopoff, N_, NISO, t_iso_sp::numLevels_max, phycon, and t_phycon::te.

Referenced by iso_collide().

Here is the call graph for this function:

string iso_comment_tran_levels ( long  ipISO,
long  nelem,
long  ipLo,
long  ipHi 
)

Definition at line 117 of file prt_lines_hydro.cpp.

References db_comment_tran_levels(), GenerateTransitionConfiguration(), ipHE_LIKE, and iso_sp.

Referenced by lines_helium(), and lines_hydro().

Here is the call graph for this function:

void iso_continuum_lower ( long  ipISO,
long  nelem 
)
void iso_cool ( long  ipISO,
long  nelem 
)

iso_cool compute net heating/cooling due to hydrogenc atom species

Parameters
ipISOthe isoelectronic sequence, 0 for H
nelemis element, so 0 for H itself

Referenced by CoolEvaluate().

void iso_create ( void  )
double iso_cross_section ( double  ERyd,
double  EthRyd,
long  n,
long  l,
long  S,
long  globalZ,
long  globalISO 
)

iso_cross_section get cross section for a particular level of an iso sequence ion

Parameters
ERyd
EthRyd
n
l
S
Z
ipISO

Definition at line 129 of file iso_radiative_recomb.cpp.

References cross_section(), DEBUG_ENTRY, H_cross_section(), He_cross_section(), ipH_LIKE, ipHE_LIKE, and TotalInsanity().

Referenced by iso_recomb_integrand().

Here is the call graph for this function:

void iso_departure_coefficients ( long  ipISO,
long  nelem 
)

iso_departure_coefficients - calculate departure coefficients

Parameters
ipISO
nelem

Definition at line 401 of file iso_solve.cpp.

References DEBUG_ENTRY, dense, t_dense::eden, t_iso_sp::fb, iso_sp, t_iso_sp::numLevels_local, t_iso_sp::numLevels_max, safe_div(), SMALLFLOAT, t_iso_sp::st, and t_dense::xIonDense.

Referenced by ion_solver().

Here is the call graph for this function:

double iso_dielec_recomb_rate ( long  ipISO,
long  nelem,
long  ipLo 
)

iso_dielec_recomb_rate - get state-specific dielectronic recombination rate

Parameters
ipISO
nelem
ipLo

Definition at line 1152 of file iso_radiative_recomb.cpp.

References t_phycon::alogte, ASSERT, DEBUG_ENTRY, freeBound::DielecRecombVsTemp, exp10(), t_iso_sp::fb, hunt_bisect(), ipHe1s1S, ipHE_LIKE, iso_ctrl, iso_sp, t_isoCTRL::lgDielRecom, NUM_DR_TEMPS, and phycon.

Referenced by iso_radiative_recomb().

Here is the call graph for this function:

void iso_error_generation ( long  ipISO,
long  nelem 
)

iso_error_generation generate gaussian errors

Parameters
ipISO
nelem

Definition at line 39 of file iso_error.cpp.

References ASSERT, DEBUG_ENTRY, t_iso_sp::ex, iso_sp, t_iso_sp::lgErrGenDone, MyGaussRand(), and t_iso_sp::numLevels_max.

Referenced by iso_update_rates().

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

Here is the call graph for this function:

void iso_ionize_recombine ( long  ipISO,
long  nelem 
)

iso_ionize_recombine evaluate state specific creation and destruction processes

Parameters
ipISO
nelem

Referenced by iso_update_rates().

void iso_level ( const long  ipISO,
const long  nelem,
double &  renorm,
bool  lgPrtMatrix 
)

iso_level solve for iso-sequence ionization balance

Parameters
ipISOiso-sequence index
nelemelement index
renormrenormalization parameter
lgPrtMatrixboolean to print the matrix to be solved

Referenced by iso_solve().

void iso_multiplet_opacities ( void  )

update multiplet opacities

Definition at line 756 of file iso_level.cpp.

References dense, t_dense::IonHigh, t_dense::IonLow, ipH_LIKE, ipHYDROGEN, iso_multiplet_opacities_one(), t_dense::lgElmtOn, LIMELM, and NISO.

Referenced by ConvBase().

Here is the call graph for this function:

void iso_photo ( long  ipISO,
long  nelem 
)

iso_photo do photoionization rates for element nelem on the ipISO isoelectronic sequence

Parameters
ipISO
nelem

Referenced by iso_update_rates().

void iso_prt_pops ( long  ipISO,
long  nelem,
bool  lgPrtDeparCoef 
)

iso_prt_pops routine to print level pops or departure coefficients for iso sequences

Parameters
ipISO
nelem
lgPrtDeparCoef

Definition at line 425 of file iso_solve.cpp.

References ASSERT, t_elementnames::chElementSym, t_isoCTRL::chISO, DEBUG_ENTRY, elementnames, fprintf(), ioQQQ, ipH_LIKE, ipHe2p3P0, ipHe2p3P1, ipHe2p3P2, ipHE_LIKE, iso_ctrl, iso_sp, ITEM_TO_PRINT, t_iso_sp::nCollapsed_local, NISO, t_iso_sp::numLevels_local, t_iso_sp::QuantumNumbers2Index, and t_iso_sp::st.

Referenced by PrtZone().

Here is the call graph for this function:

void iso_put_error ( long  ipISO,
long  nelem,
long  ipHi,
long  ipLo,
long  whichData,
realnum  errorOpt,
realnum  errorPess 
)

iso_put_error put an error bar on a piece of data, to be used with Gaussian random noise gen

Parameters
ipISO
nelem
ipHi
ipLo
whichData
errorOpt
errorPess

Referenced by ForbiddenAuls(), helike_transprob(), hydro_transprob(), iso_collide(), iso_collisional_ionization(), iso_put_recomb_error(), and iso_radiative_recomb().

void iso_radiative_recomb ( long  ipISO,
long  nelem 
)

iso_radiative_recomb - get rad recomb rate coefficients for iso sequences.

Parameters
ipISO
nelem

Definition at line 146 of file iso_radiative_recomb.cpp.

References ASSERT, cdEXIT, t_elementnames::chElementSym, t_isoCTRL::chISO, conv, cosmology, DEBUG_ENTRY, dense, t_ionbal::DR_Badnell_rate_coef, t_ionbal::DR_Badnell_suppress_fact, t_dense::eden, elementnames, EXIT_FAILURE, t_iso_sp::fb, fp_equal(), fprintf(), t_ADfA::H_rad_rec(), t_iso_sp::HighestLevelOpacStack, Singleton< t_ADfA >::Inst(), ionbal, ioQQQ, t_save::ioRecom, ipH1s, ipHE_LIKE, ipHELIUM, t_trace::ipIsoTrace, IPRAD, ipRecEsc, ipRecNetEsc, ipRecRad, iso_ctrl, iso_dielec_recomb_rate(), iso_put_error(), iso_put_recomb_error(), iso_radrecomb_from_cross_section(), iso_RRCoef_Te(), iso_sp, t_opac::lgCaseB, t_isoCTRL::lgDielRecom, t_cosmology::lgDo, t_trace::lgHBug, t_trace::lgHeBug, t_save::lgioRecom, t_trace::lgIsoTraceFull, t_iso_sp::lgLevelsLowered, t_iso_sp::lgMustReeval, t_isoCTRL::lgNoRecombInterp, t_isoCTRL::lgRandErrGen, t_isoCTRL::lgTopoff, t_trace::lgTrace, LIMELM, MAX2, MIN2, N_, t_iso_sp::n_HighestResolved_local, t_iso_sp::nCollapsed_local, t_iso_sp::nCollapsed_max, NHYDRO_MAX_LEVEL, NISO, t_conv::nTotalIoniz, t_iso_sp::numLevels_local, t_iso_sp::numLevels_max, opac, t_opac::OpacStack, phycon, PrintEfmt, t_iso_sp::RadRec_caseB, t_iso_sp::RadRec_effec, Recomb_Seaton59(), RT_recom_effic(), save, ShowMe(), SumUpToThisN, t_opac::TauAbsGeo, t_phycon::te, and trace.

Referenced by iso_update_rates().

Here is the call graph for this function:

void iso_radiative_recomb_effective ( long  ipISO,
long  nelem 
)

iso_radiative_recomb_effective - get effective recomb rate coefficients into each level (including indirect)

Parameters
ipISO
nelem

Definition at line 616 of file iso_radiative_recomb.cpp.

References ASSERT, t_iso_sp::BranchRatio, t_iso_sp::CascadeProb, DEBUG_ENTRY, dprintf(), t_iso_sp::fb, fprintf(), ioQQQ, IPRAD, ipRecRad, iso_ctrl, iso_sp, L_, t_isoCTRL::lgRandErrGen, MAX2, N_, t_iso_sp::numLevels_local, phycon, pow2(), prt_wl(), S_, t_phycon::te, and wavelength.

Referenced by iso_update_rates().

Here is the call graph for this function:

void iso_recomb_auxiliary_free ( void  )

iso_recomb_auxiliary_free - free up some auxiliary space associated with iso recombination tables.

Definition at line 829 of file iso_radiative_recomb.cpp.

References DEBUG_ENTRY, NISO, and NumLevRecomb.

Referenced by iso_create().

double iso_recomb_check ( long  ipISO,
long  nelem,
long  level,
double  temperature 
)

iso_recomb_check - called by SanityCheck to confirm that recombination coef are ok, return value is relative error between new calculation of recom, and interp value

Parameters
ipISO
nelemthe chemical element, 1 for He
levelthe level, 0 for ground
temperaturethe temperature to be used

Definition at line 748 of file iso_radiative_recomb.cpp.

References DEBUG_ENTRY, iso_radrecomb_from_cross_section(), iso_RRCoef_Te(), and MAX2.

Referenced by SanityCheckBegin().

Here is the call graph for this function:

void iso_recomb_malloc ( void  )

iso_recomb_malloc - malloc space needed for iso recombination tables.

Definition at line 769 of file iso_radiative_recomb.cpp.

References DEBUG_ENTRY, dense, iso_get_total_num_levels(), iso_sp, t_dense::lgElmtOn, LIKE_RREC_MAXN, LIMELM, MALLOC, MAX2, N_ISO_TE_RECOMB, NISO, NumLevRecomb, RRCoef, RREC_MAXN, TeRRCoef, and TotalRecomb.

Referenced by iso_create().

Here is the call graph for this function:

void iso_recomb_setup ( long  ipISO)
void iso_renorm ( long  nelem,
long  ipISO,
double &  renorm 
)
double iso_RRCoef_Te ( long  ipISO,
long  nelem,
double  temp,
long  n 
)
iso_RRCoef_Te - interpolate iso recomb coeff as function of temperature
Parameters
ipISO
nelem
temp- the electron temperature
n

Definition at line 722 of file iso_radiative_recomb.cpp.

References ASSERT, DEBUG_ENTRY, exp10(), iso_ctrl, iso_sp, t_isoCTRL::lgNoRecombInterp, N_ISO_TE_RECOMB, RRCoef, TempInterp(), TeRRCoef, and TotalRecomb.

Referenced by iso_radiative_recomb(), and iso_recomb_check().

Here is the call graph for this function:

void iso_satellite_update ( long  nelem)
void iso_set_ion_rates ( long  ipISO,
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

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

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

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

Here is the call graph for this function:

void iso_solve ( long  ipISO,
long  nelem,
double &  maxerr 
)
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().

Here is the call graph for this function:

void iso_suprathermal ( long  ipISO,
long  nelem 
)

iso_suprathermal - calculate secondary excitation by suprathermal electrons for iso sequences

Parameters
ipISO
nelem

Definition at line 106 of file iso_collide.cpp.

References ASSERT, TransitionProxy::Coll(), DEBUG_ENTRY, TransitionProxy::Emis(), TransitionProxy::EnergyWN(), EmissionProxy::gf(), TransitionProxy::ipCont(), ipH2p, ipH_LIKE, ipHYDROGEN, iso_ctrl, iso_sp, t_isoCTRL::lgColl_excite, LIMELM, NISO, t_iso_sp::numLevels_max, CollisionProxy::rate_lu_nontherm_set(), secondaries, t_iso_sp::trans(), and t_secondaries::x12tot.

Referenced by iso_collide().

Here is the call graph for this function:

void iso_update_num_levels ( long  ipISO,
long  nelem 
)
void iso_update_rates ( void  )

Variable Documentation

const int ipAL_LIKE = 12

Definition at line 76 of file iso.h.

Referenced by read_UTA_lines().

const int ipAR_LIKE = 17

Definition at line 81 of file iso.h.

const int ipB_LIKE = 4

Definition at line 68 of file iso.h.

const int ipBE_LIKE = 3

Definition at line 67 of file iso.h.

const int ipC_LIKE = 5

Definition at line 69 of file iso.h.

const int ipCL_LIKE = 16

Definition at line 80 of file iso.h.

const int ipF_LIKE = 8

Definition at line 72 of file iso.h.

const int ipH1s = 0
const int ipH2p = 2
const int ipH2s = 1
const int ipH3d = 5

Definition at line 34 of file iso.h.

Referenced by iso_create(), lines_continuum(), OpacityAddTotal(), and RT_tau_init().

const int ipH3p = 4
const int ipH3s = 3

Definition at line 32 of file iso.h.

Referenced by iso_create(), lines_continuum(), lines_hydro(), OpacityAddTotal(), PrtAllTau(), and RT_tau_init().

const int ipH4d = 8

Definition at line 37 of file iso.h.

Referenced by OpacityAddTotal().

const int ipH4f = 9

Definition at line 38 of file iso.h.

Referenced by OpacityAddTotal().

const int ipH4p = 7

Definition at line 36 of file iso.h.

Referenced by lines_hydro(), OpacityAddTotal(), and PrtAllTau().

const int ipH4s = 6

Definition at line 35 of file iso.h.

Referenced by lines_hydro(), OpacityAddTotal(), and PrtAllTau().

const int ipH_LIKE = 0

these are array indices for isoelectronic sequences, same as element but used for array addressing to make context totally clear

Definition at line 64 of file iso.h.

Referenced by atmdat_2phot_shapefunction(), Badnell_rec_init(), t_gaunt::brems_sum_ions(), cdTemp(), ChargTranSumHeat(), chkCaHeps(), clean_up(), collectSkipTrans(), ContCreatePointers(), ContRate(), ContSetIntensity(), ConvBase(), ConvIterCheck(), CoolEvaluate(), CoolHyperfine(), CS_l_mixing(), CS_PercivalRichards78(), dBase_solve(), DynaCreateArrays(), DynaIonize(), DynaNewStep(), DynaSaveLast(), DynaStartZone(), eden_sum(), FillExtraLymanLine(), GetHlikeCollisionStrength(), GrainRateDr(), GrainTemperature(), H21_cm_pops(), t_ADfA::h_coll_str(), HeatSum(), HlikeCSInterp(), hydro_transprob(), hydro_transprob_collapsed_to_resolved(), HydroCSInterp(), HydroRecCool(), diatomics::init(), InitCoreload(), InitCoreloadPostparse(), InitDefaultsPreparse(), InitSimPostparse(), ion_photo(), ion_recomb(), ion_solver(), IonHelium(), IonHydro(), iso_allocate(), iso_assign_quantum_numbers(), iso_cascade(), iso_collapsed_Aul_update(), iso_collapsed_update(), iso_create(), iso_cross_section(), iso_get_collision_strength_collapsed_to_collapsed_fast(), iso_get_collision_strength_resolved(), iso_get_total_num_levels(), iso_ionize_recombine(), iso_level(), iso_multiplet_opacities(), iso_prt_pops(), iso_rad_rec_cooling_approx(), iso_rad_rec_cooling_extra(), iso_radrecomb_from_cross_section(), iso_setRedisFun(), iso_suprathermal(), iso_update_rates(), iso_zero(), IterRestart(), IterStart(), lgCheckMonitors(), lgTrivialSolution(), lines(), lines_continuum(), lines_general(), lines_helium(), lines_hydro(), lines_iron_Ka(), mole_h_rate_diagnostics(), my_Integrand_VF01_E< P >::my_Integrand_VF01_E(), Opacity_iso_photo_cs(), OpacityAddTotal(), OpacityCreateAll(), ParseCompile(), ParseDatabase(), ParseDatabaseISO(), ParseDont(), ParseElement(), ParseMonitorResults(), ParsePrint(), ParseTest(), ParseTrace(), PresTotCurrent(), PrtAllTau(), PrtComment(), PrtFinal(), PrtHeader(), PrtHydroTrace1(), prtmet(), PrtZone(), radius_first(), radius_increment(), radius_next(), RT_continuum(), RT_DestProb(), RT_diffuse(), RT_iso_integrate_RRC(), RT_line_all(), RT_line_all_escape(), RT_line_driving(), RT_line_pumping(), RT_OTS(), RT_OTS_Update(), RT_stark(), RT_tau_inc(), RT_tau_init(), RT_tau_reset(), SanityCheckBegin(), save_opacity(), SaveDo(), SaveLineData(), SaveLineStuff(), SaveSpecial(), SecIoniz(), setXtraRatesCa2(), setXtraRatesFe2(), setXtraRatesO1(), state_get_put(), t_mesh::ValidateEdges(), t_dynamics::zero(), and t_isoCTRL::zero().

const int ipHe1s1S = 0
const int ipHe2p1P = 6

Definition at line 51 of file iso.h.

Referenced by ForbiddenAuls(), PrtAllTau(), PrtZone(), RT_tau_init(), RT_tau_reset(), SaveDo(), and t_isoCTRL::zero().

const int ipHe2p3P0 = 3
const int ipHe2p3P1 = 4

Definition at line 49 of file iso.h.

Referenced by AGN_He1_CS(), ForbiddenAuls(), iso_cascade(), iso_prt_pops(), lines_helium(), PrtZone(), and SaveDo().

const int ipHe2p3P2 = 5
const int ipHe2s1S = 2

Definition at line 47 of file iso.h.

Referenced by ForbiddenAuls(), lines_helium(), PrtAllTau(), and PrtZone().

const int ipHe2s3S = 1
const int ipHe3d1D = 11

Definition at line 58 of file iso.h.

Referenced by AGN_He1_CS(), and PrtZone().

const int ipHe3d3D = 10

Definition at line 57 of file iso.h.

Referenced by AGN_He1_CS(), lines_helium(), PrtAllTau(), and PrtZone().

const int ipHe3p1P = 12

Definition at line 59 of file iso.h.

Referenced by ForbiddenAuls(), PrtAllTau(), and PrtZone().

const int ipHe3p3P = 9

Definition at line 56 of file iso.h.

Referenced by AGN_He1_CS(), ForbiddenAuls(), lines_helium(), PrtAllTau(), and PrtZone().

const int ipHe3s1S = 8

Definition at line 55 of file iso.h.

Referenced by ForbiddenAuls(), and PrtZone().

const int ipHe3s3S = 7

Definition at line 54 of file iso.h.

Referenced by AGN_He1_CS(), ForbiddenAuls(), lines_helium(), and PrtZone().

const int ipHE_LIKE = 1

Definition at line 65 of file iso.h.

Referenced by atmdat_2phot_shapefunction(), Badnell_rec_init(), cdColm(), ContCreatePointers(), ContSetIntensity(), ConvIterCheck(), cross_section(), CS_l_mixing_PS64(), CS_l_mixing_PS64_expI(), CS_PercivalRichards78(), DoFSMixing(), DoSatelliteLines(), ForbiddenAuls(), GetHelikeCollisionStrength(), GetStandardHeLines(), he_1trans(), He_cross_section(), HeCollidSetup(), HeCSInterp(), HeCSTableInterp(), helike_energy(), helike_quantum_defect(), helike_transprob(), helike_transprob_collapsed_to_resolved(), InitCoreload(), IonHelium(), iso_assign_quantum_numbers(), iso_cascade(), iso_collapsed_Aul_update(), iso_comment_tran_levels(), iso_create(), iso_cross_section(), iso_dielec_recomb_rate(), iso_get_collision_strength_collapsed_to_collapsed_fast(), iso_get_collision_strength_collapsed_to_resolved(), iso_get_collision_strength_resolved(), iso_get_total_num_levels(), iso_level(), iso_prt_pops(), iso_put_recomb_error(), iso_radiative_recomb(), iso_radrecomb_from_cross_section(), iso_satellite(), iso_satellite_update(), iso_set_ion_rates(), iso_state_lifetime(), iso_update_rates(), iso_zero(), lgCheckMonitors(), lines(), lines_general(), lines_helium(), mole_h_reactions(), my_Integrand_VF01_E< P >::my_Integrand_VF01_E(), Opacity_iso_photo_cs(), OpacityAddTotal(), OpacityCreateAll(), ParseCompile(), ParseDatabase(), ParseDatabaseISO(), ParseDont(), ParseElement(), ParseMonitorResults(), ParsePrint(), ParseTrace(), PresTotCurrent(), PrtAllTau(), PrtComment(), PrtFinal(), PrtZone(), RT_diffuse(), RT_line_all(), RT_line_driving(), RT_tau_init(), RT_tau_reset(), SanityCheckBegin(), save_opacity(), SaveDo(), SaveLineData(), SecIoniz(), t_mesh::ValidateEdges(), and t_isoCTRL::zero().

const int ipLI_LIKE = 2

Definition at line 66 of file iso.h.

Referenced by read_UTA_lines().

const int ipMG_LIKE = 11

Definition at line 75 of file iso.h.

Referenced by read_UTA_lines().

const int ipN_LIKE = 6

Definition at line 70 of file iso.h.

const int ipNA_LIKE = 10

Definition at line 74 of file iso.h.

Referenced by read_UTA_lines().

const int ipNE_LIKE = 9

Definition at line 73 of file iso.h.

const int ipO_LIKE = 7

Definition at line 71 of file iso.h.

const int ipP_LIKE = 14

Definition at line 78 of file iso.h.

const int ipS_LIKE = 15

Definition at line 79 of file iso.h.

const int ipSI_LIKE = 13

Definition at line 77 of file iso.h.

t_isoCTRL iso_ctrl

Definition at line 9 of file iso.cpp.

Referenced by collectSkipTrans(), collision_strength_VF01(), ContCreatePointers(), ContSetIntensity(), ConvIterCheck(), CS_l_mixing(), CS_l_mixing_PS64(), CS_l_mixing_PS64_expI(), CS_l_mixing_S62(), CS_ThermAve_PR78(), CS_VS80(), CSIntegral_Romberg(), CSIntegral_Romberg_alpha(), DoSatelliteLines(), FillExtraLymanLine(), ForbiddenAuls(), GetHelikeCollisionStrength(), GetHlikeCollisionStrength(), he_1trans(), HeCSInterp(), InitCoreload(), InitCoreloadPostparse(), InitSimPostparse(), iso_allocate(), iso_cascade(), iso_collapsed_lifetimes_update(), iso_collide(), iso_collisional_ionization(), iso_continuum_lower(), iso_cool(), iso_create(), iso_dielec_recomb_rate(), iso_get_collision_strength(), iso_get_collision_strength_collapsed_to_collapsed_fast(), iso_get_collision_strength_collapsed_to_resolved(), iso_ionize_recombine(), iso_level(), iso_prt_pops(), iso_put_error(), iso_rad_rec_cooling_discrete(), iso_radiative_recomb(), iso_radiative_recomb_effective(), iso_recomb_setup(), iso_renorm(), iso_RRCoef_Te(), iso_satellite(), iso_satellite_update(), iso_setOpacity(), iso_setRedisFun(), iso_solve(), iso_suprathermal(), iso_update_rates(), IterStart(), lines(), lines_helium(), lines_hydro(), my_Integrand_VF01_E< P >::my_Integrand_VF01_E(), ParseCompile(), ParseDatabase(), ParseDatabaseISO(), ParseSet(), PresTotCurrent(), PrtComment(), PrtLinePres(), RT_diffuse(), RT_iso_integrate_RRC(), RT_line_all(), RT_line_all_escape(), RT_line_driving(), RT_OTS_Update(), RT_stark(), RT_tau_inc(), RT_tau_init(), RT_tau_reset(), SanityCheckBegin(), SaveLineData(), SaveLineStuff(), and state_get_put().

t_iso_sp iso_sp[NISO][LIMELM]

Definition at line 11 of file iso.cpp.

Referenced by Badnell_rec_init(), t_gaunt::brems_sum_ions(), cdColm(), cdTemp(), ChargTranSumHeat(), chkCaHeps(), collectSkipTrans(), ContCreatePointers(), ContRate(), ContSetIntensity(), ConvBase(), ConvIterCheck(), CoolEvaluate(), CoolHyperfine(), cross_section(), dBase_solve(), DoFSMixing(), DoSatelliteLines(), DynaCreateArrays(), DynaIonize(), DynaNewStep(), DynaSaveLast(), DynaStartZone(), eden_sum(), fill_array(), FillExtraLymanLine(), ForbiddenAuls(), GetHelikeCollisionStrength(), GetHlikeCollisionStrength(), GetStandardHeLines(), GrainRateDr(), GrainTemperature(), H21_cm_pops(), he_1trans(), He_cross_section(), HeatSum(), HeCollidSetup(), HeCSInterp(), HeCSTableInterp(), helike_energy(), helike_quantum_defect(), helike_transprob(), helike_transprob_collapsed_to_resolved(), HlikeCSInterp(), hydro_transprob(), hydro_transprob_collapsed_to_resolved(), HydroCSInterp(), HydroLevel(), HydroRecCool(), diatomics::init(), init_struc(), InitCoreload(), InitCoreloadPostparse(), InitSimPostparse(), ion_CX(), ion_photo(), ion_trim(), ion_trim2(), ion_widen(), IonHelium(), IonHydro(), iso_allocate(), iso_assign_quantum_numbers(), iso_cascade(), iso_charge_transfer_update(), iso_collapsed_Aul_update(), iso_collapsed_lifetimes_update(), iso_collide(), iso_collisional_ionization(), iso_comment_tran_levels(), iso_continuum_lower(), iso_cool(), iso_create(), iso_departure_coefficients(), iso_dielec_recomb_rate(), iso_error_generation(), iso_get_collision_strength(), iso_get_collision_strength_collapsed_to_collapsed_fast(), iso_get_collision_strength_collapsed_to_resolved(), iso_ionize_recombine(), iso_level(), iso_multiplet_opacities_one(), iso_photo(), iso_prt_pops(), iso_put_error(), iso_put_recomb_error(), iso_rad_rec_cooling_approx(), iso_rad_rec_cooling_discrete(), iso_rad_rec_cooling_extra(), iso_radiative_recomb(), iso_radiative_recomb_effective(), iso_radrecomb_from_cross_section(), iso_recomb_malloc(), iso_recomb_setup(), iso_renorm(), iso_RRCoef_Te(), iso_satellite(), iso_satellite_update(), iso_set_ion_rates(), iso_setOpacity(), iso_setRedisFun(), iso_solve(), iso_suprathermal(), iso_update_num_levels(), iso_update_rates(), iso_zero(), IterRestart(), IterStart(), lgCheckMonitors(), lines(), lines_continuum(), lines_general(), lines_helium(), lines_hydro(), lines_iron_Ka(), mole_h_rate_diagnostics(), mole_h_reactions(), Opacity_iso_photo_cs(), OpacityAdd1Element(), OpacityAddTotal(), OpacityCreateAll(), ParseCompile(), ParseDatabaseISO(), ParseElement(), ParsePrint(), PresTotCurrent(), PrintRates(), PrtAllTau(), PrtComment(), PrtFinal(), PrtHeader(), PrtHydroTrace1(), PrtHydroTrace1a(), PrtLinePres(), prtmet(), PrtZone(), radius_first(), radius_increment(), radius_next(), renorm_solution(), RT_continuum(), RT_DestProb(), RT_diffuse(), RT_iso_integrate_RRC(), RT_line_all(), RT_line_all_escape(), RT_line_driving(), RT_line_pumping(), RT_OTS(), RT_OTS_Update(), RT_stark(), RT_tau_inc(), RT_tau_init(), RT_tau_reset(), SanityCheckBegin(), Save_Line_RT(), save_opacity(), SaveDo(), SaveLineData(), SaveLineStuff(), SaveSpecial(), SecIoniz(), setXtraRatesCa2(), setXtraRatesFe2(), setXtraRatesO1(), state_get_put(), and t_mesh::ValidateEdges().

long int max_num_levels

Definition at line 13 of file iso.cpp.

Referenced by InitCoreload(), and iso_update_num_levels().