cloudy trunk
Loading...
Searching...
No Matches
helike_einsta.cpp File Reference
#include "cddefines.h"
#include "physconst.h"
#include "taulines.h"
#include "dense.h"
#include "trace.h"
#include "hydro_bauman.h"
#include "iso.h"
#include "helike.h"
#include "helike_einsta.h"
#include "hydroeinsta.h"
Include dependency graph for helike_einsta.cpp:

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 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)
realnum helike_transprob (long nelem, long ipHi, long ipLo)
void HelikeTransProbSetup (void)

Variables

static double *** TransProbs
static double vJint
static double zJint

Function Documentation

◆ AngerJ()

STATIC double AngerJ ( double vv,
double zz )

Definition at line 58 of file helike_einsta.cpp.

References DEBUG_ENTRY, Jint(), PI, qg32(), STATIC, vJint, and zJint.

Referenced by scqdri().

Here is the call graph for this function:

◆ DoFSMixing()

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

Parameters
nelem
ipLoSing
ipHiSing

Definition at line 894 of file helike_einsta.cpp.

References ASSERT, DEBUG_ENTRY, ioQQQ, ipHE_LIKE, iso_sp, PI, POW2, and TRANS_PROB_CONST.

Referenced by iso_create().

◆ ForbiddenAuls()

STATIC double ForbiddenAuls ( long ipHi,
long ipLo,
long nelem )
Todo
2 find a transition probability for this 2^3P0 - 2^3P1 transition. It will require a bit of trickery to insert into the rate matrix, because of the fact that the lower level has a higher index.
See discussion "Energy order within 2 3P" near the top of helike.c
Todo
2 find a transition probability for this 2^3P1 - 2^3P2 transition. It will require a bit of trickery to insert into the rate matrix, because of the fact that the lower level has a higher index.
See discussion "Energy order within 2 3P" near the top of helike.c

Definition at line 221 of file helike_einsta.cpp.

References ASSERT, DEBUG_ENTRY, eina(), 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, S_, STATIC, and TotalInsanity().

Referenced by he_1trans().

Here is the call graph for this function:

◆ 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

Parameters
nelemcharge on the C scale, 1 is helium
Enerwnenergy difference in wavenumber
Eff_nupperupper quantum numbers
Eff_nlowerlower quantum numbers
lHi
sHi
jHi
lLo
sLo
jLo

Definition at line 501 of file helike_einsta.cpp.

References ASSERT, DEBUG_ENTRY, ForbiddenAuls(), H_Einstein_A(), ioQQQ, ipHe1s1S, ipHe2p1P, ipHe2p3P0, ipHe2p3P1, ipHe2p3P2, ipHe2s1S, ipHe2s3S, ipHe3s3S, ipHE_LIKE, ipHELIUM, ipHYDROGEN, IPRAD, iso_ctrl, iso_put_error(), iso_sp, MAX2, MAX_TP_INDEX, N_, ritoa(), RYD_INF, S, scqdri(), TotalInsanity(), TRANS_PROB_CONST, and TransProbs.

Referenced by helike_transprob().

Here is the call graph for this function:

◆ helike_transprob()

realnum helike_transprob ( long nelem,
long ipHi,
long ipLo )

helike_transprob get transition probability for helium-like transition [s-1]

Parameters
nelem
ipHi
ipLo

Definition at line 1059 of file helike_einsta.cpp.

References ASSERT, DEBUG_ENTRY, he_1trans(), helike_quantum_defect(), HydroEinstA(), ipHE_LIKE, IPRAD, iso_put_error(), iso_sp, L_, N_, POW2, and S_.

Referenced by iso_create().

Here is the call graph for this function:

◆ HelikeTransProbSetup()

void HelikeTransProbSetup ( void )
Todo
2 this test is out of place, where should it go?

Definition at line 1132 of file helike_einsta.cpp.

References BadRead(), cdEXIT, chLine_LENGTH, DEBUG_ENTRY, EXIT_FAILURE, FFmtRead(), ioQQQ, ipHe1s1S, ipHELIUM, LIMELM, MALLOC, MAX_TP_INDEX, N_HE1_TRANS_PROB, open_data(), read_whole_line(), strchr_s(), trace, TRANSPROBMAGIC, and TransProbs.

Referenced by iso_create().

Here is the call graph for this function:

◆ Jint()

STATIC double Jint ( double theta)

Definition at line 43 of file helike_einsta.cpp.

References PI, STATIC, vJint, and zJint.

Referenced by AngerJ().

◆ ritoa()

STATIC double ritoa ( long li,
long lf,
long nelem,
double k,
double RI2 )

◆ scqdri()

double scqdri ( double nstar,
long int l,
double npstar,
long int lp,
double iz )

Definition at line 146 of file helike_einsta.cpp.

References AngerJ(), ASSERT, DEBUG_ENTRY, g, and PI.

Referenced by he_1trans().

Here is the call graph for this function:

Variable Documentation

◆ TransProbs

double*** TransProbs
static

Definition at line 25 of file helike_einsta.cpp.

Referenced by he_1trans(), and HelikeTransProbSetup().

◆ vJint

double vJint
static

Definition at line 40 of file helike_einsta.cpp.

Referenced by AngerJ(), and Jint().

◆ zJint

double zJint
static

Definition at line 40 of file helike_einsta.cpp.

Referenced by AngerJ(), and Jint().