/home66/gary/public_html/cloudy/c08_branch/source/helike_cs.cpp File Reference

#include "cddefines.h"
#include "atmdat.h"
#include "conv.h"
#include "dense.h"
#include "helike.h"
#include "helike_cs.h"
#include "hydro_vs_rates.h"
#include "iso.h"
#include "opacity.h"
#include "phycon.h"
#include "physconst.h"
#include "rfield.h"
#include "taulines.h"
#include "thirdparty.h"
#include "trace.h"

Include dependency graph for helike_cs.cpp:

Go to the source code of this file.

Defines

#define chLine_LENGTH   1000

Functions

STATIC double S62_Therm_ave_coll_str (double EProjectile_eV)
STATIC double Therm_ave_coll_str_int_VF01 (double EProjectileRyd)
STATIC double collision_strength_VF01 (double velOrEner, bool lgParamIsRedVel)
STATIC double L_mix_integrand_VF01 (double alpha)
STATIC double StarkCollTransProb_VF01 (long int n, long int l, long int lp, double alpha, double deltaPhi)
void HeCollidSetup (void)
realnum HeCSInterp (long int nelem, long int ipHi, long int ipLo, long int Collider)
realnum AtomCSInterp (long int nelem, long int ipHi, long int ipLo, realnum *factor1, const char **where, long int Collider)
realnum IonCSInterp (long nelem, long ipHi, long ipLo, realnum *factor1, const char **where, long Collider)
double CS_l_mixing_S62 (long ipISO, long nelem, long ipLo, long ipHi, double temp, long Collider)
double CS_l_mixing_PS64 (long ipISO, long nelem, long ipLo, long ipHi, long Collider)
double CS_l_mixing_VF01 (long int ipISO, long int nelem, long int n, long int l, long int lp, long int s, double temp, long int Collider)
STATIC double StarkCollTransProb_VF01 (long n, long l, long lp, double alpha, double deltaPhi)

Variables

static long int global_ipISO
static long int global_n
static long int global_l
static long int global_l_prime
static long int global_s
static long int global_z
static long int global_Collider
static double global_bmax
static double global_red_vel
static double global_an
static double global_collider_charge
static double global_I_energy_eV
static double global_deltaE
static double global_temp
static double global_osc_str
static double global_stat_weight
static double kTRyd
static double ColliderMass [4] = {ELECTRON_MASS/PROTON_MASS, 1.0, 4.0, 4.0}
static double ColliderCharge [4] = {1.0, 1.0, 1.0, 2.0}


Define Documentation

#define chLine_LENGTH   1000

Referenced by FillGFF(), GetStandardHeLines(), HeCollidSetup(), HelikeTransProbSetup(), and iso_recomb_setup().


Function Documentation

realnum AtomCSInterp ( long int  nelem,
long int  ipHi,
long int  ipLo,
realnum factor,
const char **  where,
long int  Collider 
)

AtomCSInterp do the atom

Parameters:
nelem 
ipHi 
ipLo 
*factor 
**where 
Collider 

Definition at line 263 of file helike_cs.cpp.

References t_phycon::alogte, ASSERT, t_iso::CSTemp, DEBUG_ENTRY, t_iso::HeCS, ipELECTRON, ipHe2p3P0, ipHe2p3P1, ipHe2p3P2, ipHE_LIKE, ipHELIUM, iso, t_iso::lgColl_excite, t_iso::lgColl_l_mixing, t_iso::nCollapsed_max, t_iso::nCS, t_iso::numLevels_max, phycon, StatesElem, and TotalInsanity().

Referenced by HeCSInterp().

Here is the call graph for this function:

STATIC double collision_strength_VF01 ( double  velOrEner,
bool  lgParamIsRedVel 
)

Definition at line 1204 of file helike_cs.cpp.

