#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 chLine_LENGTH 1000 |
Referenced by FillGFF(), GetStandardHeLines(), HeCollidSetup(), HelikeTransProbSetup(), and iso_recomb_setup().
realnum AtomCSInterp | ( | long int | nelem, | |
long int | ipHi, | |||
long int | ipLo, | |||
realnum * | factor, | |||
const char ** | where, | |||
long int | Collider | |||
) |
AtomCSInterp do the atom
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
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
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
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:
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().