cloudy
trunk
|
#include "cddefines.h"
#include "dense.h"
#include "trace.h"
#include "hydro_bauman.h"
#include "iso.h"
#include "helike.h"
#include "helike_einsta.h"
#include "freebound.h"
#include "lines_service.h"
#include "integrate.h"
Go to the source code of this file.
Functions | |
STATIC double | helike_transprob_collapsed_to_collapsed (long nelem, long nHi, long nLo, double Enerwn) |
STATIC double | helike_transprob_collapsed_to_resolved (long nelem, long nHi, long nLo, long lLo, long sLo, long jLo, double Enerwn) |
STATIC double | ritoa (long li, long lf, long nelem, double k, double RI2) |
STATIC double | ForbiddenAuls (long ipHi, long ipLo, long nelem) |
STATIC double | Jint (double theta) |
STATIC double | AngerJ_mac (double vv, double zz) |
STATIC double | bessjnu (double vv, double zz) |
STATIC double | AngerJ_asymp (double vv, double zz) |
STATIC double | AngerJ (double vv, double zz) |
STATIC 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, realnum *error1, realnum *error2) |
void | DoFSMixing (long nelem, long ipLoSing, long ipHiSing) |
realnum | helike_transprob (long nelem, long ipHi, long ipLo) |
void | HelikeTransProbSetup (void) |
Variables | |
static double *** | TransProbs |
static double | vJint |
static double | zJint |
STATIC double AngerJ | ( | double | vv, |
double | zz | ||
) |
Definition at line 127 of file helike_einsta.cpp.
References DEBUG_ENTRY, Jint(), qg32(), vJint, and zJint.
Referenced by scqdri().
STATIC double AngerJ_asymp | ( | double | vv, |
double | zz | ||
) |
Definition at line 108 of file helike_einsta.cpp.
References bessjnu().
Referenced by scqdri().
STATIC double AngerJ_mac | ( | double | vv, |
double | zz | ||
) |
Definition at line 60 of file helike_einsta.cpp.
Referenced by scqdri().
STATIC double bessjnu | ( | double | vv, |
double | zz | ||
) |
Definition at line 90 of file helike_einsta.cpp.
Referenced by AngerJ_asymp().
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 1097 of file helike_einsta.cpp.
References TransitionProxy::AddLine2Stack(), ASSERT, EmissionProxy::Aul(), DEBUG_ENTRY, TransitionProxy::Emis(), TransitionProxy::EnergyWN(), fprintf(), TransitionProxy::Hi(), ioQQQ, ipHE_LIKE, iso_setOpacity(), iso_setRedisFun(), iso_sp, TransitionProxy::Lo(), POW2, t_iso_sp::QuantumNumbers2Index, t_iso_sp::st, and t_iso_sp::trans().
Referenced by iso_create().
STATIC double ForbiddenAuls | ( | long | ipHi, |
long | ipLo, | ||
long | nelem | ||
) |
Definition at line 304 of file helike_einsta.cpp.
References ASSERT, DEBUG_ENTRY, eina(), TransitionProxy::EnergyWN(), fixit, ipARGON, ipHe1s1S, ipHe2p1P, ipHe2p3P0, ipHe2p3P1, ipHe2p3P2, ipHe2s1S, ipHe2s3S, ipHe3p1P, ipHe3p3P, ipHe3s1S, ipHe3s3S, ipHE_LIKE, ipHELIUM, ipNEON, IPRAD, iso_ctrl, iso_put_error(), iso_sp, L_, MIN2, N_, POW2, pow3(), S_, t_isoCTRL::SmallA, t_iso_sp::st, TotalInsanity(), and t_iso_sp::trans().
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, | ||
realnum * | error1, | ||
realnum * | error2 | ||
) |
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 | |
*error1 | |
*error2 |
Definition at line 584 of file helike_einsta.cpp.
References ASSERT, DEBUG_ENTRY, ForbiddenAuls(), fprintf(), H_Einstein_A(), t_iso_sp::IndexIfAllResolved, ioQQQ, ipHE_LIKE, ipHELIUM, ipHYDROGEN, iso_ctrl, iso_sp, MAX2, MAX_TP_INDEX, pow3(), pow4(), powpq(), t_iso_sp::QuantumNumbers2Index, ritoa(), S, scqdri(), t_isoCTRL::SmallA, TotalInsanity(), and TransProbs.
Referenced by helike_transprob(), and helike_transprob_collapsed_to_resolved().
realnum helike_transprob | ( | long | nelem, |
long | ipHi, | ||
long | ipLo | ||
) |
helike_transprob get transition probability for helium-like transition [s-1]
nelem | |
ipHi | |
ipLo |
Definition at line 1283 of file helike_einsta.cpp.
References ASSERT, DEBUG_ENTRY, TransitionProxy::EnergyWN(), he_1trans(), helike_quantum_defect(), helike_transprob_collapsed_to_collapsed(), helike_transprob_collapsed_to_resolved(), ipHE_LIKE, IPRAD, iso_put_error(), iso_sp, J_, L_, N_, S_, and t_iso_sp::trans().
Referenced by iso_create().
STATIC double helike_transprob_collapsed_to_collapsed | ( | long | nelem, |
long | nHi, | ||
long | nLo, | ||
double | Enerwn | ||
) |
Definition at line 1029 of file helike_einsta.cpp.
References ASSERT, DEBUG_ENTRY, and helike_transprob_collapsed_to_resolved().
Referenced by helike_transprob().
STATIC double helike_transprob_collapsed_to_resolved | ( | long | nelem, |
long | nHi, | ||
long | nLo, | ||
long | lLo, | ||
long | sLo, | ||
long | jLo, | ||
double | Enerwn | ||
) |
Definition at line 1047 of file helike_einsta.cpp.
References ASSERT, t_iso_sp::CachedAs, DEBUG_ENTRY, he_1trans(), helike_quantum_defect(), t_iso_sp::IndexIfAllResolved, ipHE_LIKE, iso_sp, t_iso_sp::n_HighestResolved_max, and t_iso_sp::nCollapsed_max.
Referenced by helike_transprob(), and helike_transprob_collapsed_to_collapsed().
void HelikeTransProbSetup | ( | void | ) |
Definition at line 1333 of file helike_einsta.cpp.
References BadRead(), cdEXIT, chLine_LENGTH, DEBUG_ENTRY, EXIT_FAILURE, FFmtRead(), fprintf(), ioQQQ, ipHe1s1S, ipHELIUM, t_trace::lgTrace, LIMELM, MALLOC, MAX_TP_INDEX, N_HE1_TRANS_PROB, open_data(), read_whole_line(), strchr_s(), trace, TRANSPROBMAGIC, and TransProbs.
Referenced by iso_create().
STATIC double Jint | ( | double | theta | ) |
Definition at line 46 of file helike_einsta.cpp.
Referenced by AngerJ().
STATIC double ritoa | ( | long | li, |
long | lf, | ||
long | nelem, | ||
double | k, | ||
double | RI2 | ||
) |
Definition at line 1251 of file helike_einsta.cpp.
References t_dense::AtomicWeight, DEBUG_ENTRY, dense, and max().
Referenced by he_1trans().
STATIC double scqdri | ( | double | nstar, |
long int | l, | ||
double | npstar, | ||
long int | lp, | ||
double | iz | ||
) |
Definition at line 215 of file helike_einsta.cpp.
References AngerJ(), AngerJ_asymp(), AngerJ_mac(), ASSERT, and DEBUG_ENTRY.
Referenced by he_1trans().
|
static |
Definition at line 25 of file helike_einsta.cpp.
Referenced by he_1trans(), and HelikeTransProbSetup().
|
static |
Definition at line 43 of file helike_einsta.cpp.
|
static |
Definition at line 43 of file helike_einsta.cpp.