References ASSERT, ATOMIC_MASS_UNIT, t_dense::AtomicWeight, BOHR_RADIUS_CM, BOLTZMANN, ColliderCharge, ColliderMass, cross_section(), DEBUG_ENTRY, dense, t_dense::eden, ELEM_CHARGE_ESU, EN1RYD, global_an, global_bmax, global_Collider, global_collider_charge, global_ipISO, global_l, global_l_prime, global_n, global_red_vel, global_s, global_temp, global_z, H_BAR, ipH_LIKE, ipHE_LIKE, iso, L_mix_integrand_VF01(), LIMELM, MAX2, PI, PI2, POW2, POW3, PROTON_MASS, qg32(), t_iso::QuantumNumbers2Index, SMALLFLOAT, StatesElem, TotalInsanity(), and t_iso::xIsoLevNIonRyd.

Referenced by CS_l_mixing_VF01(), and Therm_ave_coll_str_int_VF01().

Here is the call graph for this function:

double CS_l_mixing_PS64 ( long  ipISO,
long  nelem,
long  ipLo,
long  ipHi,
long  Collider 
)

Definition at line 1025 of file helike_cs.cpp.

References ASSERT, ATOMIC_MASS_UNIT, t_dense::AtomicWeight, BIGDOUBLE, COLL_CONST, ColliderCharge, ColliderMass, DEBUG_ENTRY, dense, t_dense::eden, ELECTRON_MASS, ipH1s, ipH_LIKE, MIN2, phycon, POW2, SMALLFLOAT, t_phycon::sqrte, StatesElem, t_phycon::te, and Transitions.

Referenced by HydroCSInterp(), and IonCSInterp().

double CS_l_mixing_S62 ( long  ipISO,
long  nelem,
long  ipLo,
long  ipHi,
double  temp,
long  Collider 
)

Definition at line 868 of file helike_cs.cpp.

References ASSERT, DEBUG_ENTRY, EN1EV, EVRYD, global_Collider, global_deltaE, global_I_energy_eV, global_osc_str, global_stat_weight, global_temp, iso, POW2, qg32(), S62_Therm_ave_coll_str(), StatesElem, TRANS_PROB_CONST, Transitions, WAVNRYD, and t_iso::xIsoLevNIonRyd.

Referenced by IonCSInterp().

Here is the call graph for this function:

double CS_l_mixing_VF01 ( long int  ipISO,
long int  nelem,
long int  n,
long int  l,
long int  lp,
long int  s,
double  temp,
long int  Collider 
)

CS_l_mixing_VF01 Collision treatment based on Vrinceanu and Flannery 2001

Parameters:
ipISO 
nelem 
n 
l 
lp 
s 
temp 
Collider 

Definition at line 1133 of file helike_cs.cpp.

References ASSERT, ColliderCharge, collision_strength_VF01(), DEBUG_ENTRY, dense, t_dense::eden, global_Collider, global_collider_charge, global_ipISO, global_l, global_l_prime, global_n, global_s, global_temp, global_z, ipH_LIKE, iso, kTRyd, t_iso::lgCS_therm_ave, qg32(), TE1RYD, and Therm_ave_coll_str_int_VF01().

Referenced by HydroCSInterp(), and IonCSInterp().

Here is the call graph for this function:

void HeCollidSetup ( void   ) 

HeCollidSetup read in helium collision data files

Todo:
2 - this structure is currently only used for helium itself... stuff numbers in for other elements, or drop the [nelem] dimension off of iso.HeCS[ipISO]

Definition at line 43 of file helike_cs.cpp.

References cdEXIT, chLine_LENGTH, COLLISMAGIC, t_iso::CSTemp, DEBUG_ENTRY, dense, FFmtRead(), HE1CSARRAY, t_iso::HeCS, INPUT_LINE_LENGTH, ioQQQ, ipHe1s1S, ipHe2s3S, ipHE_LIKE, ipHELIUM, iso, t_dense::lgElmtOn, t_trace::lgTrace, LIMELM, t_iso::nCollapsed_max, t_iso::nCS, NISO, t_iso::numLevels_max, open_data(), read_whole_line(), and trace.

