#include "cddefines.h"
#include "physconst.h"
#include "taulines.h"
#include "path.h"
#include "dense.h"
#include "trace.h"
#include "hydro_bauman.h"
#include "iso.h"
#include "helike.h"
#include "helike_einsta.h"
Go to the source code of this file.
Functions | |
static double | ritoa (long li, long lf, long nelem, double k, double RI2) |
static double | ForbiddenAuls (long ipHi, long ipLo, long nelem) |
static double | CalculateRadialIntegral (long nelem, long ipLo, long ipHi) |
static double | RadialIntegrand (double r12) |
static double | WaveFunction (double r12) |
static double | Jint (double theta) |
static double | AngerJ (double vv, double zz) |
double | scqdri (double nstar, long int l, double npstar, long int lp, double iz) |
double | he_1trans (long nelem, double Enerwn, double Eff_nupper, long lHi, long sHi, long jHi, double Eff_nlower, long lLo, long sLo, long jLo) |
void | DoFSMixing (long nelem, long ipLoSing, long ipHiSing) |
void | HelikeTransProbSetup (void) |
Variables | |
static double *** | TransProbs |
static long | RI_ipHi |
static long | RI_ipLo |
static long | RI_ipLev |
static long | globalZ |
static double | vJint |
static double | zJint |
static double AngerJ | ( | double | vv, | |
double | zz | |||
) | [static] |
static double CalculateRadialIntegral | ( | long | nelem, | |
long | ipLo, | |||
long | ipHi | |||
) | [static] |
Definition at line 1178 of file helike_einsta.cpp.
References globalZ, ioQQQ, ipHELIUM, qg32(), RadialIntegrand(), RI_ipHi, and RI_ipLo.
Referenced by he_1trans().
void DoFSMixing | ( | long | nelem, | |
long | ipLoSing, | |||
long | ipHiSing | |||
) |
Every bit of this routine is based upon the singlet-triplet mixing formalism given in >>refer He FSM Drake, G. W. F. 1996, in Atomic, Molecular, & Optical Physics Handbook, >>refercon ed. G. W. F. Drake (New York: AIP Press). That formalism mixes the levels themselves, but since this code is not J-resolved, we simulate that by mixing only the transition probabilities. We find results comparable to those calculated in the fully J-resolved model spearheaded by Rob Bauman, and described in >>refer He FSM Bauman, R. P., Porter, R. L., Ferland, G. J., & MacAdam, K. B. 2005, ApJ, accepted
nelem | ||
ipLoSing | ||
ipHiSing |
Definition at line 813 of file helike_einsta.cpp.
References ASSERT, EmLine::Aul, EmisLines, EmLine::EnergyWN, EmLine::gHi, EmLine::gLo, ioQQQ, ipHE_LIKE, iso, Elevels::l, Elevels::n, PI, POW2, t_iso::quant_desig, QuantumNumbers2Index, Elevels::s, and TRANS_PROB_CONST.
Referenced by HeCreate().
static double ForbiddenAuls | ( | long | ipHi, | |
long | ipLo, | |||
long | nelem | |||
) | [static] |
Definition at line 228 of file helike_einsta.cpp.
References ASSERT, E, ipARGON, ipHe1s1S, ipHe2p1P, ipHe2p3P0, ipHe2p3P2, ipHe2s3S, ipHELIUM, IPRAD, iso, L_, N_, putError(), S_, t_iso::SmallA, and TotalInsanity().
Referenced by he_1trans().
double he_1trans | ( | long | nelem, | |
double | Enerwn, | |||
double | Eff_nupper, | |||
long | lHi, | |||
long | sHi, | |||
long | jHi, | |||
double | Eff_nlower, | |||
long | lLo, | |||
long | sLo, | |||
long | jLo | |||
) |
compute energy diffference in wn and Aul for given line return is 0 for success, 1 for failure
nelem | charge on the C scale, 1 is helium | |
Enerwn | energy difference in wavenumber | |
Eff_nupper | upper quantum numbers | |
Eff_nlower | lower quantum numbers | |
lHi | ||
sHi | ||
jHi | ||
lLo | ||
sLo | ||
jLo |
Definition at line 382 of file helike_einsta.cpp.
References ASSERT, CalculateRadialIntegral(), cdEXIT(), ForbiddenAuls(), H_Einstein_A(), ioQQQ, ipHe1s1S, ipHe2p1P, ipHe2p3P0, ipHe2p3P1, ipHe2p3P2, ipHe2s1S, ipHe2s3S, ipHe3s3S, ipHe4s3S, ipHE_LIKE, ipHELIUM, ipHYDROGEN, IPRAD, iso, Elevels::l, MAX2, MAX_TP_INDEX, Elevels::n, N_, t_iso::n_HighestResolved_max, t_iso::nCollapsed_max, t_iso::numLevels_max, putError(), t_iso::quant_desig, QuantumNumbers2Index, ritoa(), RYD_INF, Elevels::s, scqdri(), t_iso::SmallA, TRANS_PROB_CONST, TransProbs, and t_iso::xIsoLevNIonRyd.
Referenced by HeCreate().
void HelikeTransProbSetup | ( | void | ) |
Definition at line 980 of file helike_einsta.cpp.
References BadRead(), cdEXIT(), chDataPath, chLine_LENGTH, FFmtRead(), FILENAME_PATH_LENGTH_2, INPUT_LINE_LENGTH, ioQQQ, ipHe1s1S, ipHELIUM, lgDataPathSet, t_trace::lgTrace, LIMELM, MALLOC, MAX_TP_INDEX, N_HE1_TRANS_PROB, path_not_set(), trace, TRANSPROBMAGIC, and TransProbs.
Referenced by HeCreate().
static double Jint | ( | double | theta | ) | [static] |
static double RadialIntegrand | ( | double | r12 | ) | [static] |
Definition at line 1209 of file helike_einsta.cpp.
References RI_ipHi, RI_ipLev, RI_ipLo, and WaveFunction().
Referenced by CalculateRadialIntegral().
static double ritoa | ( | long | li, | |
long | lf, | |||
long | nelem, | |||
double | k, | |||
double | RI2 | |||
) | [static] |
Definition at line 949 of file helike_einsta.cpp.
References ATOMIC_MASS_UNIT, t_dense::AtomicWeight, BOHR_RADIUS_CM, dense, ELECTRON_MASS, H_BAR, PI, SPEEDLIGHT, and TRANS_PROB_CONST.
Referenced by he_1trans().
double scqdri | ( | double | nstar, | |
long int | l, | |||
double | npstar, | |||
long int | lp, | |||
double | iz | |||
) |
Definition at line 154 of file helike_einsta.cpp.
References AngerJ(), ASSERT, PI, and z.
Referenced by he_1trans().
static double WaveFunction | ( | double | r12 | ) | [static] |
Definition at line 1224 of file helike_einsta.cpp.
References globalZ, ipHE_LIKE, iso, Elevels::l, nu, PI, POW2, POW3, t_iso::quant_desig, RI_ipLev, and Z.
Referenced by RadialIntegrand().
long globalZ [static] |
Definition at line 45 of file helike_einsta.cpp.
Referenced by CalculateRadialIntegral(), and WaveFunction().
long RI_ipHi [static] |
Definition at line 44 of file helike_einsta.cpp.
Referenced by CalculateRadialIntegral(), and RadialIntegrand().
long RI_ipLev [static] |
Definition at line 44 of file helike_einsta.cpp.
Referenced by RadialIntegrand(), and WaveFunction().
long RI_ipLo [static] |
Definition at line 44 of file helike_einsta.cpp.
Referenced by CalculateRadialIntegral(), and RadialIntegrand().
double*** TransProbs [static] |
Definition at line 28 of file helike_einsta.cpp.
Referenced by he_1trans(), and HelikeTransProbSetup().
double vJint [static] |
double zJint [static] |