Cloudy
Spectral Synthesis Code for Astrophysics
Loading...
Searching...
No Matches
iso.h File Reference
#include "module.h"
#include "transition.h"
#include "container_classes.h"
Include dependency graph for iso.h:

Go to the source code of this file.

Classes

struct  QNPair
 
class  t_isoCTRL
 
class  extra_tr
 
class  t_iso_sp
 

Macros

#define KILL_BELOW_PLASMA(E_)
 
#define N_(A_)
 
#define L_(A_)
 
#define S_(A_)
 
#define J_(A_)
 

Typedefs

typedef uint64 QNPack
 

Enumerations

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

Functions

int LIKE_RREC_MAXN (int nelem)
 
QNPack QN2ind (long n, long l, long s, long g=-1)
 
QNPair QN2ind (int nhi, int lhi, int shi, int ghi, int nlo, int llo, int slo, int glo)
 
int getL (char l)
 
void iso_cascade (long ipISO, long nelem)
 
void iso_charge_transfer_update (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)
 
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_put_error (long ipISO, long nelem, QNPack inHi, QNPack inLo, 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 iso_recomb_alloc ()
 
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)
 
long int iso_Max_Emitting_Level (long nelem, long ipISO, bool lgPrnIsoCollapsed)
 
void iso_init_energies ()
 
double hydro_energy (long nelem, long n, long l, long s, long g)
 
void iso_collapsed_update (void)
 
void iso_set_ion_rates (long ipISO, long nelem)
 
void iso_init ()
 
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)
 
string extraLymanJ_comment_tran_levels (const TransitionProxy &t)
 
bool lgIsLymanLine (const TransitionProxy &t)
 
bool lgIsLymanLineResolved (const TransitionProxy &t, const TransitionProxy &tJ05, const TransitionProxy &tJ15)
 
bool lgIsLymanLineUnresolved (const TransitionProxy &t)
 
bool lgIsM1Line (const TransitionProxy &t)
 

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
 
const int IPRAD = 0
 
const int IPCOLLIS = 1
 
const int RREC_MAXN = 40
 
const int N_ISO_TE_RECOMB = 41
 
const int SumUpToThisN = 1000
 
const int RECOMBMAGIC = 130216
 
const int ENERGIESMAGIC = 20190102
 
t_isoCTRL iso_ctrl
 
t_iso_sp iso_sp [NISO][LIMELM]
 

Detailed Description

  • information for isoelectronic sequences

Macro Definition Documentation

◆ J_

#define J_ ( A_)
Value:
(iso_sp[ipISO][nelem].st[A_].j())
t_iso_sp iso_sp[NISO][LIMELM]
Definition iso.cpp:14

Referenced by DGER(), DGETF2(), DGETRF(), DTRSM(), and iso_create().

◆ KILL_BELOW_PLASMA

#define KILL_BELOW_PLASMA ( E_)
Value:
( (rfield.lgPlasNu && ((E_)<rfield.plsfrq) ) ? 0.:1. )
t_rfield rfield
Definition rfield.cpp:9

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

◆ L_

◆ N_

◆ S_

Typedef Documentation

◆ QNPack

typedef uint64 QNPack

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
ipSINGLET 
ipDOUBLET 
ipTRIPLET 
ipMULTIPLET_END 
ipMULTIPLET_BEGIN 

Function Documentation

◆ extraLymanJ_comment_tran_levels()

string extraLymanJ_comment_tran_levels ( const TransitionProxy & t)

References GenerateTransitionConfiguration().

Referenced by lines(), and lines_hydro().

Here is the call graph for this function:

◆ getL()

int getL ( char l)

References chL, and toupper().

Referenced by HeCollidSetup().

Here is the call graph for this function:

◆ hydro_energy()

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

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

Referenced by iso_create(), and lines_hydro().

Here is the call graph for this function:

◆ IonHydro()

void IonHydro ( )

IonHydro this controls hydrogen atomic and molecular crosstalk

References atmdat, colliders, DEBUG_ENTRY, dense, findspecieslocal(), fixit, fnzone, fprintf(), hmi, hydro, ion_solver(), ioQQQ, ipH1s, ipH2p, ipH_LIKE, ipHYDROGEN, iso_renorm(), iso_sp, MAX2, PrintE82(), secondaries, SMALLDOUBLE, SMALLFLOAT, and trace.

Referenced by ion_wrapper().

Here is the call graph for this function:

