|
cloudy
trunk
|
#include "cddefines.h"#include "dense.h"#include "helike.h"#include "helike_cs.h"#include "hydro_vs_rates.h"#include "iso.h"#include "phycon.h"#include "thirdparty.h"#include "thirdparty_quadpack.h"#include "trace.h"#include "freebound.h"#include "lines_service.h"#include "integrate.h"#include "vectorize.h"#include "hydroeinsta.h"
Go to the source code of this file.
Data Structures | |
| class | my_Integrand_VF01_E< P > |
| class | my_Integrand_VF01_E< P > |
| class | my_Integrand_VF01_E_log< P > |
| class | my_Integrand_S62 |
Functions | |
| STATIC realnum | HeCSTableInterp (long nelem, long Collider, long nHi, long lHi, long sHi, long jHi, long nLo, long lLo, long sLo, long jLo) |
| STATIC double | CS_l_mixing_S62 (double deltaE_eV, double IP_Ryd_ground, long gLo, double Aul, long nelem, long Collider, double temp) |
| template<class P > | |
| STATIC double | collision_strength_VF01 (long ipISO, double velOrEner, const my_Integrand_VF01_E< P > &vf) |
| double | reduced_amu (long nelem, long Collider) |
| void | HeCollidSetup (void) |
| realnum | HeCSInterp (long nelem, long ipHi, long ipLo, long Collider) |
| realnum | GetHelikeCollisionStrength (long nelem, long Collider, long nHi, long lHi, long sHi, long jHi, long gHi, double IP_Ryd_Hi, long nLo, long lLo, long sLo, long jLo, long gLo, double IP_Ryd_Lo, double Aul, double tauLo, double EnerWN, double EnerErg, const char **where) |
| STATIC double | S62BesselInvert (double zOverB2) |
| double | CS_l_mixing_PS64_expI (long nelem, double tau, double target_charge, long n, long l, double g, long lp, double deltaE_eV, long Collider) |
| double | CS_l_mixing_PS64 (long nelem, double tau, double target_charge, long n, long l, double gLo, long lp, double deltaE_eV, long Collider) |
| template<class P > | |
| double | CS_l_mixing (long ipISO, long nelem, long n, long l, long lp, long s, long gLo, double tauLo, double IP_Ryd_Hi, double IP_Ryd_Lo, double temp, long Collider) |
| double | CS_l_mixing_VF01 (long ipISO, long nelem, long n, long l, long lp, long s, long gLo, double tauLo, double IP_Ryd_Hi, double IP_Ryd_Lo, double temp, long Collider) |
| double | CS_l_mixing_VOS12QM (long ipISO, long nelem, long n, long l, long lp, long s, long gLo, double tauLo, double IP_Ryd_Hi, double IP_Ryd_Lo, double temp, long Collider) |
| double | CS_l_mixing_VOS12 (long n, long l, long lp, long nelem, double gLo, long Ztarget, long Collider, double sqrte) |
| template<class P > | |
| STATIC double | CSIntegral_QG32 (const my_Integrand_VF01_alpha< P > &func, double alphamin_int, double alphamax_int) |
| template<class P > | |
| STATIC double | CSIntegral_Romberg (long ipISO, const my_Integrand_VF01_beta< P > &func, double alphamin_int, double alphamax_int, double eps) |
| template<class P > | |
| STATIC double | CSIntegral_Romberg_alpha (long ipISO, const my_Integrand_VF01_alpha< P > &func, double alphamin_int, double alphamax_int, double eps) |
Variables | |
| vector< double > | CSTemp |
| multi_arr< realnum, 3 > | HeCS |
| static const double | ColliderCharge [4] = {1.0, 1.0, 1.0, 2.0} |
| STATIC double collision_strength_VF01 | ( | long | ipISO, |
| double | velOrEner, | ||
| const my_Integrand_VF01_E< P > & | vf | ||
| ) |
Definition at line 2167 of file helike_cs.cpp.
References ASSERT, ConvCrossSect2CollStr(), cross_section(), CSIntegral_QG32(), CSIntegral_Romberg(), CSIntegral_Romberg_alpha(), DEBUG_ENTRY, dense, dqags_(), t_dense::eden, fprintf(), ioQQQ, iso_ctrl, t_isoCTRL::lgCS_VOS12QM, t_isoCTRL::lgCS_Vrinceanu, MAX2, POW2, pow2(), SDIV(), and SMALLFLOAT.