Here is the call graph for this function:

realnum HeCSInterp ( long int  nelem,
long int  ipHi,
long int  ipLo,
long int  Collider 
)

HeCSInterp interpolate on He1 collision strengths

Parameters:
nelem 
ipHi 
ipLo 
Collider 

Definition at line 198 of file helike_cs.cpp.

References ASSERT, AtomCSInterp(), DEBUG_ENTRY, IonCSInterp(), ioQQQ, IPCOLLIS, ipHE_LIKE, ipHELIUM, ipOXYGEN, iso, iso_put_error(), t_iso::lgColl_excite, t_iso::lgCS_Vriens, MAX2, S, and StatesElem.

Referenced by AGN_He1_CS(), and iso_collide().

Here is the call graph for this function:

realnum IonCSInterp ( long  nelem,
long  ipHi,
long  ipLo,
realnum factor1,
const char **  where,
long  Collider 
)

Definition at line 598 of file helike_cs.cpp.

References ASSERT, CS_l_mixing_PS64(), CS_l_mixing_S62(), CS_l_mixing_VF01(), CS_VS80(), DEBUG_ENTRY, fixit(), ipELECTRON, ipHe1s1S, ipHe2p3P0, ipHe2p3P1, ipHe2p3P2, ipHe2s1S, ipHe2s3S, ipHE_LIKE, ipHELIUM, iso, t_iso::lgColl_excite, t_iso::lgColl_l_mixing, t_iso::lgCS_Vriens, t_iso::lgCS_Vrinceanu, LIMELM, t_iso::n_HighestResolved_max, phycon, POW2, StatesElem, t_phycon::te, TotalInsanity(), and Transitions.

Referenced by HeCSInterp().

Here is the call graph for this function:

STATIC double L_mix_integrand_VF01 ( double  alpha  ) 

Definition at line 1358 of file helike_cs.cpp.

References ASSERT, DEBUG_ENTRY, global_an, global_bmax, global_collider_charge, global_l, global_l_prime, global_n, global_red_vel, PI, and StarkCollTransProb_VF01().

Referenced by collision_strength_VF01().

Here is the call graph for this function:

STATIC double S62_Therm_ave_coll_str ( double  EProjectile_eV  ) 

Definition at line 912 of file helike_cs.cpp.

References ASSERT, bessel_k0(), bessel_k1(), ColliderMass, cross_section(), DEBUG_ENTRY, EVDEGK, EVRYD, global_Collider, global_deltaE, global_I_energy_eV, global_osc_str, global_stat_weight, global_temp, ipELECTRON, phycon, PI, POW2, and t_phycon::te.

Referenced by CS_l_mixing_S62().

Here is the call graph for this function:

STATIC double StarkCollTransProb_VF01 ( long  n,
long  l,
long  lp,
double  alpha,
double  deltaPhi 
)

Definition at line 1385 of file helike_cs.cpp.

References ASSERT, DEBUG_ENTRY, ellpk(), PI, and POW2.

Here is the call graph for this function:

STATIC double StarkCollTransProb_VF01 ( long int  n,
long int  l,
long int  lp,
double  alpha,
double  deltaPhi 
)

Referenced by L_mix_integrand_VF01().

STATIC double Therm_ave_coll_str_int_VF01 ( double  EProjectileRyd  ) 

Definition at line 1193 of file helike_cs.cpp.

References collision_strength_VF01(), DEBUG_ENTRY, and kTRyd.

Referenced by CS_l_mixing_VF01().

Here is the call graph for this function:


Variable Documentation

double ColliderCharge[4] = {1.0, 1.0, 1.0, 2.0} [static]

Definition at line 41 of file helike_cs.cpp.

Referenced by collision_strength_VF01(), CS_l_mixing_PS64(), and CS_l_mixing_VF01().

