/home66/gary/public_html/cloudy/c13_branch/source/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

STATIC double AngerJ ( double  vv,
double  zz 
)

Definition at line 58 of file helike_einsta.cpp.

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

Referenced by scqdri().

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 894 of file helike_einsta.cpp.

References ASSERT, EmissionProxy::Aul(), DEBUG_ENTRY, TransitionProxy::Emis(), TransitionProxy::EnergyWN(), g, TransitionProxy::Hi(), ioQQQ, ipHE_LIKE, iso_sp, TransitionProxy::Lo(), PI, POW2, t_iso_sp::QuantumNumbers2Index, t_iso_sp::st, t_iso_sp::trans(), and TRANS_PROB_CONST.

Referenced by iso_create().

Here is the call graph for this function:

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(), 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_, pow(), POW2, S_, t_isoCTRL::SmallA, t_iso_sp::st, TotalInsanity(), and t_iso_sp::trans().

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 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_, pow(), t_iso_sp::QuantumNumbers2Index, ritoa(), RYD_INF, S, scqdri(), t_isoCTRL::SmallA, TotalInsanity(), TRANS_PROB_CONST, and TransProbs.

Referenced by helike_transprob().

Here is the call graph for this function:

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, t_iso_sp::CachedAs, DEBUG_ENTRY, TransitionProxy::EnergyWN(), he_1trans(), helike_quantum_defect(), HydroEinstA(), ipHE_LIKE, IPRAD, iso_put_error(), iso_sp, L_, N_, t_iso_sp::n_HighestResolved_max, POW2, S_, and t_iso_sp::trans().

Referenced by iso_create().

Here is the call graph for this function:

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

Here is the call graph for this function:

STATIC double Jint ( double  theta  ) 

Definition at line 43 of file helike_einsta.cpp.

References PI, vJint, and zJint.

Referenced by AngerJ().

STATIC double ritoa ( long  li,
long  lf,
long  nelem,
double  k,
double  RI2 
)
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

double*** TransProbs [static]

Definition at line 25 of file helike_einsta.cpp.

Referenced by he_1trans(), and HelikeTransProbSetup().

double vJint [static]

Definition at line 40 of file helike_einsta.cpp.

Referenced by AngerJ(), and Jint().

double zJint [static]

Definition at line 40 of file helike_einsta.cpp.

Referenced by AngerJ(), and Jint().

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 15 Nov 2012 for cloudy by  doxygen 1.6.1