helike_einsta.cpp File Reference

#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"

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


Function Documentation

static double AngerJ ( double  vv,
double  zz 
) [static]

Definition at line 68 of file helike_einsta.cpp.

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

Referenced by scqdri().

Here is the call graph for this function:

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

Here is the call graph for this function:

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 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]

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

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

Here is the call graph for this function:

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

Here is the call graph for this function:

void HelikeTransProbSetup ( void   ) 

static double Jint ( double  theta  )  [static]

Definition at line 53 of file helike_einsta.cpp.

References PI, vJint, and zJint.

Referenced by AngerJ().

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

Here is the call graph for this function:

static double ritoa ( long  li,
long  lf,
long  nelem,
double  k,
double  RI2 
) [static]

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

Here is the call graph for this function:

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


Variable Documentation

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]

Definition at line 50 of file helike_einsta.cpp.

Referenced by AngerJ(), and Jint().

double zJint [static]

Definition at line 50 of file helike_einsta.cpp.

Referenced by AngerJ(), and Jint().


Generated for cloudy by doxygen 1.5.9