◆ iso_cascade()

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, DEBUG_ENTRY, fprintf(), ioQQQ, ipH_LIKE, ipHe2p3P0, ipHe2p3P1, ipHe2p3P2, ipHE_LIKE, ipHELIUM, IPRAD, iso_ctrl, iso_sp, L_, N_, opac, pow2, S, and S_.

Referenced by iso_collapsed_update(), and iso_create().

Here is the call graph for this function:

◆ iso_charge_transfer_update()

void iso_charge_transfer_update ( long nelem)

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

References atmdat, DEBUG_ENTRY, dense, ipHYDROGEN, iso_sp, LIMELM, and t_atmdat::NCX.

Referenced by ion_solver().

◆ iso_collapsed_update()

void iso_collapsed_update ( void )

References conv, dense, ipH_LIKE, ipHELIUM, ipHYDROGEN, iso_cascade(), MIN2, and NISO.

Referenced by ConvBase().

Here is the call graph for this function:

◆ iso_collide()

◆ iso_collisional_ionization()

void iso_collisional_ionization ( long ipISO,
long nelem )

iso_collisional_ionization - calculate collisional ionization rate for ipISO, nelem

Parameters
ipISO
nelem

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_iso_sp::lgLevelsLowered, N_, NISO, t_iso_sp::numLevels_max, and phycon.

Referenced by iso_collide().

Here is the call graph for this function:

◆ iso_comment_tran_levels()

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

References GenerateTransitionConfiguration(), ipHE_LIKE, and iso_sp.

Referenced by lines_helium(), and lines_hydro().

Here is the call graph for this function:

◆ iso_continuum_lower()

◆ iso_cool()

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

References globalISO, globalZ, and S.

Referenced by CoolEvaluate().

◆ iso_create()

◆ iso_cross_section()

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

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

Referenced by iso_recomb_integrand().

Here is the call graph for this function:

◆ iso_departure_coefficients()

void iso_departure_coefficients ( long ipISO,
long nelem )

iso_departure_coefficients - calculate departure coefficients

Parameters
ipISO
nelem

References DEBUG_ENTRY, dense, iso_sp, safe_div(), and SMALLFLOAT.

Referenced by ion_solver().

Here is the call graph for this function:

◆ iso_dielec_recomb_rate()

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

References ASSERT, DEBUG_ENTRY, freeBound::DielecRecombVsTemp, exp10(), hunt_bisect(), ipHe1s1S, ipHE_LIKE, iso_ctrl, iso_sp, NUM_DR_TEMPS, and phycon.

Referenced by iso_radiative_recomb().

Here is the call graph for this function:

◆ iso_error_generation()

void iso_error_generation ( long ipISO,
long nelem )

iso_error_generation generate gaussian errors

Parameters
ipISO
nelem

References ASSERT, DEBUG_ENTRY, iso_sp, and TruncatedNormal().

Referenced by iso_update_rates().

Here is the call graph for this function:

◆ iso_get_total_num_levels()

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:

◆ iso_init()

void iso_init ( )

◆ iso_init_energies()

◆ iso_ionize_recombine()

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

◆ iso_level()

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

iso_level solve for iso-sequence ionization balance

Parameters
ipISOiso-sequence index
nelemelement index
renormrenormalization parameter

Referenced by iso_solve().

◆ iso_Max_Emitting_Level()

long int iso_Max_Emitting_Level ( long nelem,
long ipISO,
bool lgPrnIsoCollapsed )

iso_Max_Emitting_Level - gives the maximum level from which a line is calculated

Parameters
nelem
ipISO
lgPrnIsoCollapsed

References ipH_LIKE, ipHE_LIKE, iso_sp, and MIN2.

Referenced by lines(), lines_helium(), lines_hydro(), and SaveDo().

◆ iso_multiplet_opacities()

void iso_multiplet_opacities ( void )

update multiplet opacities

References dense, ipH_LIKE, ipHYDROGEN, iso_multiplet_opacities_one(), LIMELM, and NISO.

Referenced by ConvBase().

Here is the call graph for this function:

◆ iso_photo()

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

◆ iso_prt_pops()

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

References ASSERT, DEBUG_ENTRY, elementnames, fprintf(), ioQQQ, ipH_LIKE, ipHe2p3P0, ipHe2p3P1, ipHe2p3P2, ipHE_LIKE, iso_ctrl, iso_sp, ITEM_TO_PRINT, NISO, and pow2.

Referenced by PrtZone().

Here is the call graph for this function:

◆ iso_put_error() [1/2]

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

◆ iso_put_error() [2/2]