|
inline |
Definition at line 1540 of file helike_cs.cpp.
References ASSERT, DEBUG_ENTRY, integrate::Romberg< T >::error(), integrate::Romberg< T >::evals(), fprintf(), ioQQQ, ipH_LIKE, iso_ctrl, t_isoCTRL::lgCS_Seaton, t_isoCTRL::lgCS_therm_ave, S, Integrator< Integrand, Method >::sum(), integrate::Romberg< T >::sum(), and integrate::Romberg< T >::update().

| double CS_l_mixing_PS64 | ( | long | nelem, |
| double | tau, | ||
| double | target_charge, | ||
| long | n, | ||
| long | l, | ||
| double | gLo, | ||
| long | lp, | ||
| double | deltaE_eV, | ||
| long | Collider | ||
| ) |
Definition at line 1376 of file helike_cs.cpp.
References ASSERT, BIGDOUBLE, ColliderCharge, DEBUG_ENTRY, dense, t_dense::eden, ipHE_LIKE, iso_ctrl, t_isoCTRL::lgCS_B72, t_isoCTRL::lgCS_PSdeg, MAX2, MIN2, phycon, POW2, pow2(), powpq(), reduced_amu(), SMALLFLOAT, t_phycon::sqrte, t_phycon::te, and t_dense::xIonDense.
Referenced by GetHelikeCollisionStrength(), and GetHlikeCollisionStrength().

| double CS_l_mixing_PS64_expI | ( | long | nelem, |
| double | tau, | ||
| double | target_charge, | ||
| long | n, | ||
| long | l, | ||
| double | g, | ||
| long | lp, | ||
| double | deltaE_eV, | ||
| long | Collider | ||
| ) |
Definition at line 1183 of file helike_cs.cpp.
References ASSERT, ColliderCharge, DEBUG_ENTRY, dense, e1(), t_dense::eden, ipHE_LIKE, iso_ctrl, t_isoCTRL::lgCS_B72, t_isoCTRL::lgCS_PSdeg, MAX2, min(), MIN2, phycon, pow2(), powpq(), reduced_amu(), SMALLFLOAT, t_phycon::sqrte, t_phycon::te, and t_dense::xIonDense.
Referenced by GetHelikeCollisionStrength(), and GetHlikeCollisionStrength().

| STATIC double CS_l_mixing_S62 | ( | double | deltaE_eV, |
| double | IP_Ryd_ground, | ||
| long | gLo, | ||
| double | Aul, | ||
| long | nelem, | ||
| long | Collider, | ||
| double | temp | ||
| ) |
Definition at line 1010 of file helike_cs.cpp.
References ASSERT, colliders, ConvCrossSect2CollStr(), DEBUG_ENTRY, ipELECTRON, iso_ctrl, ColliderList::list, phycon, POW2, reduced_amu(), t_isoCTRL::SmallA, VecIntegrator< Integrand, Method >::sum(), and t_phycon::te.
Referenced by GetHelikeCollisionStrength().

| double CS_l_mixing_VF01 | ( | long | ipISO, |
| long | nelem, | ||
| long | n, | ||
| long | l, | ||
| long | lp, | ||
| long | s, | ||
| long | gLo, | ||
| double | tauLo, | ||
| double | IP_Ryd_Hi, | ||
| double | IP_Ryd_Lo, | ||
| double | temp, | ||
| long | Collider | ||
| ) |
CS_l_mixing_VF01 Collision treatment based on Vrinceanu and Flannery 2001
| ipISO | |
| nelem | |
| n | |
| l | |
| lp | |
| s | |
| gLo | |
| tauLo | |
| IP_Ryd_Hi | |
| IP_Ryd_Lo | |
| temp | |
| Collider |
Definition at line 1650 of file helike_cs.cpp.
Referenced by GetHelikeCollisionStrength(), and GetHlikeCollisionStrength().
| double CS_l_mixing_VOS12 | ( | long | n, |
| long | l, | ||
| long | lp, | ||
| long | nelem, | ||
| double | gLo, | ||
| long | Ztarget, | ||
| long | Collider, | ||
| double | sqrte | ||
| ) |
CS_l_mixing_VOS12 Collision treatment based on Vrinceanu Onofrio & Sadeghpour 2012 http://adsabs.harvard.edu/abs/2012ApJ...747...56V
Definition at line 2078 of file helike_cs.cpp.
References ColliderCharge, powpq(), and reduced_amu().
Referenced by GetHelikeCollisionStrength(), and GetHlikeCollisionStrength().

