#include "cddefines.h"
#include "iso.h"
#include "dense.h"
#include "helike.h"
#include "helike_cs.h"
#include "phycon.h"
#include "physconst.h"
#include "taulines.h"
#include "hydro_vs_rates.h"
#include "trace.h"
#include "ionbal.h"
#include "opacity.h"
#include "heavy.h"
#include "rfield.h"
#include "atmdat.h"
#include "thirdparty.h"
Go to the source code of this file.
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 | HeCollid (long int nelem) |
float | HeCSInterp (long int nelem, long int ipHi, long int ipLo, long int Collider) |
float | AtomCSInterp (long int nelem, long int ipHi, long int ipLo, float *factor1, const char **where, long int Collider) |
float | IonCSInterp (long nelem, long ipHi, long ipLo, float *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 nelem, long ipLo, long ipHi, long Collider) |
double | CS_l_mixing_VF01 (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_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 [3] = {ELECTRON_MASS/PROTON_MASS, 1.0, 4.0} |
float AtomCSInterp | ( | long int | nelem, | |
long int | ipHi, | |||
long int | ipLo, | |||
float * | factor, | |||
const char ** | where, | |||
long int | Collider | |||
) |
AtomCSInterp do the atom
nelem | ||
ipHi | ||
ipLo | ||
*factor | ||
**where | ||
Collider |
Definition at line 491 of file helike_cs.cpp.
References t_phycon::alogte, ASSERT, t_helike::CSTemp, DEBUG_ENTRY, t_helike::HeCS, helike, ipELECTRON, ipHe2p3P0, ipHe2p3P1, ipHe2p3P2, ipHE_LIKE, ipHELIUM, iso, t_iso::lgColl_excite, t_iso::lgColl_l_mixing, t_helike::lgSetBenjamin, Elevels::n, t_iso::nCollapsed_max, t_helike::nCS, t_iso::numLevels_max, phycon, t_iso::quant_desig, and TotalInsanity().
Referenced by HeCSInterp().
STATIC double collision_strength_VF01 | ( | double | velOrEner, | |
bool | lgParamIsRedVel | |||
) |
Definition at line 1461 of file helike_cs.cpp.
References ASSERT, ATOMIC_MASS_UNIT, t_dense::AtomicWeight, BOHR_RADIUS_CM, ColliderMass, cross_section(), DEBUG_ENTRY, DEBUG_EXIT, dense, ELEM_CHARGE_ESU, EN1RYD, global_an, global_bmax, global_Collider, global_collider_charge, global_l, global_l_prime, global_n, global_red_vel, global_s, global_z, H_BAR, ipHE_LIKE, iso, L_mix_integrand_VF01(), LIMELM, MAX2, PI, POW2, POW3, PROTON_MASS, qg32(), QuantumNumbers2Index, SMALLFLOAT, t_iso::stat, and t_iso::xIsoLevNIonRyd.
Referenced by CS_l_mixing_VF01(), and Therm_ave_coll_str_int_VF01().
double CS_l_mixing_PS64 | ( | long | nelem, | |
long | ipLo, | |||
long | ipHi, | |||
long | Collider | |||
) |
Definition at line 1305 of file helike_cs.cpp.
References ASSERT, ATOMIC_MASS_UNIT, t_dense::AtomicWeight, BIGDOUBLE, COLL_CONST, ColliderMass, DEBUG_ENTRY, DEBUG_EXIT, dense, t_dense::eden, ELECTRON_MASS, helike, ipHE_LIKE, iso, Elevels::l, t_helike::Lifetime, MIN2, Elevels::n, phycon, POW2, t_iso::quant_desig, t_phycon::sqrte, t_iso::stat, and t_phycon::te.
Referenced by IonCSInterp().
double CS_l_mixing_S62 | ( | long | ipISO, | |
long | nelem, | |||
long | ipLo, | |||
long | ipHi, | |||
double | temp, | |||
long | Collider | |||
) |
Definition at line 1149 of file helike_cs.cpp.
References ASSERT, EmLine::Aul, DEBUG_ENTRY, DEBUG_EXIT, EmisLines, EN1EV, EmLine::EnergyErg, EVRYD, global_Collider, global_deltaE, global_I_energy_eV, global_osc_str, global_stat_weight, global_temp, ipHE_LIKE, iso, POW2, qg32(), S62_Therm_ave_coll_str(), t_iso::stat, TRANS_PROB_CONST, WAVNRYD, and t_iso::xIsoLevNIonRyd.
Referenced by IonCSInterp().
double CS_l_mixing_VF01 | ( | long int | nelem, | |
long int | n, | |||
long int | l, | |||
long int | lp, | |||
long int | s, | |||
double | temp, | |||
long int | Collider | |||
) |
Collision treatment based on Vrinceanu and Flannery 2001
nelem | ||
n | ||
l | ||
lp | ||
s | ||
temp | ||
Collider |
Definition at line 1393 of file helike_cs.cpp.
References ASSERT, collision_strength_VF01(), DEBUG_ENTRY, DEBUG_EXIT, dense, t_dense::eden, global_Collider, global_collider_charge, global_l, global_l_prime, global_n, global_s, global_temp, global_z, helike, kTRyd, t_helike::lgCS_therm_ave, qg32(), TE1RYD, and Therm_ave_coll_str_int_VF01().
Referenced by IonCSInterp().
void HeCollid | ( | long int | nelem | ) |
evaluate collisional rates
nelem |
Definition at line 49 of file helike_cs.cpp.
References t_rfield::anu, ASSERT, ATOMIC_MASS_UNIT, t_dense::AtomicWeight, BIGDOUBLE, t_iso::Boltzmann, t_iso::ColIoniz, COLL_CONST, t_ADfA::coll_ion(), ColliderMass, t_ionbal::CollIonRate_Ground, EmLine::ColUL, t_iso::ConBoltz, EmLine::cs, t_helike::cs_heplus, t_helike::cs_proton, DEBUG_ENTRY, DEBUG_EXIT, dense, dsexp(), t_dense::EdenHCorr, ELECTRON_MASS, EmisLines, EN1RYD, Heavy, HeCSInterp(), helike, Hion_coll_ioniz_ratecoef(), HION_LTE_POP, hydro_vs_ioniz(), Singleton< t_ADfA >::Inst(), ionbal, ioQQQ, ipELECTRON, ipHe1s1S, ipHe2p1P, ipHe2p3P0, ipHe2p3P1, ipHe2p3P2, ipHe2s1S, ipHe2s3S, ipHE_LIKE, ipHE_PLUS, t_Heavy::ipHeavy, ipHELIUM, ipHYDROGEN, ipPROTON, iso, L_, t_opac::lgCaseB_HummerStorey, t_iso::lgColl_ionize, t_helike::lgErrGenDone, t_iso::lgLevelsLowered, t_iso::lgPopLTE_OK, t_helike::lgSetBenjamin, t_trace::lgTrace, LIMELM, MALLOC, Elevels::n, N_, t_iso::n_HighestResolved_max, t_iso::nCollapsed_max, t_iso::numLevels_max, opac, phycon, t_iso::PopLTE, t_iso::quant_desig, rfield, S_, sexp(), SMALLDOUBLE, t_phycon::sqrte, t_iso::stat, t_iso::stat_ion, t_phycon::te, t_phycon::te32, t_phycon::te_ryd, trace, t_dense::xIonDense, and t_iso::xIsoLevNIonRyd.
Referenced by HeLike().
float 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 430 of file helike_cs.cpp.
References ASSERT, AtomCSInterp(), E, helike, IonCSInterp(), ioQQQ, IPCOLLIS, ipHE_LIKE, ipHELIUM, ipOXYGEN, iso, Elevels::l, t_iso::lgColl_excite, t_helike::lgCS_Vriens, MAX2, Elevels::n, putError(), t_iso::quant_desig, and Elevels::s.
Referenced by AGN_He1_CS(), HeCollid(), and HeCreate().
float IonCSInterp | ( | long | nelem, | |
long | ipHi, | |||
long | ipLo, | |||
float * | factor1, | |||
const char ** | where, | |||
long | Collider | |||
) |
Definition at line 847 of file helike_cs.cpp.
References ASSERT, CS_l_mixing_PS64(), CS_l_mixing_S62(), CS_l_mixing_VF01(), CS_VS80(), DEBUG_ENTRY, DEBUG_EXIT, helike, Hion_colldeexc_cs(), ipCARBON, ipELECTRON, ipHe1s1S, ipHe2p3P0, ipHe2p3P1, ipHe2p3P2, ipHe2s1S, ipHe2s3S, ipHE_LIKE, ipHELIUM, iso, Elevels::l, t_iso::lgColl_excite, t_iso::lgColl_l_mixing, t_helike::lgCS_Vriens, t_helike::lgCS_Vrinceanu, LIMELM, Elevels::n, t_iso::n_HighestResolved_max, phycon, POW2, t_iso::quant_desig, Elevels::s, t_phycon::te, and TotalInsanity().
Referenced by HeCSInterp().
STATIC double L_mix_integrand_VF01 | ( | double | alpha | ) |
Definition at line 1601 of file helike_cs.cpp.
References ASSERT, DEBUG_ENTRY, DEBUG_EXIT, 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().
STATIC double S62_Therm_ave_coll_str | ( | double | EProjectile_eV | ) |
Definition at line 1190 of file helike_cs.cpp.
References ASSERT, bessel_k0(), bessel_k1(), ColliderMass, cross_section(), DEBUG_ENTRY, DEBUG_EXIT, 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().
STATIC double StarkCollTransProb_VF01 | ( | long | n, | |
long | l, | |||
long | lp, | |||
double | alpha, | |||
double | deltaPhi | |||
) |
Definition at line 1630 of file helike_cs.cpp.
References ASSERT, DEBUG_ENTRY, DEBUG_EXIT, ellpk(), PI, and POW2.
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 1448 of file helike_cs.cpp.
References collision_strength_VF01(), DEBUG_ENTRY, DEBUG_EXIT, and kTRyd.
Referenced by CS_l_mixing_VF01().
double ColliderMass[3] = {ELECTRON_MASS/PROTON_MASS, 1.0, 4.0} [static] |
Definition at line 45 of file helike_cs.cpp.
Referenced by collision_strength_VF01(), CS_l_mixing_PS64(), HeCollid(), and S62_Therm_ave_coll_str().
double global_an [static] |
Definition at line 38 of file helike_cs.cpp.
Referenced by collision_strength_VF01(), and L_mix_integrand_VF01().
double global_bmax [static] |
Definition at line 38 of file helike_cs.cpp.
Referenced by collision_strength_VF01(), and L_mix_integrand_VF01().
long int global_Collider [static] |
Definition at line 36 of file helike_cs.cpp.
Referenced by collision_strength_VF01(), CS_l_mixing_S62(), CS_l_mixing_VF01(), and S62_Therm_ave_coll_str().
double global_collider_charge [static] |
Definition at line 38 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 40 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 40 of file helike_cs.cpp.
Referenced by CS_l_mixing_S62(), and S62_Therm_ave_coll_str().
long int global_l [static] |
Definition at line 36 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 36 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 36 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 40 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 38 of file helike_cs.cpp.
Referenced by collision_strength_VF01(), and L_mix_integrand_VF01().
long int global_s [static] |
Definition at line 36 of file helike_cs.cpp.
Referenced by collision_strength_VF01(), and CS_l_mixing_VF01().
double global_stat_weight [static] |
Definition at line 40 of file helike_cs.cpp.
Referenced by CS_l_mixing_S62(), and S62_Therm_ave_coll_str().
double global_temp [static] |
Definition at line 40 of file helike_cs.cpp.
Referenced by CS_l_mixing_S62(), CS_l_mixing_VF01(), and S62_Therm_ave_coll_str().
long int global_z [static] |
Definition at line 36 of file helike_cs.cpp.
Referenced by collision_strength_VF01(), and CS_l_mixing_VF01().
double kTRyd [static] |
Definition at line 42 of file helike_cs.cpp.
Referenced by CS_l_mixing_VF01(), and Therm_ave_coll_str_int_VF01().