void iso_put_error ( long ipISO,
long nelem,
QNPack inHi,
QNPack inLo,
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
inHi
inLo
whichData
errorOpt
errorPess

◆ iso_radiative_recomb()

void iso_radiative_recomb ( long ipISO,
long nelem )

◆ iso_radiative_recomb_effective()

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

References ASSERT, DEBUG_ENTRY, dprintf(), fprintf(), ioQQQ, IPRAD, ipRecRad, iso_ctrl, iso_sp, L_, MAX2, N_, phycon, pow2, t_wavl::prt_wl(), S_, t_vac(), and t_wavl::wavlVac().

Referenced by iso_update_rates().

Here is the call graph for this function:

◆ iso_recomb_alloc()

void iso_recomb_alloc ( )

iso_recomb_alloc - allocate space needed for iso recombination tables.

References DEBUG_ENTRY, dense, iso_get_total_num_levels(), iso_sp, LIKE_RREC_MAXN(), LIMELM, 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:

◆ iso_recomb_auxiliary_free()

void iso_recomb_auxiliary_free ( )

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

References DEBUG_ENTRY, and NumLevRecomb.

Referenced by iso_create().

◆ iso_recomb_check()

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

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

Referenced by SanityCheckBegin().

Here is the call graph for this function:

◆ iso_recomb_setup()

void iso_recomb_setup ( long ipISO)

iso_recomb_setup - read in or compile iso recombination tables.

Parameters
ipISO

Establish radiative recombination rate coefficients - RRC

References AS_OPTIONAL, ASSERT, cdEXIT, DEBUG_ENTRY, dense, elementnames, EXIT_FAILURE, EXIT_SUCCESS, exp10(), FFmtRead(), fprintf(), t_ADfA::H_rad_rec(), Singleton< t_ADfA >::Inst(), ioQQQ, ipHe1s1S, iso_ctrl, iso_radrecomb_from_cross_section(), iso_sp, LIKE_RREC_MAXN(), LIMELM, N_ISO_TE_RECOMB, NHYDRO_MAX_LEVEL, NISO, NULL, NumLevRecomb, open_data(), read_whole_line(), Recomb_Seaton59(), RECOMBMAGIC, RRCoef, RREC_MAXN, SumUpToThisN, TeRRCoef, TotalRecomb, and trace.

Referenced by iso_create().

Here is the call graph for this function:

◆ iso_renorm()

void iso_renorm ( long nelem,
long ipISO,
double & renorm )

iso_renorm - renormalize H-like so that it agrees with the ionization balance

References ASSERT, conv, DEBUG_ENTRY, dense, fp_equal(), fprintf(), ioQQQ, iso_ctrl, iso_sp, and SMALLFLOAT.

Referenced by clean_up(), ConvBase(), IonHydro(), iso_level(), lgTrivialSolution(), and ScaleIonDensities().

Here is the call graph for this function:

◆ iso_RRCoef_Te()

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

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

Referenced by iso_radiative_recomb(), iso_recomb_check(), and SaveDo().

Here is the call graph for this function:

◆ iso_satellite_update()

void iso_satellite_update ( long nelem)

iso_satellite_update - update iso satellite line information

References abscf(), DEBUG_ENTRY, dense, dsexp(), GetGF(), ipHE_LIKE, ipSatelliteLines, iso_ctrl, iso_sp, max(), MIN2, NISO, phycon, powpq(), SatelliteLines, SMALLDOUBLE, and SMALLFLOAT.

Referenced by ion_solver(), iso_create(), and lines().

Here is the call graph for this function:

◆ iso_set_ion_rates()

void iso_set_ion_rates ( long ipISO,
long nelem )

◆ iso_setOpacity()

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, GetGF(), iso_ctrl, and iso_sp.

Referenced by iso_create().

Here is the call graph for this function:

◆ iso_setRedisFun()

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 ipH_LIKE, ipHYDROGEN, ipLY_A, iso_ctrl, and iso_sp.

Referenced by iso_create().

◆ iso_solve()

void iso_solve ( long ipISO,
long nelem,
double & maxerr )

iso_solve - main routine to call iso_level and determine iso level balances

Parameters
ipISO

References ASSERT, DEBUG_ENTRY, dense, fprintf(), HydroLevel(), ioQQQ, ipRecRad, iso_ctrl, iso_level(), iso_sp, phycon, pow2, and S.

Referenced by ConvBase(), and ion_solver().

Here is the call graph for this function:

◆ iso_state_lifetime()

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

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

Referenced by FillExtraLymanLine(), and SanityCheckBegin().

Here is the call graph for this function:

◆ iso_suprathermal()

void iso_suprathermal ( long ipISO,
long nelem )

iso_suprathermal - calculate secondary excitation by suprathermal electrons for iso sequences

Parameters
ipISO
nelem

References ASSERT, TransitionProxy::Coll(), DEBUG_ENTRY, TransitionProxy::EnergyWN(), TransitionProxy::ipCont(), ipH2p, ipH_LIKE, ipHYDROGEN, iso_ctrl, iso_sp, LIMELM, NISO, t_iso_sp::numLevels_max, CollisionProxy::rate_lu_nontherm_set(), secondaries, and t_iso_sp::trans().

Referenced by iso_collide().

Here is the call graph for this function:

◆ iso_update_num_levels()

void iso_update_num_levels ( long ipISO,
long nelem )

iso_update_num_levels - update level informations for iso sequences

Parameters
ipISO
nelem

References ASSERT, cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, fprintf(), ioQQQ, iso_get_total_num_levels(), iso_sp, MAX2, and max_num_levels.

Referenced by InitCoreloadPostparse(), InitSimPostparse(), iso_init(), ParseCompile(), and ParseDatabaseISO().

Here is the call graph for this function:

◆ iso_update_rates()

void iso_update_rates ( void )

iso_update_rates routine to set up iso rates, level balance is done elsewhere

Todo
2 the indices for the two-photon rates must be changed for further iso sequences.

References ASSERT, CalcTwoPhotonRates(), conv, dense, ionbal, ipH_LIKE, ipHE_LIKE, ipHYDROGEN, iso_collide(), iso_continuum_lower(), iso_ctrl, iso_error_generation(), iso_ionize_recombine(), iso_photo(), iso_radiative_recomb(), iso_radiative_recomb_effective(), iso_sp, LIMELM, MIN2, NISO, nzone, rfield, and t_iso_sp::TwoNu.

Referenced by ConvBase().

Here is the call graph for this function:

◆ lgIsLymanLine()

◆ lgIsLymanLineResolved()

bool lgIsLymanLineResolved ( const TransitionProxy & t,
const TransitionProxy & tJ05,
const TransitionProxy & tJ15 )
inline

◆ lgIsLymanLineUnresolved()

bool lgIsLymanLineUnresolved ( const TransitionProxy & t)
inline

References qStateProxy::g(), TransitionProxy::Hi(), and lgIsLymanLine().

Referenced by RT_line_one_tauinc().

Here is the call graph for this function:

◆ lgIsM1Line()

bool lgIsM1Line ( const TransitionProxy & t)
inline

References TransitionProxy::Hi(), qStateProxy::IonStg(), ipH_LIKE, qStateProxy::l(), TransitionProxy::Lo(), qStateProxy::n(), and qStateProxy::nelem().

Referenced by PutLine().

Here is the call graph for this function:

◆ LIKE_RREC_MAXN()

int LIKE_RREC_MAXN ( int nelem)
inline

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

References ipHELIUM.

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

◆ QN2ind() [1/2]

QNPair QN2ind ( int nhi,
int lhi,
int shi,
int ghi,
int nlo,
int llo,
int slo,
int glo )
inline

◆ QN2ind() [2/2]

QNPack QN2ind ( long n,
long l,
long s,
long g = -1 )
inline

Variable Documentation

◆ ENERGIESMAGIC

const int ENERGIESMAGIC = 20190102

the magic number for the table of He-like level energies, YYYYMMDD

Referenced by iso_init_energies().

◆ ipAL_LIKE

const int ipAL_LIKE = 12

Referenced by read_UTA_lines().

◆ ipAR_LIKE

const int ipAR_LIKE = 17

◆ ipB_LIKE

const int ipB_LIKE = 4

◆ ipBE_LIKE

const int ipBE_LIKE = 3

◆ ipC_LIKE

const int ipC_LIKE = 5

◆ ipCL_LIKE

const int ipCL_LIKE = 16

◆ IPCOLLIS

const int IPCOLLIS = 1

◆ ipF_LIKE

const int ipF_LIKE = 8

◆ ipH1s

◆ ipH2p

◆ ipH2s

◆ ipH3d

const int ipH3d = 5

◆ ipH3p

◆ ipH3s

const int ipH3s = 3

◆ ipH4d

const int ipH4d = 8

Referenced by OpacityAddTotal().

◆ ipH4f

const int ipH4f = 9

Referenced by OpacityAddTotal().

◆ ipH4p

const int ipH4p = 7

◆ ipH4s

const int ipH4s = 6

◆ ipH_LIKE

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

Referenced by atmdat_2phot_shapefunction(), Badnell_rec_init(), t_gaunt::brems_sum_ions(), cdTemp(), cdTemp(), ChargTranSumHeat(), chkCaHeps(), clean_up(), ContCreatePointers(), ContRate(), ContSetIntensity(), ConvBase(), ConvIterCheck(), CoolEvaluate(), CoolHyperfine(), CS_l_mixing(), CSresolver(), dBase_solve(), DynaIonize(), DynaNewStep(), DynaSaveLast(), DynaStartZone(), eden_sum(), FillExtraLymanLine(), get_iso_statw(), GetHlikeCollisionStrength(), GrainRateDr(), GrainTemperature(), H21_cm_pops(), H_Einstein_A(), HeatSum(), HlikeCSInterp(), hydro_energy(), hydro_transprob(), HydroCSInterp(), HydroRecCool(), diatomics::init(), InitCoreloadPostparse(), InitDefaultsPreparse(), InitSimPostparse(), ion_photo(), ion_recomb(), ion_solver(), IonHelium(), IonHydro(), iso_allocate(), iso_assign_extralyman_levels(), iso_assign_quantum_numbers(), iso_cascade(), iso_collapsed_update(), iso_create(), iso_cross_section(), iso_get_collision_strength(), iso_get_total_num_levels(), iso_init(), iso_init_energies(), iso_ionize_recombine(), iso_level(), iso_Max_Emitting_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(), lgIsLymanLine(), lgIsM1Line(), lgTrivialSolution(), lines(), lines_continuum(), lines_general(), lines_helium(), lines_hydro(), 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(), setIsoNelemFlag(), setXtraRatesCa2(), setXtraRatesFe2(), setXtraRatesO1(), t_isoCTRL::t_isoCTRL(), t_mesh::ValidateEdges(), t_dynamics::zero(), and t_isoCTRL::zero().

◆ ipHe1s1S

◆ ipHe2p1P

const int ipHe2p1P = 6

◆ ipHe2p3P0

const int ipHe2p3P0 = 3

◆ ipHe2p3P1

const int ipHe2p3P1 = 4

◆ ipHe2p3P2

◆ ipHe2s1S

const int ipHe2s1S = 2

Referenced by PrtAllTau(), and PrtZone().

◆ ipHe2s3S

◆ ipHe3d1D

const int ipHe3d1D = 11

Referenced by AGN_He1_CS(), and PrtZone().

◆ ipHe3d3D

const int ipHe3d3D = 10

◆ ipHe3p1P

const int ipHe3p1P = 12

Referenced by PrtAllTau(), and PrtZone().

◆ ipHe3p3P

const int ipHe3p3P = 9

◆ ipHe3s1S

const int ipHe3s1S = 8

Referenced by PrtZone().

◆ ipHe3s3S

const int ipHe3s3S = 7

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

◆ ipHE_LIKE

const int ipHE_LIKE = 1

Referenced by atmdat_2phot_shapefunction(), Badnell_rec_init(), cdColm(), ContCreatePointers(), ConvIterCheck(), cross_section(), CS_l_mixing_PS64(), CS_l_mixing_PS64_expI(), CSresolver(), DoSatelliteLines(), ForbiddenAuls(), get_iso_statw(), GetHelikeCollisionStrength(), GetStandardHeLines(), he_1trans(), HeCollidSetup(), HeCSInterp(), HeCSTableInterp(), helike_energy(), helike_quantum_defect(), helike_transprob(), InitCoreloadPostparse(), IonHelium(), iso_allocate(), iso_assign_extralyman_levels(), iso_assign_quantum_numbers(), iso_cascade(), iso_comment_tran_levels(), iso_create(), iso_cross_section(), iso_dielec_recomb_rate(), iso_get_collision_strength(), iso_get_total_num_levels(), iso_init(), iso_level(), iso_Max_Emitting_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(), IterStart(), lgCheckMonitors(), lines(), lines_general(), lines_helium(), 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_inc(), RT_tau_init(), RT_tau_reset(), SanityCheckBegin(), save_opacity(), SaveDo(), SaveLineData(), SaveLineStuff(), SecIoniz(), t_isoCTRL::t_isoCTRL(), t_mesh::ValidateEdges(), and t_isoCTRL::zero().

◆ ipLI_LIKE

const int ipLI_LIKE = 2

Referenced by read_UTA_lines().

◆ ipMG_LIKE

const int ipMG_LIKE = 11

Referenced by read_UTA_lines().

◆ ipN_LIKE

const int ipN_LIKE = 6

◆ ipNA_LIKE

const int ipNA_LIKE = 10

Referenced by read_UTA_lines().

◆ ipNE_LIKE

const int ipNE_LIKE = 9

◆ ipO_LIKE

const int ipO_LIKE = 7

◆ ipP_LIKE

const int ipP_LIKE = 14

◆ IPRAD

◆ ipS_LIKE

const int ipS_LIKE = 15

◆ ipSI_LIKE

const int ipSI_LIKE = 13

◆ iso_ctrl

t_isoCTRL iso_ctrl
extern

Referenced by 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(), InitCoreloadPostparse(), InitSimPostparse(), iso_allocate(), iso_assign_extralyman_levels(), iso_cascade(), iso_collide(), iso_collisional_ionization(), iso_continuum_lower(), iso_cool(), iso_create(), iso_dielec_recomb_rate(), iso_get_collision_strength(), iso_ionize_recombine(), iso_level(), iso_prt_pops(), iso_put_error(), 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(), lgIsLymanLineResolved(), lines(), lines_helium(), lines_hydro(), my_Integrand_VF01_E< P >::my_Integrand_VF01_E(), ParseCompile(), ParseDatabase(), ParseDatabaseISO(), ParseSet(), PresTotCurrent(), PrtComment(), PrtLinePres(), prtmet(), PrtZone(), 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(), and SaveLineStuff().

◆ iso_sp

t_iso_sp iso_sp[NISO][LIMELM]
extern

Referenced by Badnell_rec_init(), t_gaunt::brems_sum_ions(), cdColm(), cdTemp(), cdTemp(), ChargTranSumHeat(), chkCaHeps(), ContCreatePointers(), ContRate(), ContSetIntensity(), ConvBase(), ConvIterCheck(), CoolEvaluate(), CoolHyperfine(), cross_section(), dBase_solve(), DoSatelliteLines(), DynaCreateArrays(), DynaIonize(), DynaNewStep(), DynaSaveLast(), DynaStartZone(), eden_sum(), fill_array(), FillExtraLymanLine(), GetHelikeCollisionStrength(), GetHlikeCollisionStrength(), GetStandardHeLines(), GrainRateDr(), GrainTemperature(), H21_cm_pops(), H_Einstein_A(), he_1trans(), HeatSum(), HeCollidSetup(), HeCSInterp(), HeCSTableInterp(), helike_energy(), helike_quantum_defect(), helike_transprob(), HlikeCSInterp(), hydro_energy(), hydro_transprob(), HydroCSInterp(), HydroLevel(), HydroRecCool(), diatomics::init(), init_struc(), InitCoreloadPostparse(), InitSimPostparse(), ion_CX(), ion_photo(), ion_trim(), ion_trim2(), ion_widen(), IonHelium(), IonHydro(), iso_allocate(), iso_assign_extralyman_levels(), iso_assign_quantum_numbers(), iso_cascade(), iso_charge_transfer_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_init(), iso_init_energies(), iso_ionize_recombine(), iso_level(), iso_Max_Emitting_Level(), iso_multiplet_opacities_one(), iso_photo(), iso_prt_pops(), iso_put_error(), 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_alloc(), 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(), lgIsLymanLine(), lines(), lines_continuum(), lines_general(), lines_helium(), lines_hydro(), mole_h_rate_diagnostics(), Opacity_iso_photo_cs(), OpacityAdd1Element(), OpacityAddTotal(), OpacityCreateAll(), ParseCompile(), ParseDatabaseISO(), ParseElement(), 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(), setIsoNelemFlag(), setXtraRatesCa2(), setXtraRatesFe2(), setXtraRatesO1(), and t_mesh::ValidateEdges().

◆ max_num_levels

long int max_num_levels
extern

Referenced by iso_update_num_levels().

◆ N_ISO_TE_RECOMB

const int N_ISO_TE_RECOMB = 41

◆ RECOMBMAGIC

const int RECOMBMAGIC = 130216

the magic number for the table of recombination coefficients, YYMMDD

Referenced by iso_recomb_setup().

◆ RREC_MAXN

const int RREC_MAXN = 40

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

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

◆ SumUpToThisN

const int 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

Referenced by iso_radiative_recomb(), and iso_recomb_setup().