| double CS_l_mixing_VOS12QM | ( | long | ipISO, |
| long | nelem, | ||
| long | n, | ||
| long | l, | ||
| long | lp, | ||
| long | s, | ||
| long | gLo, | ||
| double | tauLo, | ||
| double | IP_Ryd_Hi, | ||
| double | IP_Ryd_Lo, | ||
| double | temp, | ||
| long | Collider | ||
| ) |
CS_l_mixing_VOS12 Collision treatment based on Vrinceanu Onofrio & Sadeghpour 2012 corresponding to quantal treatment: equation (2) http://adsabs.harvard.edu/abs/2012ApJ...747...56V
Definition at line 1669 of file helike_cs.cpp.
Referenced by GetHelikeCollisionStrength(), and GetHlikeCollisionStrength().
| STATIC double CSIntegral_QG32 | ( | const my_Integrand_VF01_alpha< P > & | func, |
| double | alphamin_int, | ||
| double | alphamax_int | ||
| ) |
Definition at line 2093 of file helike_cs.cpp.
References Gaussian32, and Integrator< Integrand, Method >::sum().
Referenced by collision_strength_VF01().

| STATIC double CSIntegral_Romberg | ( | long | ipISO, |
| const my_Integrand_VF01_beta< P > & | func, | ||
| double | alphamin_int, | ||
| double | alphamax_int, | ||
| double | eps | ||
| ) |
Definition at line 2108 of file helike_cs.cpp.
References iso_ctrl, t_isoCTRL::lgCS_VOS12QM, integrate::Romberg< T >::sum(), and integrate::Romberg< T >::update().
Referenced by collision_strength_VF01().

| STATIC double CSIntegral_Romberg_alpha | ( | long | ipISO, |
| const my_Integrand_VF01_alpha< P > & | func, | ||
| double | alphamin_int, | ||
| double | alphamax_int, | ||
| double | eps | ||
| ) |
Definition at line 2138 of file helike_cs.cpp.
References iso_ctrl, t_isoCTRL::lgCS_VOS12QM, integrate::Romberg< T >::sum(), and integrate::Romberg< T >::update().
Referenced by collision_strength_VF01().

| realnum GetHelikeCollisionStrength | ( | long | nelem, |
| long | Collider, | ||
| long | nHi, | ||
| long | lHi, | ||
| long | sHi, | ||
| long | jHi, | ||
| long | gHi, | ||
| double | IP_Ryd_Hi, | ||
| long | nLo, | ||
| long | lLo, | ||
| long | sLo, | ||
| long | jLo, | ||
| long | gLo, | ||
| double | IP_Ryd_Lo, | ||
| double | Aul, | ||
| double | tauLo, | ||
| double | EnerWN, | ||
| double | EnerErg, | ||
| const char ** | where | ||
| ) |
GetHelikeCollisionStrength calculate collision strengths for any transition of He-like iso sequence
| nelem | |
| ipCollider | |
| nHi | |
| lHi | |
| sHi | |
| jHi | |
| gHi | |
| IP_Ryd_Hi | |
| nLo | |
| lLo | |
| sLo | |
| jLo | |
| gLo | |
| IP_Ryd_Lo | |
| Aul | |
| tauLo | |
| EnerWN | |
| EnerErg | |
| where |
Definition at line 434 of file helike_cs.cpp.
References ASSERT, t_dense::AtomicWeight, cdEXIT, colliders, CS_l_mixing_PS64(), CS_l_mixing_PS64_expI(), CS_l_mixing_S62(), CS_l_mixing_VF01(), CS_l_mixing_VOS12(), CS_l_mixing_VOS12QM(), CS_VS80(), DEBUG_ENTRY, dense, t_dense::eden, EXIT_FAILURE, exp10(), t_iso_sp::fb, fixit, fprintf(), HeCSTableInterp(), HydroEinstA(), ioQQQ, ipELECTRON, ipHE_LIKE, ipHELIUM, iso_ctrl, iso_sp, t_isoCTRL::lgColl_l_mixing, t_isoCTRL::lgCS_None, t_isoCTRL::lgCS_PS64, t_isoCTRL::lgCS_PSClassic, t_isoCTRL::lgCS_Seaton, t_isoCTRL::lgCS_VOS12, t_isoCTRL::lgCS_VOS12QM, t_isoCTRL::lgCS_Vriens, t_isoCTRL::lgCS_Vrinceanu, ColliderList::list, MAX2, t_isoCTRL::nCS_new, phycon, POW2, powpq(), t_phycon::sqrte, t_phycon::te, and TotalInsanity().
Referenced by HeCSInterp(), and iso_get_collision_strength_resolved().

