cloudy  trunk
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Macros | Functions | Variables
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.

Macros

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

Macro Definition Documentation

#define chLine_LENGTH   1000

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 
)
double CS_l_mixing_PS64 ( long  ipISO,
long  nelem,
long  ipLo,
long  ipHi,
long  Collider 
)
double CS_l_mixing_S62 ( long  ipISO,
long  nelem,
long  ipLo,
long  ipHi,
double  temp,
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 
)

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 multi_arr< T, d, ALLOC, lgBC >::alloc(), ASSERT, 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(), multi_arr< T, d, ALLOC, lgBC >::reserve(), trace, and multi_arr< T, d, ALLOC, lgBC >::zero().

Referenced by iso_create().

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

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


Generated for cloudy by doxygen 1.8.4