double ColliderMass[4] = {ELECTRON_MASS/PROTON_MASS, 1.0, 4.0, 4.0} [static]

Definition at line 40 of file helike_cs.cpp.

Referenced by collision_strength_VF01(), CS_l_mixing_PS64(), hydro_vs_coll_str(), iso_collide(), and S62_Therm_ave_coll_str().

double global_an [static]

Definition at line 35 of file helike_cs.cpp.

Referenced by collision_strength_VF01(), and L_mix_integrand_VF01().

double global_bmax [static]

Definition at line 35 of file helike_cs.cpp.

Referenced by collision_strength_VF01(), and L_mix_integrand_VF01().

long int global_Collider [static]

Definition at line 34 of file helike_cs.cpp.

Referenced by collision_strength_VF01(), CS_l_mixing_S62(), CS_l_mixing_VF01(), CS_VS80(), hydro_vs_coll_str(), and S62_Therm_ave_coll_str().

double global_collider_charge [static]

Definition at line 35 of file helike_cs.cpp.

Referenced by collision_strength_VF01(), CS_l_mixing_VF01(), and L_mix_integrand_VF01().

double global_deltaE [static]

Definition at line 36 of file helike_cs.cpp.

Referenced by CS_l_mixing_S62(), CS_PercivalRichards78(), CS_ThermAve_PR78(), and S62_Therm_ave_coll_str().

double global_I_energy_eV [static]

Definition at line 36 of file helike_cs.cpp.

Referenced by CS_l_mixing_S62(), and S62_Therm_ave_coll_str().

long int global_ipISO [static]

Definition at line 34 of file helike_cs.cpp.

Referenced by collision_strength_VF01(), CS_l_mixing_VF01(), CS_PercivalRichards78(), CS_ThermAve_PR78(), CS_VS80(), and hydro_vs_coll_str().

long int global_l [static]

Definition at line 34 of file helike_cs.cpp.

Referenced by collision_strength_VF01(), CS_l_mixing_VF01(), and L_mix_integrand_VF01().

long int global_l_prime [static]

Definition at line 34 of file helike_cs.cpp.

Referenced by collision_strength_VF01(), CS_l_mixing_VF01(), and L_mix_integrand_VF01().

long int global_n [static]

Definition at line 34 of file helike_cs.cpp.

Referenced by collision_strength_VF01(), CS_l_mixing_VF01(), and L_mix_integrand_VF01().

double global_osc_str [static]

Definition at line 36 of file helike_cs.cpp.

Referenced by CS_l_mixing_S62(), and S62_Therm_ave_coll_str().

double global_red_vel [static]

Definition at line 35 of file helike_cs.cpp.

Referenced by collision_strength_VF01(), and L_mix_integrand_VF01().

long int global_s [static]

Definition at line 34 of file helike_cs.cpp.

Referenced by collision_strength_VF01(), and CS_l_mixing_VF01().

double global_stat_weight [static]

Definition at line 36 of file helike_cs.cpp.

Referenced by CS_l_mixing_S62(), and S62_Therm_ave_coll_str().

double global_temp [static]

Definition at line 36 of file helike_cs.cpp.

Referenced by collision_strength_VF01(), CS_l_mixing_S62(), CS_l_mixing_VF01(), CS_VS80(), S62_Therm_ave_coll_str(), and Therm_ave_coll_str_int_VS80().

long int global_z [static]

Definition at line 34 of file helike_cs.cpp.

Referenced by collision_strength_VF01(), and CS_l_mixing_VF01().

double kTRyd [static]

Definition at line 37 of file helike_cs.cpp.

Referenced by CS_l_mixing_VF01(), CS_ThermAve_PR78(), helike_radrecomb_from_cross_section(), hlike_radrecomb_from_cross_section(), RecomInt(), Therm_ave_coll_str_int_PR78(), and Therm_ave_coll_str_int_VF01().


Generated on Mon Feb 16 12:06:50 2009 for cloudy by  doxygen 1.4.7