#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 "lines_service.h"#include "opacity.h"#include "phycon.h"#include "physconst.h"#include "rfield.h"#include "taulines.h"#include "thirdparty.h"#include "trace.h"Go to the source code of this file.
Data Structures | |
| class | my_Integrand_S62 |
| class | my_Integrand_VF01_E |
| class | my_Integrand_VF01_alpha |
Defines | |
| #define | chLine_LENGTH 1000 |
Functions | |
| STATIC double | S62_Therm_ave_coll_str (double proj_energy_overKT, long nelem, long Collider, double deltaE, double osc_strength, double temp, double stat_weight, double I_energy_eV) |
| STATIC double | collision_strength_VF01 (long ipISO, long nelem, long n, long l, long lp, long s, long Collider, double ColliderCharge, double temp, double velOrEner, bool lgParamIsRedVel) |
| STATIC double | L_mix_integrand_VF01 (long n, long l, long lp, double bmax, double red_vel, double an, double ColliderCharge, 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 nelem, double tau, double target_charge, long n, long l, double gHi, 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 const double | ColliderMass [4] = {ELECTRON_MASS/PROTON_MASS, 1.0, 4.0, 4.0} |
| static const 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 302 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, StatesElemNEW, and TotalInsanity().
Referenced by HeCSInterp().
| STATIC double collision_strength_VF01 | ( | long | ipISO, | |
| long | nelem, | |||
| long | n, | |||
| long | l, | |||
| long | lp, | |||
| long | s, | |||
| long | Collider, | |||
| double | ColliderCharge, | |||
| double | temp, | |||
| double | velOrEner, | |||
| bool | lgParamIsRedVel | |||
| ) |
Definition at line 1242 of file helike_cs.cpp.
References my_Integrand_VF01_alpha::an, ASSERT, ATOMIC_MASS_UNIT, t_dense::AtomicWeight, my_Integrand_VF01_alpha::bmax, BOHR_RADIUS_CM, BOLTZMANN, my_Integrand_VF01_alpha::ColliderCharge, ColliderMass, ConvCrossSect2CollStr(), cross_section(), DEBUG_ENTRY, dense, t_dense::eden, ELEM_CHARGE_ESU, EN1RYD, H_BAR, ipH_LIKE, ipHE_LIKE, iso, my_Integrand_VF01_alpha::l, LIMELM, my_Integrand_VF01_alpha::lp, MAX2, my_Integrand_VF01_alpha::n, PI, PI2, POW2, POW3, PROTON_MASS, t_iso::QuantumNumbers2Index, my_Integrand_VF01_alpha::red_vel, SMALLFLOAT, StatesElemNEW, Integrator< Integrand, Method >::sum(), TotalInsanity(), and t_iso::xIsoLevNIonRyd.
Referenced by CS_l_mixing_VF01(), and my_Integrand_VF01_E::operator()().
| double CS_l_mixing_PS64 | ( | long | nelem, | |
| double | tau, | |||
| double | target_charge, | |||
| long | n, | |||
| long | l, | |||
| double | gHi, | |||
| long | Collider | |||
| ) |
Definition at line 1072 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, H_BAR, MIN2, phycon, pow(), POW2, SMALLFLOAT, t_phycon::sqrte, and t_phycon::te.
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 917 of file helike_cs.cpp.
References ASSERT, my_Integrand_S62::Collider, DEBUG_ENTRY, my_Integrand_S62::deltaE, EN1EV, EVRYD, my_Integrand_S62::I_energy_eV, iso, my_Integrand_S62::nelem, my_Integrand_S62::osc_strength, POW2, my_Integrand_S62::stat_weight, StatesElemNEW, Integrator< Integrand, Method >::sum(), my_Integrand_S62::temp, TRANS_PROB_CONST, Transitions, WAVNRYD, and t_iso::xIsoLevNIonRyd.
Referenced by IonCSInterp().
| 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 1179 of file helike_cs.cpp.
References ASSERT, my_Integrand_VF01_E::Collider, ColliderCharge, my_Integrand_VF01_E::ColliderCharge, collision_strength_VF01(), DEBUG_ENTRY, dense, t_dense::eden, ipH_LIKE, my_Integrand_VF01_E::ipISO, iso, my_Integrand_VF01_E::l, t_iso::lgCS_therm_ave, my_Integrand_VF01_E::lgParamIsRedVel, my_Integrand_VF01_E::lp, my_Integrand_VF01_E::n, my_Integrand_VF01_E::nelem, my_Integrand_VF01_E::s, Integrator< Integrand, Method >::sum(), TE1RYD, and my_Integrand_VF01_E::temp.
Referenced by HydroCSInterp(), and IonCSInterp().
| void HeCollidSetup | ( | void | ) |
HeCollidSetup read in helium collision data files
Definition at line 85 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(), strchr_s(), trace, and multi_arr< T, d, ALLOC, lgBC >::zero().
Referenced by iso_create().
| 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 240 of file helike_cs.cpp.
References ASSERT, AtomCSInterp(), DEBUG_ENTRY, IonCSInterp(), ioQQQ, ipHE_LIKE, ipHELIUM, ipOXYGEN, iso, t_iso::lgColl_excite, t_iso::lgCS_Vriens, MAX2, S, and StatesElemNEW.
Referenced by AGN_He1_CS(), and iso_collide().
| realnum IonCSInterp | ( | long | nelem, | |
| long | ipHi, | |||
| long | ipLo, | |||
| realnum * | factor1, | |||
| const char ** | where, | |||
| long | Collider | |||
| ) |
Definition at line 642 of file helike_cs.cpp.
References ASSERT, CS_l_mixing_PS64(), CS_l_mixing_S62(), CS_l_mixing_VF01(), CS_VS80(), DEBUG_ENTRY, fixit(), g, 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, StatesElemNEW, t_phycon::te, TotalInsanity(), and Transitions.
Referenced by HeCSInterp().
| STATIC double L_mix_integrand_VF01 | ( | long | n, | |
| long | l, | |||
| long | lp, | |||
| double | bmax, | |||
| double | red_vel, | |||
| double | an, | |||
| double | ColliderCharge, | |||
| double | alpha | |||
| ) |
Definition at line 1393 of file helike_cs.cpp.
References ASSERT, DEBUG_ENTRY, PI, and StarkCollTransProb_VF01().
Referenced by my_Integrand_VF01_alpha::operator()().
| STATIC double S62_Therm_ave_coll_str | ( | double | proj_energy_overKT, | |
| long | nelem, | |||
| long | Collider, | |||
| double | deltaE, | |||
| double | osc_strength, | |||
| double | temp, | |||
| double | stat_weight, | |||
| double | I_energy_eV | |||
| ) |
Definition at line 962 of file helike_cs.cpp.
References ASSERT, ATOMIC_MASS_UNIT, t_dense::AtomicWeight, bessel_k0(), bessel_k1(), BOHR_RADIUS_CM, ColliderMass, ConvCrossSect2CollStr(), cross_section(), DEBUG_ENTRY, dense, EVDEGK, EVRYD, ipELECTRON, phycon, PI, pow(), POW2, and t_phycon::te.
Referenced by my_Integrand_S62::operator()().
| STATIC double StarkCollTransProb_VF01 | ( | long | n, | |
| long | l, | |||
| long | lp, | |||
| double | alpha, | |||
| double | deltaPhi | |||
| ) |
Definition at line 1420 of file helike_cs.cpp.
References ASSERT, DEBUG_ENTRY, 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().
const double ColliderCharge[4] = {1.0, 1.0, 1.0, 2.0} [static] |
Definition at line 83 of file helike_cs.cpp.
Referenced by CS_l_mixing_PS64(), and CS_l_mixing_VF01().
const double ColliderMass[4] = {ELECTRON_MASS/PROTON_MASS, 1.0, 4.0, 4.0} [static] |
Definition at line 82 of file helike_cs.cpp.
Referenced by collision_strength_VF01(), CS_l_mixing_PS64(), and S62_Therm_ave_coll_str().
1.6.1