/home66/gary/public_html/cloudy/c10_branch/source/helike_cs.cpp File Reference

#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"
Include dependency graph for helike_cs.cpp:

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 Documentation

#define chLine_LENGTH   1000

Function Documentation

realnum AtomCSInterp ( long int  nelem,
long int  ipHi,
long int  ipLo,
realnum factor,
const char **  where,
long int  Collider 
)

AtomCSInterp do the atom

Parameters:
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().

Here is the call graph for this function:

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 
)
double CS_l_mixing_PS64 ( long  nelem,
double  tau,
double  target_charge,
long  n,
long  l,
double  gHi,
long  Collider 
)
double CS_l_mixing_S62 ( long  ipISO,
long  nelem,
long  ipLo,
long  ipHi,
double  temp,
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 
)
void HeCollidSetup ( void   ) 

HeCollidSetup read in helium collision data files

Todo:
2 - this structure is currently only used for helium itself... stuff numbers in for other elements, or drop the [nelem] dimension off of iso.HeCS[ipISO]

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().

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

Parameters:
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().

Here is the call graph for this function:

realnum IonCSInterp ( long  nelem,
long  ipHi,
long  ipLo,
realnum factor1,
const char **  where,
long  Collider 
)
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()().

Here is the call graph for this function:

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 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.

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().


Variable Documentation

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().

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 15 Nov 2012 for cloudy by  doxygen 1.6.1