cloudy trunk
|
#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 |
Macros | |
#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 | |
vector< double > | CSTemp |
multi_arr< realnum, 3 > | HeCS |
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 289 of file helike_cs.cpp.
References ASSERT, CS_l_mixing_PS64(), CS_l_mixing_S62(), CS_l_mixing_VF01(), CS_VS80(), CSTemp, DEBUG_ENTRY, g, HeCS, ipELECTRON, ipHe2p3P0, ipHe2p3P1, ipHe2p3P2, ipHE_LIKE, ipHELIUM, iso_ctrl, iso_sp, MAX2, phycon, S, 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 1229 of file helike_cs.cpp.
References my_Integrand_VF01_alpha::an, ASSERT, ATOMIC_MASS_UNIT, my_Integrand_VF01_alpha::bmax, BOHR_RADIUS_CM, BOLTZMANN, ColliderCharge, my_Integrand_VF01_alpha::ColliderCharge, ColliderMass, ConvCrossSect2CollStr(), cross_section(), DEBUG_ENTRY, dense, ELEM_CHARGE_ESU, EN1RYD, H_BAR, ipH_LIKE, ipHE_LIKE, iso_sp, my_Integrand_VF01_alpha::l, LIMELM, my_Integrand_VF01_alpha::lp, MAX2, my_Integrand_VF01_alpha::n, PI, PI2, POW2, POW3, PROTON_MASS, my_Integrand_VF01_alpha::red_vel, SMALLFLOAT, STATIC, Integrator< Integrand, Method >::sum(), and TotalInsanity().
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 1059 of file helike_cs.cpp.
References ASSERT, ATOMIC_MASS_UNIT, BIGDOUBLE, COLL_CONST, ColliderCharge, ColliderMass, DEBUG_ENTRY, dense, ELECTRON_MASS, H_BAR, MIN2, phycon, POW2, and SMALLFLOAT.
Referenced by AtomCSInterp(), HydroCSInterp(), and IonCSInterp().
double CS_l_mixing_S62 | ( | long | ipISO, |
long | nelem, | ||
long | ipLo, | ||
long | ipHi, | ||
double | temp, | ||
long | Collider ) |
Definition at line 904 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_sp, my_Integrand_S62::nelem, my_Integrand_S62::osc_strength, POW2, my_Integrand_S62::stat_weight, Integrator< Integrand, Method >::sum(), my_Integrand_S62::temp, TRANS_PROB_CONST, and WAVNRYD.
Referenced by AtomCSInterp(), and 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 1166 of file helike_cs.cpp.
References ASSERT, my_Integrand_VF01_E::Collider, ColliderCharge, my_Integrand_VF01_E::ColliderCharge, collision_strength_VF01(), DEBUG_ENTRY, dense, ipH_LIKE, my_Integrand_VF01_E::ipISO, iso_ctrl, my_Integrand_VF01_E::l, 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 AtomCSInterp(), HydroCSInterp(), and IonCSInterp().
void HeCollidSetup | ( | void | ) |
HeCollidSetup read in helium collision data files
Definition at line 90 of file helike_cs.cpp.
References ASSERT, cdEXIT, chLine_LENGTH, COLLISMAGIC, CSTemp, DEBUG_ENTRY, EXIT_FAILURE, FFmtRead(), HeCS, ioQQQ, ipHE_LIKE, ipHELIUM, iso_sp, open_data(), read_whole_line(), strchr_s(), and trace.
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 227 of file helike_cs.cpp.
References ASSERT, AtomCSInterp(), DEBUG_ENTRY, IonCSInterp(), ioQQQ, ipHE_LIKE, ipHELIUM, ipOXYGEN, iso_ctrl, iso_sp, MAX2, and S.
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 629 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_ctrl, iso_sp, LIMELM, phycon, POW2, S, and TotalInsanity().
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 1380 of file helike_cs.cpp.
References ASSERT, ColliderCharge, DEBUG_ENTRY, PI, StarkCollTransProb_VF01(), and STATIC.
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 949 of file helike_cs.cpp.
References ASSERT, ATOMIC_MASS_UNIT, bessel_k0(), bessel_k1(), BOHR_RADIUS_CM, ColliderMass, ConvCrossSect2CollStr(), cross_section(), DEBUG_ENTRY, dense, EVDEGK, EVRYD, ipELECTRON, phycon, PI, POW2, and STATIC.
Referenced by my_Integrand_S62::operator()().
STATIC double StarkCollTransProb_VF01 | ( | long int | n, |
long int | l, | ||
long int | lp, | ||
double | alpha, | ||
double | deltaPhi ) |
References STATIC.
Referenced by L_mix_integrand_VF01().
STATIC double StarkCollTransProb_VF01 | ( | long | n, |
long | l, | ||
long | lp, | ||
double | alpha, | ||
double | deltaPhi ) |
Definition at line 1407 of file helike_cs.cpp.
References ASSERT, DEBUG_ENTRY, ellpk(), PI, POW2, and STATIC.
|
static |
Definition at line 88 of file helike_cs.cpp.
Referenced by collision_strength_VF01(), CS_l_mixing_PS64(), CS_l_mixing_VF01(), and L_mix_integrand_VF01().
|
static |
Definition at line 87 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().
vector<double> CSTemp |
vector of temperatures corresponding to collision strengths stuffed into HeCS.
Definition at line 26 of file helike_cs.cpp.
Referenced by AtomCSInterp(), CS_l_mixing_PS64(), and HeCollidSetup().
array of collision strengths read from data file...this is interpolated upon.
Definition at line 28 of file helike_cs.cpp.
Referenced by AtomCSInterp(), CS_l_mixing_PS64(), and HeCollidSetup().