| void HeCollidSetup | ( | void | ) |
HeCollidSetup read in helium collision data files
Definition at line 241 of file helike_cs.cpp.
References multi_arr< T, d, ALLOC, lgBC >::alloc(), ASSERT, cdEXIT, chLine_LENGTH, COLLISMAGIC, CSTemp, DEBUG_ENTRY, EXIT_FAILURE, FFmtRead(), fprintf(), ioQQQ, ipHE_LIKE, ipHELIUM, iso_sp, t_trace::lgTrace, t_iso_sp::nCollapsed_max, t_iso_sp::numLevels_max, open_data(), read_whole_line(), multi_arr< T, d, ALLOC, lgBC >::reserve(), strchr_s(), and trace.
Referenced by iso_create().

| realnum HeCSInterp | ( | long | nelem, |
| long | ipHi, | ||
| long | ipLo, | ||
| long | Collider | ||
| ) |
Definition at line 390 of file helike_cs.cpp.
References ASSERT, EmissionProxy::Aul(), DEBUG_ENTRY, TransitionProxy::Emis(), TransitionProxy::EnergyErg(), TransitionProxy::EnergyWN(), t_iso_sp::fb, GetHelikeCollisionStrength(), ipHE_LIKE, ipHELIUM, iso_ctrl, iso_sp, t_isoCTRL::lgColl_excite, t_isoCTRL::lgColl_l_mixing, LIMELM, t_iso_sp::st, and t_iso_sp::trans().
Referenced by AGN_He1_CS().

| STATIC realnum HeCSTableInterp | ( | long | nelem, |
| long | Collider, | ||
| long | nHi, | ||
| long | lHi, | ||
| long | sHi, | ||
| long | jHi, | ||
| long | nLo, | ||
| long | lLo, | ||
| long | sLo, | ||
| long | jLo | ||
| ) |
Definition at line 923 of file helike_cs.cpp.
References t_phycon::alogte, ASSERT, CSTemp, DEBUG_ENTRY, fixit, ipELECTRON, ipHe2p3P0, ipHE_LIKE, ipHELIUM, iso_sp, phycon, and t_iso_sp::QuantumNumbers2Index.
Referenced by GetHelikeCollisionStrength().
|
inline |
Definition at line 47 of file helike_cs.cpp.
References t_dense::AtomicWeight, my_Integrand_VF01_E< P >::Collider, colliders, dense, ColliderList::list, and my_Integrand_VF01_E< P >::nelem.
Referenced by CS_l_mixing_PS64(), CS_l_mixing_PS64_expI(), CS_l_mixing_S62(), CS_l_mixing_VOS12(), and my_Integrand_VF01_E< P >::my_Integrand_VF01_E().
| STATIC double S62BesselInvert | ( | double | zOverB2 | ) |
Definition at line 1054 of file helike_cs.cpp.
References ASSERT, DEBUG_ENTRY, and exp10().
Referenced by my_Integrand_S62::operator()().

|
static |
Definition at line 45 of file helike_cs.cpp.
Referenced by CS_l_mixing_PS64(), CS_l_mixing_PS64_expI(), and CS_l_mixing_VOS12().
| vector<double> CSTemp |
vector of temperatures corresponding to collision strengths stuffed into HeCS.
Definition at line 25 of file helike_cs.cpp.
Referenced by HeCollidSetup(), and HeCSTableInterp().
array of collision strengths read from data file...this is interpolated upon.
Definition at line 27 of file helike_cs.cpp.
1.8.5